From 2eb802d2bd1cc13bece981d9af7752240aa33322 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sat, 18 Jan 2020 23:52:52 +0900 Subject: JSON Schemas --- autoload/lsp_settings.vim | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'autoload') diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 08a8b3e..60d29d3 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -4,6 +4,9 @@ function! lsp_settings#get(name, key, default) abort let l:config = get(g:, 'lsp_settings', {}) if !has_key(l:config, a:name) if !has_key(l:config, '*') + if type(a:default) ==# v:t_func + return a:default() + endif return a:default endif let l:config = l:config['*'] @@ -11,6 +14,9 @@ function! lsp_settings#get(name, key, default) abort let l:config = l:config[a:name] endif if !has_key(l:config, a:key) + if type(a:default) ==# v:t_func + return a:default() + endif return a:default endif return l:config[a:key] -- cgit v1.2.3-54-g00ecf From be347354f073a3f8f738add4a12281a1d78813ef Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sat, 18 Jan 2020 23:59:16 +0900 Subject: Pass name and key --- autoload/lsp_settings.vim | 4 ++-- settings/json-languageserver.vim | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'autoload') diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 60d29d3..fbe3210 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -5,7 +5,7 @@ function! lsp_settings#get(name, key, default) abort if !has_key(l:config, a:name) if !has_key(l:config, '*') if type(a:default) ==# v:t_func - return a:default() + return a:default(a:name, a:key) endif return a:default endif @@ -15,7 +15,7 @@ function! lsp_settings#get(name, key, default) abort endif if !has_key(l:config, a:key) if type(a:default) ==# v:t_func - return a:default() + return a:default(a:name, a:key) endif return a:default endif diff --git a/settings/json-languageserver.vim b/settings/json-languageserver.vim index c7ad3ae..b233342 100644 --- a/settings/json-languageserver.vim +++ b/settings/json-languageserver.vim @@ -8,6 +8,6 @@ augroup vimlsp_settings_json_languageserver \ 'whitelist': lsp_settings#get('json-languageserver', 'whitelist', ['json']), \ 'blacklist': lsp_settings#get('json-languageserver', 'blacklist', []), \ 'config': lsp_settings#get('json-languageserver', 'config', {}), - \ 'workspace_config': lsp_settings#get('json-languageserver', 'workspace_config', {->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand(':h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), + \ 'workspace_config': lsp_settings#get('json-languageserver', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand(':h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), \ } augroup END -- cgit v1.2.3-54-g00ecf