mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +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
|
||||
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?)
|
||||
|
||||
|
@@ -6,7 +6,14 @@
|
||||
|
||||
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.
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user