diff options
author | thinca <thinca@gmail.com> | 2019-12-31 22:57:15 +0900 |
---|---|---|
committer | thinca <thinca@gmail.com> | 2019-12-31 23:17:26 +0900 |
commit | fef383ee4daca1b856d7f001b6696bb210a1442c (patch) | |
tree | d81979018c0296bf8e320c24b9166a36438fd8c6 | |
parent | 319f7ad838e62a182ccff654c832d63733ed3719 (diff) | |
download | vim-lsp-settings-fef383ee4daca1b856d7f001b6696bb210a1442c.tar.gz vim-lsp-settings-fef383ee4daca1b856d7f001b6696bb210a1442c.tar.bz2 vim-lsp-settings-fef383ee4daca1b856d7f001b6696bb210a1442c.zip |
Add g:lsp_settings_servers_dir option
-rw-r--r-- | README.md | 7 | ||||
-rw-r--r-- | autoload/lsp_settings.vim | 3 | ||||
-rw-r--r-- | plugin/lsp_settings.vim | 6 |
3 files changed, 10 insertions, 6 deletions
@@ -22,12 +22,13 @@ You need to install both [vim-lsp](https://github.com/prabirshrestha/vim-lsp) an ### Notice -If you use plugin manager that is merging plugins (ex. dein), Please setting stop merging work(ex. dein / merged = 0). +If you use plugin manager that is merging plugins (ex. dein), Please setting stop merging work(ex. dein / merged = 0) or set `g:lsp_settings_servers_dir` option to a different directory from the vim-lsp's default. _reason_: -Servers are installed in ./servers directory at the caching area. -But when rebuild the cache, any merging plugin manager erases old cached files(include ./servers and server execute files) before install. +Servers are installed in `./servers` directory at the caching area in default. +But when rebuild the cache, any merging plugin manager erases old cached files(include `./servers` and server execute files) before install. +You can change the directory to install servers by set `g:lsp_settings_servers_dir` option in full path. ## Usage diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 1685bce..f8c145d 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -50,7 +50,8 @@ function! lsp_settings#exec_path(cmd) abort if type(l:paths) == type([]) let l:paths = join(l:paths, ',') . ',' endif - let l:paths .= s:servers_dir . '/' . a:cmd + let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir) + let l:paths .= l:servers_dir . '/' . a:cmd if !has('win32') return s:first_one(globpath(l:paths, a:cmd)) endif diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 23146a6..ea95bb9 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -16,7 +16,8 @@ function! s:executable(cmd) abort if type(l:paths) == type([]) let l:paths = join(l:paths, ',') endif - let l:paths .= ',' . s:servers_dir . '/' . a:cmd + let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir) + let l:paths .= ',' . l:servers_dir . '/' . a:cmd if !has('win32') return !empty(globpath(l:paths, a:cmd)) endif @@ -97,7 +98,8 @@ endfunction function! s:vimlsp_install_server() abort let l:entry = s:vimlsp_installer() - let l:server_install_dir = s:servers_dir . '/' . l:entry[0] + let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir) + let l:server_install_dir = l:servers_dir . '/' . l:entry[0] if isdirectory(l:server_install_dir) call delete(l:server_install_dir, 'rf') endif |