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.

(cherry picked from commit b4906577c9)

Co-authored-by: Sathya Pramodh <94102031+sathya-pramodh@users.noreply.github.com>
This commit is contained in:
neovim-backports[bot]
2025-03-30 08:09:07 +08:00
committed by GitHub
parent fcee5df0fc
commit 649bce6e73
5 changed files with 8 additions and 8 deletions

View File

@ -5,11 +5,11 @@
if exists('g:loaded_clipboard_provider') if exists('g:loaded_clipboard_provider')
finish finish
endif endif
" Default to 1. provider#clipboard#Executable() may set 2. " Default to 0. provider#clipboard#Executable() may set 2.
" To force a reload: " To force a reload:
" :unlet g:loaded_clipboard_provider " :unlet g:loaded_clipboard_provider
" :runtime autoload/provider/clipboard.vim " :runtime autoload/provider/clipboard.vim
let g:loaded_clipboard_provider = 1 let g:loaded_clipboard_provider = 0
let s:copy = {} let s:copy = {}
let s:paste = {} let s:paste = {}
@ -284,4 +284,4 @@ function! provider#clipboard#Call(method, args) abort
endfunction endfunction
" eval_has_provider() decides based on this variable. " 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

View File

@ -1,7 +1,7 @@
if exists('g:loaded_node_provider') if exists('g:loaded_node_provider')
finish finish
endif endif
let g:loaded_node_provider = 1 let g:loaded_node_provider = 0
function! s:is_minimum_version(version, min_version) abort function! s:is_minimum_version(version, min_version) abort
if empty(a:version) if empty(a:version)
@ -152,7 +152,7 @@ endfunction
let s:err = '' let s:err = ''
let [s:prog, s:_] = provider#node#Detect() 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 if g:loaded_node_provider != 2
let s:err = 'Cannot find the "neovim" node package. Try :checkhealth' let s:err = 'Cannot find the "neovim" node package. Try :checkhealth'

View File

@ -11,5 +11,5 @@ function! provider#perl#Require(host) abort
endfunction endfunction
let s:prog = v:lua.vim.provider.perl.detect() 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() call v:lua.require'vim.provider.perl'.start()

View File

@ -11,5 +11,5 @@ function! provider#python3#Require(host) abort
endfunction endfunction
let s:prog = v:lua.vim.provider.python.detect_by_module('neovim') 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() call v:lua.require'vim.provider.python'.start()

View File

@ -11,6 +11,6 @@ function! provider#ruby#Call(method, args) abort
endfunction endfunction
let s:prog = v:lua.vim.provider.ruby.detect() 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' let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
call v:lua.require'vim.provider.ruby'.start(s:plugin_path) call v:lua.require'vim.provider.ruby'.start(s:plugin_path)