mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +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.
(cherry picked from commit b4906577c9)
Co-authored-by: Sathya Pramodh <94102031+sathya-pramodh@users.noreply.github.com>
			
			
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							fcee5df0fc
						
					
				
				
					commit
					649bce6e73
				
			@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user