blob: 4d66b7fb5e31ed26adf4ca053d7e9864ddac0ccd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
function! lsp_settings#get(name, key, default) abort
let l:config = get(g:, 'lsp_settings_extra_paths', {})
if !has_key(l:config, a:name)
if !has_key(l:config, '*')
return a:default
endif
let l:config = l:config['*']
else
let l:config = l:config[a:name]
endif
if !has_key(l:config, a:key)
return a:default
endif
return l:config[a:key]
endfunction
function! lsp_settings#exec_path(cmd) abort
if executable(a:cmd)
return a:cmd
endif
let l:paths = get(g:, 'lsp_settings_paths', '')
if !has('win32')
return !empty(globpath(l:paths, a:cmd))
endif
let l:path = globpath(l:paths, a:cmd . '.exe')
if !empty(l:path)
return l:path
endif
let l:path = globpath(l:paths, a:cmd . '.cmd')
if !empty(l:path)
return l:path
endif
let l:path = globpath(l:paths, a:cmd . '.bat')
if !empty(l:path)
return l:path
endif
return ''
endfunction
|