aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/autoload')
-rw-r--r--runtime/autoload/provider/clipboard.vim22
-rw-r--r--runtime/autoload/provider/node.vim9
-rw-r--r--runtime/autoload/provider/python.vim4
-rw-r--r--runtime/autoload/provider/python3.vim4
-rw-r--r--runtime/autoload/provider/ruby.vim8
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')