mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
fix(provider): misleading :checkhealth if user sets g:loaded_python3_provider=1 #32696
Problem: :checkhealth shows a confusing message if user sets g:loaded_python3_provider=1. Solution: - Show a warning if that var is set to 1. - Update provider modules to default to 0. Any user code that is checking for 1, is like already broken because these may be set to 2.
This commit is contained in:
@ -5,11 +5,11 @@
|
||||
if exists('g:loaded_clipboard_provider')
|
||||
finish
|
||||
endif
|
||||
" Default to 1. provider#clipboard#Executable() may set 2.
|
||||
" Default to 0. provider#clipboard#Executable() may set 2.
|
||||
" To force a reload:
|
||||
" :unlet g:loaded_clipboard_provider
|
||||
" :runtime autoload/provider/clipboard.vim
|
||||
let g:loaded_clipboard_provider = 1
|
||||
let g:loaded_clipboard_provider = 0
|
||||
|
||||
let s:copy = {}
|
||||
let s:paste = {}
|
||||
@ -284,4 +284,4 @@ function! provider#clipboard#Call(method, args) abort
|
||||
endfunction
|
||||
|
||||
" eval_has_provider() decides based on this variable.
|
||||
let g:loaded_clipboard_provider = empty(provider#clipboard#Executable()) ? 1 : 2
|
||||
let g:loaded_clipboard_provider = empty(provider#clipboard#Executable()) ? 0 : 2
|
||||
|
@ -1,7 +1,7 @@
|
||||
if exists('g:loaded_node_provider')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_node_provider = 1
|
||||
let g:loaded_node_provider = 0
|
||||
|
||||
function! s:is_minimum_version(version, min_version) abort
|
||||
if empty(a:version)
|
||||
@ -152,7 +152,7 @@ endfunction
|
||||
|
||||
let s:err = ''
|
||||
let [s:prog, s:_] = provider#node#Detect()
|
||||
let g:loaded_node_provider = empty(s:prog) ? 1 : 2
|
||||
let g:loaded_node_provider = empty(s:prog) ? 0 : 2
|
||||
|
||||
if g:loaded_node_provider != 2
|
||||
let s:err = 'Cannot find the "neovim" node package. Try :checkhealth'
|
||||
|
@ -11,5 +11,5 @@ function! provider#perl#Require(host) abort
|
||||
endfunction
|
||||
|
||||
let s:prog = v:lua.vim.provider.perl.detect()
|
||||
let g:loaded_perl_provider = empty(s:prog) ? 1 : 2
|
||||
let g:loaded_perl_provider = empty(s:prog) ? 0 : 2
|
||||
call v:lua.require'vim.provider.perl'.start()
|
||||
|
@ -11,5 +11,5 @@ function! provider#python3#Require(host) abort
|
||||
endfunction
|
||||
|
||||
let s:prog = v:lua.vim.provider.python.detect_by_module('neovim')
|
||||
let g:loaded_python3_provider = empty(s:prog) ? 1 : 2
|
||||
let g:loaded_python3_provider = empty(s:prog) ? 0 : 2
|
||||
call v:lua.require'vim.provider.python'.start()
|
||||
|
@ -11,6 +11,6 @@ function! provider#ruby#Call(method, args) abort
|
||||
endfunction
|
||||
|
||||
let s:prog = v:lua.vim.provider.ruby.detect()
|
||||
let g:loaded_ruby_provider = empty(s:prog) ? 1 : 2
|
||||
let g:loaded_ruby_provider = empty(s:prog) ? 0 : 2
|
||||
let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
|
||||
call v:lua.require'vim.provider.ruby'.start(s:plugin_path)
|
||||
|
@ -110,6 +110,16 @@ local function check_config()
|
||||
)
|
||||
end
|
||||
|
||||
if vim.g.loaded_python3_provider == 1 then
|
||||
ok = false
|
||||
health.error(
|
||||
'`g:loaded_python3_provider=1` may have been set by mistake. This option should not be used to load python provider in your config.',
|
||||
{
|
||||
'Remove `vim.g.loaded_python3_provider=1` from your config.',
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
local writeable = true
|
||||
local shadaopt = vim.fn.split(vim.o.shada, ',')
|
||||
local shadafile = (
|
||||
|
Reference in New Issue
Block a user