blob: a035032af523622b954ae5ca46818afd85472d34 (
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
|
function! lsp_settings#profile#load_local() abort
try
let l:root = lsp#utils#find_nearest_parent_directory('.', '.vim-lsp-settings')
if !empty(l:root) && filereadable(l:root . '/settings.json')
let l:settings = json_decode(join(readfile(l:root . '/settings.json'), "\n"))
if has_key(g:, 'lsp_settings')
call lsp_settings#utils#merge(g:lsp_settings, l:settings)
else
let g:lsp_settings = l:settings
endif
endif
catch
endtry
endfunction
function! lsp_settings#profile#edit_local() abort
let l:root = lsp_settings#root_path(['.vim-lsp-settings'])
if !isdirectory(l:root)
return
endif
let l:root .= '/.vim-lsp-settings'
if !isdirectory(l:root)
call mkdir(l:root)
endif
exe 'new' l:root . '/settings.json'
if !filereadable(l:root . '/settings.json')
call setline(1, ['{', "\t", '}'])
call cursor([2, 2])
setlocal nomodified
endif
endfunction
|