Merge #9354 from justinmk/provider-E319

provider: repurpose E319
This commit is contained in:
Justin M. Keyes
2018-12-12 02:38:08 +01:00
committed by GitHub
6 changed files with 24 additions and 51 deletions

View File

@@ -514,15 +514,6 @@ command. The script can then again read another script. This can continue
for about 14 levels. When more nesting is done, Vim assumes that there is a
recursive loop somewhere and stops with this error message.
*E319* >
The command is not available in this version
You have used a command that is not present in the version of Vim you are
using. When compiling Vim, many different features can be enabled or
disabled. This depends on how big Vim has chosen to be and the operating
system. See |+feature-list| for when which feature is available. The
|:version| command shows which feature Vim was compiled with.
*E300* >
Swap file already exists (symlink attack?)

View File

@@ -4,14 +4,21 @@
NVIM REFERENCE MANUAL by Thiago de Arruda
Providers *provider*
Providers *provider*
Nvim delegates some features to dynamic "providers".
Nvim delegates some features to dynamic "providers". This document describes
the providers and how to install them.
*E319*
Use of a feature requiring a missing provider is an error: >
E319: No "foo" provider found. Run ":checkhealth provider"
Run the |:checkhealth| command, and review the sections below.
Type |gO| to see the table of contents.
==============================================================================
Python integration *provider-python*
Python integration *provider-python*
Nvim supports Python |remote-plugin|s and the Vim legacy |python2| and
|python3| interfaces (which are implemented as remote-plugins).

View File

@@ -1706,24 +1706,6 @@ return {
addr_type=ADDR_LINES,
func='ex_next',
},
{
command='nbkey',
flags=bit.bor(EXTRA, NOTADR, NEEDARG),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='nbclose',
flags=bit.bor(TRLBAR, CMDWIN),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='nbstart',
flags=bit.bor(WORD1, TRLBAR, CMDWIN),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='new',
flags=bit.bor(BANG, FILE1, RANGE, NOTADR, EDITCMD, ARGOPT, TRLBAR),
@@ -1958,18 +1940,6 @@ return {
addr_type=ADDR_LINES,
func='ex_previous',
},
{
command='promptfind',
flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='promptrepl',
flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='profile',
flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
@@ -3116,12 +3086,6 @@ return {
addr_type=ADDR_LINES,
func='do_wqall',
},
{
command='wsverb',
flags=bit.bor(EXTRA, NOTADR, NEEDARG),
addr_type=ADDR_LINES,
func='ex_ni',
},
{
command='wshada',
flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),

View File

@@ -3830,7 +3830,8 @@ static void script_host_execute(char *name, exarg_T *eap)
tv_list_append_number(args, (int)eap->line2);
if (!eval_has_provider(name)) {
emsgf("No \"%s\" provider found. Run \":checkhealth provider\"", name);
emsgf("E319: No \"%s\" provider found. Run \":checkhealth provider\"",
name);
} else {
(void)eval_call_provider(name, "execute", args);
}

View File

@@ -2,6 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
local eval, command, feed = helpers.eval, helpers.command, helpers.feed
local eq, clear, insert = helpers.eq, helpers.clear, helpers.insert
local expect, write_file = helpers.expect, helpers.write_file
local expect_err = helpers.expect_err
local feed_command = helpers.feed_command
local source = helpers.source
local missing_provider = helpers.missing_provider
@@ -9,7 +10,11 @@ local missing_provider = helpers.missing_provider
do
clear()
if missing_provider('python3') then
pending('Python 3 (or the neovim module) is broken/missing', function() end)
it(':python3 reports E319 if provider is missing', function()
expect_err([[Vim%(python3%):E319: No "python3" provider found.*]],
command, 'python3 print("foo")')
end)
pending('Python 3 (or the pynvim module) is broken/missing', function() end)
return
end
end

View File

@@ -8,6 +8,7 @@ local funcs = helpers.funcs
local meths = helpers.meths
local insert = helpers.insert
local expect = helpers.expect
local expect_err = helpers.expect_err
local command = helpers.command
local exc_exec = helpers.exc_exec
local write_file = helpers.write_file
@@ -17,7 +18,11 @@ local missing_provider = helpers.missing_provider
do
clear()
if missing_provider('python') then
pending('Python 2 (or the neovim module) is broken/missing', function() end)
it(':python reports E319 if provider is missing', function()
expect_err([[Vim%(python%):E319: No "python" provider found.*]],
command, 'python print("foo")')
end)
pending('Python 2 (or the pynvim module) is broken/missing', function() end)
return
end
end