diff options
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/lsp_setup.vim | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/plugin/lsp_setup.vim b/plugin/lsp_setup.vim index 8c22b00..dc5fe48 100644 --- a/plugin/lsp_setup.vim +++ b/plugin/lsp_setup.vim @@ -1,13 +1,29 @@ let s:setting_dir = expand('<sfile>:h:h').'/setting' let s:setting = json_decode(join(readfile(expand('<sfile>:h:h').'/setting.json'), "\n")) +function! s:vimlsp_settings_suggest(cmd) abort + echomsg "Do you install " . a:cmd +endfunction + function! s:vimlsp_setting() abort for l:ft in keys(s:setting) - for l:command in keys(s:setting[l:ft]) - if executable(l:command) - exe 'source' printf('%s/%s.vim', s:setting_dir, l:command) + let l:found = 0 + if empty(s:setting[l:ft]) + continue + endif + for l:server in s:setting[l:ft] + if executable(l:server.command) + exe 'source' printf('%s/%s.vim', s:setting_dir, l:server.command) + let l:found += 1 + break endif endfor + if l:found == 0 + exe printf('augroup vimlsp_suggest_%s', l:ft) + au! + exe printf('autocmd FileType %s call s:vimlsp_settings_suggest(%s)', l:ft, string(s:setting[l:ft][0].command)) + augroup END + endif endfor endfunction |