diff options
author | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-01-05 00:39:23 +0900 |
---|---|---|
committer | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-01-05 00:39:23 +0900 |
commit | 3e2882279c24b3f8ef9b6a139580315025473156 (patch) | |
tree | e02143c2ef9b199bf73af0481c15a70af7d0d81e /autoload/lsp_settings.vim | |
parent | c0483f85f464f246e996d50e2a421972221271c0 (diff) | |
parent | 92ad5168f987b2c2d2197ebbb490ebcc31c37053 (diff) | |
download | vim-lsp-settings-3e2882279c24b3f8ef9b6a139580315025473156.tar.gz vim-lsp-settings-3e2882279c24b3f8ef9b6a139580315025473156.tar.bz2 vim-lsp-settings-3e2882279c24b3f8ef9b6a139580315025473156.zip |
Merge branch 'master' of git://github.com/mattn/vim-lsp-settings
Diffstat (limited to 'autoload/lsp_settings.vim')
-rw-r--r-- | autoload/lsp_settings.vim | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index f8c145d..d59d4ed 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -24,23 +24,27 @@ function! s:first_one(cmd) abort endfunction function! lsp_settings#exec_path(cmd) abort + let l:s = split(a:cmd, ':') + let l:dir = len(l:s) >= 1 ? l:s[0] : '' + let l:cmd = len(l:s) >= 2 ? l:s[1] : l:s[0] + let l:paths = split($PATH, has('win32') ? ';' : ':') let l:paths = join(l:paths, ',') - let l:path = globpath(l:paths, a:cmd) + let l:path = globpath(l:paths, l:cmd) if !has('win32') if !empty(l:path) return s:first_one(l:path) endif else - let l:path = globpath(l:paths, a:cmd . '.exe') + let l:path = globpath(l:paths, l:cmd . '.exe') if !empty(l:path) return s:first_one(l:path) endif - let l:path = globpath(l:paths, a:cmd . '.cmd') + let l:path = globpath(l:paths, l:cmd . '.cmd') if !empty(l:path) return s:first_one(l:path) endif - let l:path = globpath(l:paths, a:cmd . '.bat') + let l:path = globpath(l:paths, l:cmd . '.bat') if !empty(l:path) return s:first_one(l:path) endif @@ -51,19 +55,19 @@ function! lsp_settings#exec_path(cmd) abort let l:paths = join(l:paths, ',') . ',' endif let l:servers_dir = get(g:, 'lsp_settings_servers_dir', s:servers_dir) - let l:paths .= l:servers_dir . '/' . a:cmd + let l:paths .= l:servers_dir . '/' . l:dir if !has('win32') - return s:first_one(globpath(l:paths, a:cmd)) + return s:first_one(globpath(l:paths, l:cmd)) endif - let l:path = globpath(l:paths, a:cmd . '.exe') + let l:path = globpath(l:paths, l:cmd . '.exe') if !empty(l:path) return s:first_one(l:path) endif - let l:path = globpath(l:paths, a:cmd . '.cmd') + let l:path = globpath(l:paths, l:cmd . '.cmd') if !empty(l:path) return s:first_one(l:path) endif - let l:path = globpath(l:paths, a:cmd . '.bat') + let l:path = globpath(l:paths, l:cmd . '.bat') if !empty(l:path) return s:first_one(l:path) endif |