diff options
Diffstat (limited to 'runtime/autoload')
-rw-r--r-- | runtime/autoload/provider/clipboard.vim | 22 | ||||
-rw-r--r-- | runtime/autoload/provider/node.vim | 9 | ||||
-rw-r--r-- | runtime/autoload/provider/python.vim | 4 | ||||
-rw-r--r-- | runtime/autoload/provider/python3.vim | 4 | ||||
-rw-r--r-- | runtime/autoload/provider/ruby.vim | 8 |
5 files changed, 20 insertions, 27 deletions
diff --git a/runtime/autoload/provider/clipboard.vim b/runtime/autoload/provider/clipboard.vim index e43f8fbb7a..9b79e5abec 100644 --- a/runtime/autoload/provider/clipboard.vim +++ b/runtime/autoload/provider/clipboard.vim @@ -1,6 +1,16 @@ " The clipboard provider uses shell commands to communicate with the clipboard. " The provider function will only be registered if a supported command is " available. + +if exists('g:loaded_clipboard_provider') + finish +endif +" Default to FALSE. Set by provider#clipboard#Executable() later. +" To force a reload: +" :unlet g:loaded_clipboard_provider +" :runtime autoload/provider/clipboard.vim +let g:loaded_clipboard_provider = 0 + let s:copy = {} let s:paste = {} let s:clipboard = {} @@ -48,9 +58,6 @@ endfunction let s:cache_enabled = 1 let s:err = '' -" eval_has_provider checks the variable to verify provider status -let g:provider#clipboard#enabled = 0 - function! provider#clipboard#Error() abort return s:err endfunction @@ -123,12 +130,6 @@ function! provider#clipboard#Executable() abort return '' endfunction -" Call this to setup/reload the provider -function! provider#clipboard#Reload() - " #enabled is used by eval_has_provider() - let g:provider#clipboard#enabled = !empty(provider#clipboard#Executable()) -endfunction - function! s:clipboard.get(reg) abort if type(s:paste[a:reg]) == v:t_func return s:paste[a:reg]() @@ -195,4 +196,5 @@ function! provider#clipboard#Call(method, args) abort endtry endfunction -call provider#clipboard#Reload() +" eval_has_provider() decides based on this variable. +let g:loaded_clipboard_provider = !empty(provider#clipboard#Executable()) diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim index 6413720605..dd2423fe2a 100644 --- a/runtime/autoload/provider/node.vim +++ b/runtime/autoload/provider/node.vim @@ -1,8 +1,7 @@ if exists('g:loaded_node_provider') finish endif -let g:loaded_node_provider = 1 -let g:provider#node#enabled = 0 +let g:loaded_node_provider = 0 function! s:is_minimum_version(version, min_major, min_minor) abort if empty(a:version) @@ -141,12 +140,10 @@ endfunction let s:err = '' let s:prog = provider#node#Detect() +let g:loaded_node_provider = !empty(s:prog) -if empty(s:prog) +if !g:loaded_node_provider let s:err = 'Cannot find the "neovim" node package. Try :checkhealth' -else - let g:provider#node#enabled = 1 endif call remote#host#RegisterPlugin('node-provider', 'node', []) - diff --git a/runtime/autoload/provider/python.vim b/runtime/autoload/provider/python.vim index d65506a55a..7921701141 100644 --- a/runtime/autoload/provider/python.vim +++ b/runtime/autoload/provider/python.vim @@ -7,10 +7,8 @@ if exists('g:loaded_python_provider') finish endif -let g:loaded_python_provider = 1 - let [s:prog, s:err] = provider#pythonx#Detect(2) -let g:provider#python#enabled = !empty(s:prog) +let g:loaded_python_provider = !empty(s:prog) function! provider#python#Prog() abort return s:prog diff --git a/runtime/autoload/provider/python3.vim b/runtime/autoload/provider/python3.vim index 469611c7ce..67350e3753 100644 --- a/runtime/autoload/provider/python3.vim +++ b/runtime/autoload/provider/python3.vim @@ -7,10 +7,8 @@ if exists('g:loaded_python3_provider') finish endif -let g:loaded_python3_provider = 1 - let [s:prog, s:err] = provider#pythonx#Detect(3) -let g:provider#python3#enabled = !empty(s:prog) +let g:loaded_python3_provider = !empty(s:prog) function! provider#python3#Prog() abort return s:prog diff --git a/runtime/autoload/provider/ruby.vim b/runtime/autoload/provider/ruby.vim index df43dffa40..f9d4f2b885 100644 --- a/runtime/autoload/provider/ruby.vim +++ b/runtime/autoload/provider/ruby.vim @@ -2,12 +2,11 @@ if exists('g:loaded_ruby_provider') finish endif -let g:loaded_ruby_provider = 1 +let g:loaded_ruby_provider = 0 function! provider#ruby#Detect() abort return s:prog endfunction -let g:provider#ruby#enabled = 0 function! provider#ruby#Prog() abort return s:prog @@ -63,11 +62,10 @@ endfunction let s:err = '' let s:prog = s:detect() let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb' +let g:loaded_ruby_provider = !empty(s:prog) -if empty(s:prog) +if !g:loaded_ruby_provider let s:err = 'Cannot find the neovim RubyGem. Try :checkhealth' -else - let g:provider#ruby#enabled = 1 endif call remote#host#RegisterClone('legacy-ruby-provider', 'ruby') |