diff options
author | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-01-22 23:58:33 +0900 |
---|---|---|
committer | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-01-22 23:58:33 +0900 |
commit | 129f123045dbb5055fd9d5c4760c5335642229c9 (patch) | |
tree | 0f98ed3c0cdff07dffb697fbd0182ae9cd8c6245 /plugin | |
parent | d2a871d1cf98fb737c39d6d49341e0eb6ac2d8ae (diff) | |
download | vim-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.vim | 9 |
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) |