mirror of
https://github.com/neovim/neovim.git
synced 2025-10-10 03:46:31 +00:00
provider: g:loaded_xx_provider=2 means "enabled and working"
Value of 1 cannot be used, because users might set that in their vimrc to _disable_ a provider, which would confuse :checkhealth and has().
This commit is contained in:
@@ -5,11 +5,11 @@
|
|||||||
if exists('g:loaded_clipboard_provider')
|
if exists('g:loaded_clipboard_provider')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
" Default to FALSE. Set by provider#clipboard#Executable() later.
|
" Default to 1. 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 = 0
|
let g:loaded_clipboard_provider = 1
|
||||||
|
|
||||||
let s:copy = {}
|
let s:copy = {}
|
||||||
let s:paste = {}
|
let s:paste = {}
|
||||||
@@ -197,4 +197,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())
|
let g:loaded_clipboard_provider = empty(provider#clipboard#Executable()) ? 1 : 2
|
||||||
|
@@ -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 = 0
|
let g:loaded_node_provider = 1
|
||||||
|
|
||||||
function! s:is_minimum_version(version, min_major, min_minor) abort
|
function! s:is_minimum_version(version, min_major, min_minor) abort
|
||||||
if empty(a:version)
|
if empty(a:version)
|
||||||
@@ -140,9 +140,9 @@ endfunction
|
|||||||
|
|
||||||
let s:err = ''
|
let s:err = ''
|
||||||
let s:prog = provider#node#Detect()
|
let s:prog = provider#node#Detect()
|
||||||
let g:loaded_node_provider = !empty(s:prog)
|
let g:loaded_node_provider = empty(s:prog) ? 1 : 2
|
||||||
|
|
||||||
if !g:loaded_node_provider
|
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'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ if exists('g:loaded_python_provider')
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let [s:prog, s:err] = provider#pythonx#Detect(2)
|
let [s:prog, s:err] = provider#pythonx#Detect(2)
|
||||||
let g:loaded_python_provider = !empty(s:prog)
|
let g:loaded_python_provider = empty(s:prog) ? 1 : 2
|
||||||
|
|
||||||
function! provider#python#Prog() abort
|
function! provider#python#Prog() abort
|
||||||
return s:prog
|
return s:prog
|
||||||
|
@@ -8,7 +8,7 @@ if exists('g:loaded_python3_provider')
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let [s:prog, s:err] = provider#pythonx#Detect(3)
|
let [s:prog, s:err] = provider#pythonx#Detect(3)
|
||||||
let g:loaded_python3_provider = !empty(s:prog)
|
let g:loaded_python3_provider = empty(s:prog) ? 1 : 2
|
||||||
|
|
||||||
function! provider#python3#Prog() abort
|
function! provider#python3#Prog() abort
|
||||||
return s:prog
|
return s:prog
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
if exists('g:loaded_ruby_provider')
|
if exists('g:loaded_ruby_provider')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_ruby_provider = 0
|
let g:loaded_ruby_provider = 1
|
||||||
|
|
||||||
function! provider#ruby#Detect() abort
|
function! provider#ruby#Detect() abort
|
||||||
return s:prog
|
return s:prog
|
||||||
@@ -62,9 +62,9 @@ endfunction
|
|||||||
let s:err = ''
|
let s:err = ''
|
||||||
let s:prog = s:detect()
|
let s:prog = s:detect()
|
||||||
let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
|
let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
|
||||||
let g:loaded_ruby_provider = !empty(s:prog)
|
let g:loaded_ruby_provider = empty(s:prog) ? 1 : 2
|
||||||
|
|
||||||
if !g:loaded_ruby_provider
|
if g:loaded_ruby_provider != 2
|
||||||
let s:err = 'Cannot find the neovim RubyGem. Try :checkhealth'
|
let s:err = 'Cannot find the neovim RubyGem. Try :checkhealth'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -106,12 +106,12 @@ in eval.c:
|
|||||||
- eval_call_provider(name, method, arguments): calls provider#{name}#Call
|
- eval_call_provider(name, method, arguments): calls provider#{name}#Call
|
||||||
with the method and arguments.
|
with the method and arguments.
|
||||||
- eval_has_provider(name): Checks the `g:loaded_{name}_provider` variable
|
- eval_has_provider(name): Checks the `g:loaded_{name}_provider` variable
|
||||||
which must be set by the provider script to indicate whether it is enabled
|
which must be set to 2 by the provider script to indicate that it is
|
||||||
and working. Called by |has()| to check if features are available.
|
"enabled and working". Called by |has()| to check if features are available.
|
||||||
|
|
||||||
For example, the Python provider is implemented by the
|
For example, the Python provider is implemented by the
|
||||||
"autoload/provider/python.vim" script, which sets `g:loaded_python_provider`
|
"autoload/provider/python.vim" script, which sets `g:loaded_python_provider`
|
||||||
to TRUE only if a valid external Python host is found. Then `has("python")`
|
to 2 only if a valid external Python host is found. Then `has("python")`
|
||||||
reflects whether Python support is working.
|
reflects whether Python support is working.
|
||||||
|
|
||||||
*provider-reload*
|
*provider-reload*
|
||||||
|
@@ -68,11 +68,11 @@ startup faster. Useful for working with virtualenvs. >
|
|||||||
<
|
<
|
||||||
*g:loaded_python_provider*
|
*g:loaded_python_provider*
|
||||||
To disable Python 2 support: >
|
To disable Python 2 support: >
|
||||||
let g:loaded_python_provider = 1
|
let g:loaded_python_provider = 0
|
||||||
<
|
<
|
||||||
*g:loaded_python3_provider*
|
*g:loaded_python3_provider*
|
||||||
To disable Python 3 support: >
|
To disable Python 3 support: >
|
||||||
let g:loaded_python3_provider = 1
|
let g:loaded_python3_provider = 0
|
||||||
|
|
||||||
|
|
||||||
PYTHON VIRTUALENVS ~
|
PYTHON VIRTUALENVS ~
|
||||||
@@ -111,7 +111,7 @@ Run |:checkhealth| to see if your system is up-to-date.
|
|||||||
RUBY PROVIDER CONFIGURATION ~
|
RUBY PROVIDER CONFIGURATION ~
|
||||||
*g:loaded_ruby_provider*
|
*g:loaded_ruby_provider*
|
||||||
To disable Ruby support: >
|
To disable Ruby support: >
|
||||||
let g:loaded_ruby_provider = 1
|
let g:loaded_ruby_provider = 0
|
||||||
<
|
<
|
||||||
*g:ruby_host_prog*
|
*g:ruby_host_prog*
|
||||||
Command to start the Ruby host. By default this is "neovim-ruby-host". With
|
Command to start the Ruby host. By default this is "neovim-ruby-host". With
|
||||||
@@ -142,7 +142,7 @@ Run |:checkhealth| to see if your system is up-to-date.
|
|||||||
NODEJS PROVIDER CONFIGURATION~
|
NODEJS PROVIDER CONFIGURATION~
|
||||||
*g:loaded_node_provider*
|
*g:loaded_node_provider*
|
||||||
To disable Node.js support: >
|
To disable Node.js support: >
|
||||||
:let g:loaded_node_provider = 1
|
:let g:loaded_node_provider = 0
|
||||||
<
|
<
|
||||||
*g:node_host_prog*
|
*g:node_host_prog*
|
||||||
Command to start the Node.js host. Setting this makes startup faster.
|
Command to start the Node.js host. Setting this makes startup faster.
|
||||||
|
@@ -23996,7 +23996,9 @@ bool eval_has_provider(const char *provider)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (tv.v_type == VAR_NUMBER) ? !!tv.vval.v_number : false;
|
return (tv.v_type == VAR_NUMBER)
|
||||||
|
? 2 == tv.vval.v_number // Value of 2 means "loaded and working".
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Writes "<sourcing_name>:<sourcing_lnum>" to `buf[bufsize]`.
|
/// Writes "<sourcing_name>:<sourcing_lnum>" to `buf[bufsize]`.
|
||||||
|
@@ -1,2 +1,2 @@
|
|||||||
" A dummy test provider
|
" A dummy test provider
|
||||||
let g:loaded_brokencall_provider = 1
|
let g:loaded_brokencall_provider = 2
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
let g:loaded_clipboard_provider = 1
|
let g:loaded_clipboard_provider = 2
|
||||||
|
|
||||||
let g:test_clip = { '+': [''], '*': [''], }
|
let g:test_clip = { '+': [''], '*': [''], }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user