mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
provider: repurpose E319
In Vim (and some vestigial parts of Nvim) E319 was a placeholder for ex_ni commands, i.e. commands that are only available in certain builds of Vim. That is obviously counter to Nvim's goals: all Nvim commands are available on all platforms and build types (the remaining ex_ni commands are actually just missing providers). We need an error id for "missing provider", so it makes sense to use E319 for that purpose. ref #9344 ref #3577
This commit is contained in:
@@ -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
|
for about 14 levels. When more nesting is done, Vim assumes that there is a
|
||||||
recursive loop somewhere and stops with this error message.
|
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* >
|
*E300* >
|
||||||
Swap file already exists (symlink attack?)
|
Swap file already exists (symlink attack?)
|
||||||
|
|
||||||
|
@@ -6,7 +6,14 @@
|
|||||||
|
|
||||||
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.
|
Type |gO| to see the table of contents.
|
||||||
|
|
||||||
|
@@ -3830,7 +3830,8 @@ static void script_host_execute(char *name, exarg_T *eap)
|
|||||||
tv_list_append_number(args, (int)eap->line2);
|
tv_list_append_number(args, (int)eap->line2);
|
||||||
|
|
||||||
if (!eval_has_provider(name)) {
|
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 {
|
} else {
|
||||||
(void)eval_call_provider(name, "execute", args);
|
(void)eval_call_provider(name, "execute", args);
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
|
|||||||
local eval, command, feed = helpers.eval, helpers.command, helpers.feed
|
local eval, command, feed = helpers.eval, helpers.command, helpers.feed
|
||||||
local eq, clear, insert = helpers.eq, helpers.clear, helpers.insert
|
local eq, clear, insert = helpers.eq, helpers.clear, helpers.insert
|
||||||
local expect, write_file = helpers.expect, helpers.write_file
|
local expect, write_file = helpers.expect, helpers.write_file
|
||||||
|
local expect_err = helpers.expect_err
|
||||||
local feed_command = helpers.feed_command
|
local feed_command = helpers.feed_command
|
||||||
local source = helpers.source
|
local source = helpers.source
|
||||||
local missing_provider = helpers.missing_provider
|
local missing_provider = helpers.missing_provider
|
||||||
@@ -9,7 +10,11 @@ local missing_provider = helpers.missing_provider
|
|||||||
do
|
do
|
||||||
clear()
|
clear()
|
||||||
if missing_provider('python3') then
|
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
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -8,6 +8,7 @@ local funcs = helpers.funcs
|
|||||||
local meths = helpers.meths
|
local meths = helpers.meths
|
||||||
local insert = helpers.insert
|
local insert = helpers.insert
|
||||||
local expect = helpers.expect
|
local expect = helpers.expect
|
||||||
|
local expect_err = helpers.expect_err
|
||||||
local command = helpers.command
|
local command = helpers.command
|
||||||
local exc_exec = helpers.exc_exec
|
local exc_exec = helpers.exc_exec
|
||||||
local write_file = helpers.write_file
|
local write_file = helpers.write_file
|
||||||
@@ -17,7 +18,11 @@ local missing_provider = helpers.missing_provider
|
|||||||
do
|
do
|
||||||
clear()
|
clear()
|
||||||
if missing_provider('python') then
|
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
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user