aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2019-12-14 22:27:35 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2019-12-14 22:27:35 +0900
commita7f3d49b69adfdfa37586afbe2f9e4da960bfd2f (patch)
treeb6481e9e3307225859f32794188d3f5bd123025b /plugin
parente0fbd76b43fedf43b979fb8253f18141f98fc6be (diff)
downloadvim-lsp-settings-a7f3d49b69adfdfa37586afbe2f9e4da960bfd2f.tar.gz
vim-lsp-settings-a7f3d49b69adfdfa37586afbe2f9e4da960bfd2f.tar.bz2
vim-lsp-settings-a7f3d49b69adfdfa37586afbe2f9e4da960bfd2f.zip
Fix structure
Diffstat (limited to 'plugin')
-rw-r--r--plugin/lsp_setup.vim22
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