Poissible to specify settings value with lambda.

Fixes #118
This commit is contained in:
Yasuhiro Matsumoto
2020-01-30 19:15:46 +09:00
parent 8a75f94bbb
commit 3db5a74ca9
2 changed files with 5 additions and 0 deletions

View File

@@ -102,6 +102,9 @@ function! lsp_settings#get(name, key, default) abort
endif
return a:default
endif
if type(l:config[a:key]) == v:t_func
return l:config[a:key](a:name, a:key)
endif
return l:config[a:key]
endfunction

View File

@@ -4,6 +4,8 @@ Describe lsp_settings
Assert Equals(lsp_settings#get('pyls', 'cmd', 'bad'), 'bad')
let g:lsp_settings = {'pyls': {'cmd': 'good'}}
Assert Equals(lsp_settings#get('pyls', 'cmd', 'bad'), 'good')
let g:lsp_settings = {'pyls': {'cmd': {key,name->'good'}}}
Assert Equals(lsp_settings#get('pyls', 'cmd', 'bad'), 'good')
unlet g:lsp_settings
End