aboutsummaryrefslogtreecommitdiff
path: root/autoload/lsp_settings.vim
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2020-01-29 01:35:25 +0900
committerGitHub <noreply@github.com>2020-01-29 01:35:25 +0900
commit5d67d5b5103ce877b997852d6a67d09b24ac2bba (patch)
treec46d8744711ce3c88dfc3b771a005e01d48e503f /autoload/lsp_settings.vim
parentba7d4fd8a0af3b16eda2db3d1ca54f09e163ed4a (diff)
parentdc70753d70f0bd9891a562c76200fdfcdad1fe4b (diff)
downloadvim-lsp-settings-5d67d5b5103ce877b997852d6a67d09b24ac2bba.tar.gz
vim-lsp-settings-5d67d5b5103ce877b997852d6a67d09b24ac2bba.tar.bz2
vim-lsp-settings-5d67d5b5103ce877b997852d6a67d09b24ac2bba.zip
Merge pull request #108 from mattn/add-uninstall
Add uninstall
Diffstat (limited to 'autoload/lsp_settings.vim')
-rw-r--r--autoload/lsp_settings.vim19
1 files changed, 18 insertions, 1 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index e8419a8..536d993 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -100,7 +100,24 @@ function! lsp_settings#autocd(server_info) abort
endif
endfunction
-function! lsp_settings#complete_installer(arglead, cmdline, cursorpos) abort
+function! lsp_settings#complete_uninstall(arglead, cmdline, cursorpos) abort
+ let l:settings = json_decode(join(readfile(s:root_dir . '/settings.json'), "\n"))
+ call remove(l:settings, '$schema')
+
+ let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir)
+ let l:installers = []
+ for l:ft in keys(l:settings)
+ for l:conf in l:settings[l:ft]
+ if !isdirectory(l:servers_dir . '/' . l:conf.command)
+ continue
+ endif
+ call add(l:installers, l:conf.command)
+ endfor
+ endfor
+ return filter(l:installers, 'stridx(v:val, a:arglead) == 0')
+endfunction
+
+function! lsp_settings#complete_install(arglead, cmdline, cursorpos) abort
let l:settings = json_decode(join(readfile(s:root_dir . '/settings.json'), "\n"))
call remove(l:settings, '$schema')