Permalink
Browse files

providers: Disable if `g:loaded_*` exists.

The exists('g:loaded_foo') convention is rather common, and may be
relied upon in some cases. It's also very unlikely that a user or plugin
has any reason to set g:loaded_foo to zero, so the principle of least
surprise can be brushed aside here.

#6107 (comment)
  • Loading branch information...
justinmk committed Feb 13, 2017
1 parent 9451647 commit 2f38ed11c98a35b7abe53405d8f5f41cb1054f8f
@@ -226,12 +226,12 @@ function! s:check_python(version) abort
let pyenv_root = exists('$PYENV_ROOT') ? resolve($PYENV_ROOT) : 'n'
let venv = exists('$VIRTUAL_ENV') ? resolve($VIRTUAL_ENV) : ''
let host_prog_var = pyname.'_host_prog'
let loaded_var = 'loaded_'.pyname.'_provider'
let loaded_var = 'g:loaded_'.pyname.'_provider'
let python_bin = ''
let python_multiple = []
if get(g:, loaded_var, 0) && !exists('*provider#'.pyname.'#Call')
call health#report_info('Disabled. g:'.loaded_var.'='.get(g:, loaded_var, 0))
if exists(loaded_var) && !exists('*provider#'.pyname.'#Call')
call health#report_info('Disabled. '.loaded_var.'='.eval(loaded_var))
return
endif
@@ -415,9 +415,9 @@ endfunction
function! s:check_ruby() abort
call health#report_start('Ruby provider')
let loaded_var = 'loaded_ruby_provider'
if get(g:, loaded_var, 0) && !exists('*provider#ruby#Call')
call health#report_info('Disabled. g:'.loaded_var.'='.get(g:, loaded_var, 0))
let loaded_var = 'g:loaded_ruby_provider'
if exists(loaded_var) && !exists('*provider#ruby#Call')
call health#report_info('Disabled. '.loaded_var.'='.eval(loaded_var))
return
endif
@@ -4,7 +4,7 @@
" Associating the plugin with the Python host is the first step because plugins
" will be passed as command-line arguments
if get(g:, 'loaded_python_provider', 0)
if exists('g:loaded_python_provider')
finish
endif
let g:loaded_python_provider = 1
@@ -4,7 +4,7 @@
" Associating the plugin with the Python3 host is the first step because
" plugins will be passed as command-line arguments
if get(g:, 'loaded_python3_provider', 0)
if exists('g:loaded_python3_provider')
finish
endif
let g:loaded_python3_provider = 1
@@ -1,5 +1,5 @@
" The Ruby provider helper
if get(g:, 'loaded_ruby_provider', 0)
if exists('g:loaded_ruby_provider')
finish
endif
let g:loaded_ruby_provider = 1

0 comments on commit 2f38ed1

Please sign in to comment.