provider: improve error message if provider is missing (#9487)

Move `has_eval_provider()` check to `eval_call_provider()` to make sure that
every code path calls it first.

Previously we would, when pynvim was missing, get a nice error message for
`:python3 1`, but not for `:py3file blah`.

Fixes https://github.com/neovim/neovim/issues/9485
This commit is contained in:
Marco Hinz
2019-01-12 00:52:12 +01:00
committed by GitHub
parent 8853fca1fd
commit db3c797c6b
5 changed files with 20 additions and 12 deletions

View File

@@ -19,8 +19,9 @@ do
clear()
if missing_provider('ruby') then
it(':ruby reports E319 if provider is missing', function()
expect_err([[Vim%(ruby%):E319: No "ruby" provider found.*]],
command, 'ruby puts "foo"')
local expected = [[Vim%(ruby.*%):E319: No "ruby" provider found.*]]
expect_err(expected, command, 'ruby puts "foo"')
expect_err(expected, command, 'rubyfile foo')
end)
pending("Missing neovim RubyGem.", function() end)
return