aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2020-01-22 23:58:33 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2020-01-22 23:58:33 +0900
commit129f123045dbb5055fd9d5c4760c5335642229c9 (patch)
tree0f98ed3c0cdff07dffb697fbd0182ae9cd8c6245 /plugin
parentd2a871d1cf98fb737c39d6d49341e0eb6ac2d8ae (diff)
downloadvim-lsp-settings-129f123045dbb5055fd9d5c4760c5335642229c9.tar.gz
vim-lsp-settings-129f123045dbb5055fd9d5c4760c5335642229c9.tar.bz2
vim-lsp-settings-129f123045dbb5055fd9d5c4760c5335642229c9.zip
Use fallback
Diffstat (limited to 'plugin')
-rw-r--r--plugin/lsp_settings.vim9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim
index dcf4a3d..ee25582 100644
--- a/plugin/lsp_settings.vim
+++ b/plugin/lsp_settings.vim
@@ -206,19 +206,22 @@ function! s:vimlsp_load_or_suggest(ft) abort
endif
if !s:executable(l:command)
let l:script = printf('%s/%s.vim', s:checkers_dir, l:server.command)
- if !filereadable(l:script) || get(l:server, 'disabled', 0) == 1
+ if !filereadable(l:script) || has_key(l:server, 'fallback')
continue
endif
+ let l:server['fallback'] = ''
try
exe 'source' l:script
let l:command = LspCheckCommand()
+ let l:server['fallback'] = l:command
catch
- continue
finally
- let l:server['disabled'] = 1
if exists('*LspCheckCommand')
delfunction LspCheckCommand
endif
+ if empty(l:server['fallback'])
+ continue
+ endif
endtry
endif
let l:script = printf('%s/%s.vim', s:settings_dir, l:server.command)