diff options
56 files changed, 79 insertions, 60 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 9c83760..7fee88f 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -87,6 +87,17 @@ function! s:vim_lsp_installer(ft, ...) abort return [] endfunction +function! lsp_settings#server_config(name) abort + for l:ft in sort(keys(s:settings)) + for l:conf in s:settings[l:ft] + if l:conf.command ==# a:name && has_key(l:conf, 'config') + return l:conf['config'] + endif + endfor + endfor + return {} +endfunction + function! lsp_settings#get(name, key, default) abort let l:config = get(g:, 'lsp_settings', {}) if !has_key(l:config, a:name) @@ -349,10 +360,10 @@ function! s:vim_lsp_load_or_suggest(ft) abort if get(g:, 'lsp_loaded', 0) for l:server in s:settings[a:ft] - let l:refresh_pattern = get(l:server, 'refresh_pattern', '') + let l:config = lsp_settings#server_config(l:server.command) + let l:refresh_pattern = get(l:config, 'refresh_pattern', '') if !empty(l:refresh_pattern) let b:asyncomplete_refresh_pattern = l:refresh_pattern - let b:vim_lsp_refresh_pattern = l:refresh_pattern endif endfor endif diff --git a/settings.json b/settings.json index 769c79d..751e03a 100644 --- a/settings.json +++ b/settings.json @@ -63,8 +63,10 @@ ], "css": [ { - "refresh_pattern": "\\([a-zA-Z0-9_-]\\+\\)$", "command": "css-languageserver", + "config": { + "refresh_pattern": "\\([a-zA-Z0-9_-]\\+\\)$" + }, "requires": [ "npm" ] @@ -210,8 +212,10 @@ ], "html": [ { - "refresh_pattern": "\\(/\\|k\\+\\)$", "command": "html-languageserver", + "config": { + "refresh_pattern": "\\(/\\|k\\+\\)$" + }, "requires": [ "npm" ] @@ -255,8 +259,10 @@ ], "json": [ { - "refresh_pattern": "\\(\"\\k*\\|\\[\\|\\k\\+\\)$", "command": "json-languageserver", + "config": { + "refresh_pattern": "\\(\"\\k*\\|\\[\\|\\k\\+\\)$" + }, "requires": [ "npm" ] @@ -382,8 +388,10 @@ ], "ps1": [ { - "refresh_pattern": "\\(\\$[a-zA-Z0-9_:]*\\|\\k\\+\\)$", "command": "powershell-languageserver", + "config": { + "refresh_pattern": "\\(\\$[a-zA-Z0-9_:]*\\|\\k\\+\\)$" + }, "requires": [ "pwsh" ], diff --git a/settings/analysis-server-dart-snapshot.vim b/settings/analysis-server-dart-snapshot.vim index 8012b92..abdaff9 100644 --- a/settings/analysis-server-dart-snapshot.vim +++ b/settings/analysis-server-dart-snapshot.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_analysis_server_dart_snapshot \ 'initialization_options': lsp_settings#get('analysis-server-dart-snapshot', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('analysis-server-dart-snapshot', 'whitelist', ['dart']), \ 'blacklist': lsp_settings#get('analysis-server-dart-snapshot', 'blacklist', []), - \ 'config': lsp_settings#get('analysis-server-dart-snapshot', 'config', {}), + \ 'config': lsp_settings#get('analysis-server-dart-snapshot', 'config', lsp_settings#server_config('analysis-server-dart-snapshot')), \ 'workspace_config': lsp_settings#get('analysis-server-dart-snapshot', 'workspace_config', {}), \ } augroup END diff --git a/settings/apex-jorje-lsp.vim b/settings/apex-jorje-lsp.vim index 46bbeab..1c4446a 100644 --- a/settings/apex-jorje-lsp.vim +++ b/settings/apex-jorje-lsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_apex_jorje_lsp \ 'initialization_options': lsp_settings#get('apex-jorje-lsp', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('apex-jorje-lsp', 'whitelist', ['apex']), \ 'blacklist': lsp_settings#get('apex-jorje-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('apex-jorje-lsp', 'config', {}), + \ 'config': lsp_settings#get('apex-jorje-lsp', 'config', lsp_settings#server_config('apex-jorje-lsp')), \ 'workspace_config': lsp_settings#get('apex-jorje-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/bash-language-server.vim b/settings/bash-language-server.vim index 2abf906..bf7a800 100644 --- a/settings/bash-language-server.vim +++ b/settings/bash-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_bash_language_server \ 'initialization_options': lsp_settings#get('bash-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('bash-language-server', 'whitelist', ['sh']), \ 'blacklist': lsp_settings#get('bash-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('bash-language-server', 'config', {}), + \ 'config': lsp_settings#get('bash-language-server', 'config', lsp_settings#server_config('bash-language-server')), \ 'workspace_config': lsp_settings#get('bash-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/cl-lsp.vim b/settings/cl-lsp.vim index e613350..0cca588 100644 --- a/settings/cl-lsp.vim +++ b/settings/cl-lsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_cl_lsp \ 'initialization_options': lsp_settings#get('cl-lsp', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('cl-lsp', 'whitelist', ['lisp']), \ 'blacklist': lsp_settings#get('cl-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('cl-lsp', 'config', {}), + \ 'config': lsp_settings#get('cl-lsp', 'config', lsp_settings#server_config('cl-lsp')), \ 'workspace_config': lsp_settings#get('cl-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/clangd.vim b/settings/clangd.vim index 4a48686..82b31b9 100644 --- a/settings/clangd.vim +++ b/settings/clangd.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_clangd \ 'initialization_options': lsp_settings#get('clangd', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('clangd', 'whitelist', ['c', 'cpp', 'objc', 'objcpp']), \ 'blacklist': lsp_settings#get('clangd', 'blacklist', []), - \ 'config': lsp_settings#get('clangd', 'config', {}), + \ 'config': lsp_settings#get('clangd', 'config', lsp_settings#server_config('clangd')), \ 'workspace_config': lsp_settings#get('clangd', 'workspace_config', {}), \ } augroup END diff --git a/settings/clojure-lsp.vim b/settings/clojure-lsp.vim index babacbe..464683a 100644 --- a/settings/clojure-lsp.vim +++ b/settings/clojure-lsp.vim @@ -8,7 +8,7 @@ augroup vimlsp_settings_clojure_lsp \ 'initialization_options': lsp_settings#get('clojure-lsp', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('clojure-lsp', 'whitelist', ['clojure']), \ 'blacklist': lsp_settings#get('clojure-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('clojure-lsp', 'config', {}), + \ 'config': lsp_settings#get('clojure-lsp', 'config', lsp_settings#server_config('clojure-lsp')), \ 'workspace_config': lsp_settings#get('clojure-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/cobol-language-support.vim b/settings/cobol-language-support.vim index a7768b8..c06be88 100644 --- a/settings/cobol-language-support.vim +++ b/settings/cobol-language-support.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_cobol_language_support \ 'initialization_options': lsp_settings#get('cobol-language-support', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('cobol-language-support', 'whitelist', ['cobol']), \ 'blacklist': lsp_settings#get('cobol-language-support', 'blacklist', []), - \ 'config': lsp_settings#get('cobol-language-support', 'config', {}), + \ 'config': lsp_settings#get('cobol-language-support', 'config', lsp_settings#server_config('cobol-language-support')), \ 'workspace_config': lsp_settings#get('cobol-language-support', 'workspace_config', {}), \ } augroup END diff --git a/settings/css-languageserver.vim b/settings/css-languageserver.vim index 3e4dc4f..ad0b583 100644 --- a/settings/css-languageserver.vim +++ b/settings/css-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_css_languageserver \ 'initialization_options': lsp_settings#get('css-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('css-languageserver', 'whitelist', ['css', 'less', 'sass']), \ 'blacklist': lsp_settings#get('css-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('css-languageserver', 'config', {}), + \ 'config': lsp_settings#get('css-languageserver', 'config', lsp_settings#server_config('css-languageserver')), \ 'workspace_config': lsp_settings#get('css-languageserver', 'workspace_config', { \ 'css': {'lint': {'validProperties': []}}, \ 'less': {'lint': {'validProperties': []}}, diff --git a/settings/digestif.vim b/settings/digestif.vim index 2fbe709..bd3db88 100644 --- a/settings/digestif.vim +++ b/settings/digestif.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_digestif \ 'initialization_options': lsp_settings#get('digestif', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('digestif', 'whitelist', ['plaintex', 'tex']), \ 'blacklist': lsp_settings#get('digestif', 'blacklist', []), - \ 'config': lsp_settings#get('digestif', 'config', {}), + \ 'config': lsp_settings#get('digestif', 'config', lsp_settings#server_config('digestif')), \ 'workspace_config': lsp_settings#get('digestif', 'workspace_config', {}), \ } augroup END diff --git a/settings/dls.vim b/settings/dls.vim index b27b1b9..909ba85 100644 --- a/settings/dls.vim +++ b/settings/dls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_dls \ 'initialization_options': lsp_settings#get('dls', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('dls', 'whitelist', ['d']), \ 'blacklist': lsp_settings#get('dls', 'blacklist', []), - \ 'config': lsp_settings#get('dls', 'config', {}), + \ 'config': lsp_settings#get('dls', 'config', lsp_settings#server_config('dls')), \ 'workspace_config': lsp_settings#get('dls', 'workspace_config', {}), \ } augroup END diff --git a/settings/docker-langserver.vim b/settings/docker-langserver.vim index 0f66feb..e34f968 100644 --- a/settings/docker-langserver.vim +++ b/settings/docker-langserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_dockerfile_language_server_nodejs \ 'initialization_options': lsp_settings#get('docker-langserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('docker-langserver', 'whitelist', ['dockerfile']), \ 'blacklist': lsp_settings#get('docker-langserver', 'blacklist', []), - \ 'config': lsp_settings#get('docker-langserver', 'config', {}), + \ 'config': lsp_settings#get('docker-langserver', 'config', lsp_settings#server_config('docker-langserver')), \ 'workspace_config': lsp_settings#get('docker-langserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/eclipse-jdt-ls.vim b/settings/eclipse-jdt-ls.vim index eeaf56e..fae08bc 100644 --- a/settings/eclipse-jdt-ls.vim +++ b/settings/eclipse-jdt-ls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_eclipse_jdt_ls \ 'initialization_options': lsp_settings#get('eclipse-jdt-ls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('eclipse-jdt-ls', 'whitelist', ['java']), \ 'blacklist': lsp_settings#get('eclipse-jdt-ls', 'blacklist', []), - \ 'config': lsp_settings#get('eclipse-jdt-ls', 'config', {}), + \ 'config': lsp_settings#get('eclipse-jdt-ls', 'config', lsp_settings#server_config('eclipse-jdt-ls')), \ 'workspace_config': lsp_settings#get('eclipse-jdt-ls', 'workspace_config', {}), \ } augroup END diff --git a/settings/efm-langserver.vim b/settings/efm-langserver.vim index 1a7c8cc..e4a85c3 100644 --- a/settings/efm-langserver.vim +++ b/settings/efm-langserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_efm_langserver \ 'initialization_options': lsp_settings#get('efm-langserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('efm-langserver', 'whitelist', ['*']), \ 'blacklist': lsp_settings#get('efm-langserver', 'blacklist', []), - \ 'config': lsp_settings#get('efm-langserver', 'config', {}), + \ 'config': lsp_settings#get('efm-langserver', 'config', lsp_settings#server_config('efm-langserver')), \ 'workspace_config': lsp_settings#get('efm-langserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/elixir-ls.vim b/settings/elixir-ls.vim index 9d58453..d824a71 100644 --- a/settings/elixir-ls.vim +++ b/settings/elixir-ls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_elixir_ls \ 'initialization_options': lsp_settings#get('elixir-ls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('elixir-ls', 'whitelist', ['elixir']), \ 'blacklist': lsp_settings#get('elixir-ls', 'blacklist', []), - \ 'config': lsp_settings#get('elixir-ls', 'config', {}), + \ 'config': lsp_settings#get('elixir-ls', 'config', lsp_settings#server_config('elixir-ls')), \ 'workspace_config': lsp_settings#get('elixir-ls', 'workspace_config', {}), \ } augroup END diff --git a/settings/elm-language-server.vim b/settings/elm-language-server.vim index 03e8c1d..3370ba4 100644 --- a/settings/elm-language-server.vim +++ b/settings/elm-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_elm_language_server \ 'initialization_options': lsp_settings#get('elm-language-server', 'initialization_options', {'elmPath': 'elm', 'runtime': 'node', 'elmFormatPath': 'elm-format', 'elmTestPath': 'elm-test'}), \ 'whitelist': lsp_settings#get('elm-language-server', 'whitelist', ['elm', 'elm.tsx']), \ 'blacklist': lsp_settings#get('elm-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('elm-language-server', 'config', {}), + \ 'config': lsp_settings#get('elm-language-server', 'config', lsp_settings#server_config('elm-language-server')), \ 'workspace_config': lsp_settings#get('elm-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/emmylua-ls.vim b/settings/emmylua-ls.vim index 0ee38ed..ce91a0f 100644 --- a/settings/emmylua-ls.vim +++ b/settings/emmylua-ls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_emmylua_ls \ 'initialization_options': lsp_settings#get('emmylua-ls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('emmylua-ls', 'whitelist', ['lua']), \ 'blacklist': lsp_settings#get('emmylua-ls', 'blacklist', []), - \ 'config': lsp_settings#get('emmylua-ls', 'config', {}), + \ 'config': lsp_settings#get('emmylua-ls', 'config', lsp_settings#server_config('emmylua-ls')), \ 'workspace_config': lsp_settings#get('emmylua-ls', 'workspace_config', {}), \ } augroup END diff --git a/settings/erlang-ls.vim b/settings/erlang-ls.vim index 115fac0..8d3d2a6 100644 --- a/settings/erlang-ls.vim +++ b/settings/erlang-ls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_erlang_ls \ 'initialization_options': lsp_settings#get('erlang-ls', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('erlang-ls', 'whitelist', ['erlang']), \ 'blacklist': lsp_settings#get('erlang-ls', 'blacklist', []), - \ 'config': lsp_settings#get('erlang-ls', 'config', {}), + \ 'config': lsp_settings#get('erlang-ls', 'config', lsp_settings#server_config('erlang-ls')), \ 'workspace_config': lsp_settings#get('erlang-ls', 'workspace_config', {}), \ } augroup END diff --git a/settings/fortls.vim b/settings/fortls.vim index e9d8f0e..b17b03e 100644 --- a/settings/fortls.vim +++ b/settings/fortls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_fortls \ 'initialization_options': lsp_settings#get('fortls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('fortls', 'whitelist', ['fortran']), \ 'blacklist': lsp_settings#get('fortls', 'blacklist', []), - \ 'config': lsp_settings#get('fortls', 'config', {}), + \ 'config': lsp_settings#get('fortls', 'config', lsp_settings#server_config('fortls')), \ 'workspace_config': lsp_settings#get('fortls', 'workspace_config', {}), \ } augroup END diff --git a/settings/fsautocomplete.vim b/settings/fsautocomplete.vim index e5208f8..e62f4bf 100644 --- a/settings/fsautocomplete.vim +++ b/settings/fsautocomplete.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_fsautocomplete \ 'initialization_options': lsp_settings#get('fsautocomplete', 'initialization_options', {'AutomaticWorkspaceInit': v:true}), \ 'whitelist': lsp_settings#get('fsautocomplete', 'whitelist', ['fsharp']), \ 'blacklist': lsp_settings#get('fsautocomplete', 'blacklist', []), - \ 'config': lsp_settings#get('fsautocomplete', 'config', {}), + \ 'config': lsp_settings#get('fsautocomplete', 'config', lsp_settings#server_config('fsautocomplete')), \ 'workspace_config': lsp_settings#get('fsautocomplete', 'workspace_config', {}), \ } augroup END diff --git a/settings/fsharp-language-server.vim b/settings/fsharp-language-server.vim index d946e98..9fbc045 100644 --- a/settings/fsharp-language-server.vim +++ b/settings/fsharp-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_fsharp_language_server \ 'initialization_options': lsp_settings#get('fsharp-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('fsharp-language-server', 'whitelist', ['fsharp']), \ 'blacklist': lsp_settings#get('fsharp-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('fsharp-language-server', 'config', {}), + \ 'config': lsp_settings#get('fsharp-language-server', 'config', lsp_settings#server_config('fsharp-language-server')), \ 'workspace_config': lsp_settings#get('fsharp-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/glslls.vim b/settings/glslls.vim index 078fc66..9dd530a 100644 --- a/settings/glslls.vim +++ b/settings/glslls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_glslls \ 'initialization_options': lsp_settings#get('glslls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('glslls', 'whitelist', ['glsl']), \ 'blacklist': lsp_settings#get('glslls', 'blacklist', []), - \ 'config': lsp_settings#get('glslls', 'config', {}), + \ 'config': lsp_settings#get('glslls', 'config', lsp_settings#server_config('glslls')), \ 'workspace_config': lsp_settings#get('glslls', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand('<sfile>:h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), \ } augroup END diff --git a/settings/gopls.vim b/settings/gopls.vim index eb7014a..80c180f 100644 --- a/settings/gopls.vim +++ b/settings/gopls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_gopls \ 'initialization_options': lsp_settings#get('gopls', 'initialization_options', {"diagnostics": v:true, 'completeUnimported': v:true}), \ 'whitelist': lsp_settings#get('gopls', 'whitelist', ['go']), \ 'blacklist': lsp_settings#get('gopls', 'blacklist', []), - \ 'config': lsp_settings#get('gopls', 'config', {}), + \ 'config': lsp_settings#get('gopls', 'config', lsp_settings#server_config('gopls')), \ 'workspace_config': lsp_settings#get('gopls', 'workspace_config', {}), \ } augroup END diff --git a/settings/gql-language-server.vim b/settings/gql-language-server.vim index 4217c4b..eb47474 100644 --- a/settings/gql-language-server.vim +++ b/settings/gql-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_gql_language_server \ 'initialization_options': lsp_settings#get('gql-language-server', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('gql-language-server', 'whitelist', ['graphql']), \ 'blacklist': lsp_settings#get('gql-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('gql-language-server', 'config', {}), + \ 'config': lsp_settings#get('gql-language-server', 'config', lsp_settings#server_config('gql-language-server')), \ 'workspace_config': lsp_settings#get('gql-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/groovy-language-server.vim b/settings/groovy-language-server.vim index b1b48da..c830939 100644 --- a/settings/groovy-language-server.vim +++ b/settings/groovy-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_groovy_language_server \ 'initialization_options': lsp_settings#get('groovy-language-server', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('groovy-language-server', 'whitelist', ['groovy']), \ 'blacklist': lsp_settings#get('groovy-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('groovy-language-server', 'config', {}), + \ 'config': lsp_settings#get('groovy-language-server', 'config', lsp_settings#server_config('groovy-language-server')), \ 'workspace_config': lsp_settings#get('groovy-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/html-languageserver.vim b/settings/html-languageserver.vim index 7855505..fd3be24 100644 --- a/settings/html-languageserver.vim +++ b/settings/html-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_html_languageserver \ 'initialization_options': lsp_settings#get('html-languageserver', 'initialization_options', {'embeddedLanguages': {'css': v:true, 'javascript': v:true}}), \ 'whitelist': lsp_settings#get('html-languageserver', 'whitelist', ['html']), \ 'blacklist': lsp_settings#get('html-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('html-languageserver', 'config', {}), + \ 'config': lsp_settings#get('html-languageserver', 'config', lsp_settings#server_config('html-languageserver')), \ 'workspace_config': lsp_settings#get('html-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/intelephense.vim b/settings/intelephense.vim index 34533ca..d53fc3b 100644 --- a/settings/intelephense.vim +++ b/settings/intelephense.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_intelephense_server \ 'initialization_options': lsp_settings#get('intelephense', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('intelephense', 'whitelist', ['php']), \ 'blacklist': lsp_settings#get('intelephense', 'blacklist', []), - \ 'config': lsp_settings#get('intelephense', 'config', {}), + \ 'config': lsp_settings#get('intelephense', 'config', lsp_settings#server_config('intelephense')), \ 'workspace_config': lsp_settings#get('intelephense', 'workspace_config', {}), \ } augroup END diff --git a/settings/javascript-typescript-stdio.vim b/settings/javascript-typescript-stdio.vim index 14762be..474b507 100644 --- a/settings/javascript-typescript-stdio.vim +++ b/settings/javascript-typescript-stdio.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_javascript_typescript_stdio \ 'initialization_options': lsp_settings#get('javascript-typescript-stdio', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('javascript-typescript-stdio', 'whitelist', ['javascript', 'javascriptreact', 'javascript.jsx']), \ 'blacklist': lsp_settings#get('javascript-typescript-stdio', 'blacklist', []), - \ 'config': lsp_settings#get('javascript-typescript-stdio', 'config', {}), + \ 'config': lsp_settings#get('javascript-typescript-stdio', 'config', lsp_settings#server_config('javascript-typescript-stdio')), \ 'workspace_config': lsp_settings#get('javascript-typescript-stdio', 'workspace_config', {}), \ } augroup END diff --git a/settings/json-languageserver.vim b/settings/json-languageserver.vim index a19b3b6..9af1d69 100644 --- a/settings/json-languageserver.vim +++ b/settings/json-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_json_languageserver \ 'initialization_options': lsp_settings#get('json-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('json-languageserver', 'whitelist', ['json', 'jsonc']), \ 'blacklist': lsp_settings#get('json-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('json-languageserver', 'config', {}), + \ 'config': lsp_settings#get('json-languageserver', 'config', lsp_settings#server_config('json-languageserver')), \ 'workspace_config': lsp_settings#get('json-languageserver', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand('<sfile>:h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), \ } augroup END diff --git a/settings/julia-language-server.vim b/settings/julia-language-server.vim index ce07288..673086d 100644 --- a/settings/julia-language-server.vim +++ b/settings/julia-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_julia_language_server \ 'initialization_options': lsp_settings#get('julia-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('julia-language-server', 'whitelist', ['julia']), \ 'blacklist': lsp_settings#get('julia-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('julia-language-server', 'config', {}), + \ 'config': lsp_settings#get('julia-language-server', 'config', lsp_settings#server_config('julia-language-server')), \ 'workspace_config': lsp_settings#get('julia-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/kotlin-language-server.vim b/settings/kotlin-language-server.vim index 4bb50bf..dce6ea3 100644 --- a/settings/kotlin-language-server.vim +++ b/settings/kotlin-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_kotlin_language_server \ 'initialization_options': lsp_settings#get('kotlin-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('kotlin-language-server', 'whitelist', ['kotlin']), \ 'blacklist': lsp_settings#get('kotlin-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('kotlin-language-server', 'config', {}), + \ 'config': lsp_settings#get('kotlin-language-server', 'config', lsp_settings#server_config('kotlin-language-server')), \ 'workspace_config': lsp_settings#get('kotlin-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/lsp4xml.vim b/settings/lsp4xml.vim index ff98996..0c6ecfb 100644 --- a/settings/lsp4xml.vim +++ b/settings/lsp4xml.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_lsp4xml \ 'initialization_options': lsp_settings#get('lsp4xml', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('lsp4xml', 'whitelist', ['xml']), \ 'blacklist': lsp_settings#get('lsp4xml', 'blacklist', []), - \ 'config': lsp_settings#get('lsp4xml', 'config', {}), + \ 'config': lsp_settings#get('lsp4xml', 'config', lsp_settings#server_config('lsp4xml')), \ 'workspace_config': lsp_settings#get('lsp4xml', 'workspace_config', {}), \ } augroup END diff --git a/settings/metals.vim b/settings/metals.vim index 376d5f5..4ffb9f8 100644 --- a/settings/metals.vim +++ b/settings/metals.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_metals \ 'initialization_options': lsp_settings#get('metals', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('metals', 'whitelist', ['scala', 'sbt']), \ 'blacklist': lsp_settings#get('metals', 'blacklist', []), - \ 'config': lsp_settings#get('metals', 'config', {}), + \ 'config': lsp_settings#get('metals', 'config', lsp_settings#server_config('metals')), \ 'workspace_config': lsp_settings#get('metals', 'workspace_config', {}), \ } augroup END diff --git a/settings/monastery.vim b/settings/monastery.vim index 0f03371..b1550af 100644 --- a/settings/monastery.vim +++ b/settings/monastery.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_monastery \ 'initialization_options': lsp_settings#get('monastery', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('monastery', 'whitelist', ['perl']), \ 'blacklist': lsp_settings#get('monastery', 'blacklist', []), - \ 'config': lsp_settings#get('monastery', 'config', {}), + \ 'config': lsp_settings#get('monastery', 'config', lsp_settings#server_config('monastery')), \ 'workspace_config': lsp_settings#get('monastery', 'workspace_config', {}), \ } augroup END diff --git a/settings/nimlsp.vim b/settings/nimlsp.vim index f467dc6..7d66769 100644 --- a/settings/nimlsp.vim +++ b/settings/nimlsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_nimlsp \ 'initialization_options': lsp_settings#get('nimlsp', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('nimlsp', 'whitelist', ['nim']), \ 'blacklist': lsp_settings#get('nimlsp', 'blacklist', []), - \ 'config': lsp_settings#get('nimlsp', 'config', {}), + \ 'config': lsp_settings#get('nimlsp', 'config', lsp_settings#server_config('nimlsp')), \ 'workspace_config': lsp_settings#get('nimlsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/omnisharp-lsp.vim b/settings/omnisharp-lsp.vim index 420ce57..50c169c 100644 --- a/settings/omnisharp-lsp.vim +++ b/settings/omnisharp-lsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_omnisharp_lsp \ 'initialization_options': lsp_settings#get('omnisharp-lsp', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('omnisharp-lsp', 'whitelist', ['cs']), \ 'blacklist': lsp_settings#get('omnisharp-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('omnisharp-lsp', 'config', {}), + \ 'config': lsp_settings#get('omnisharp-lsp', 'config', lsp_settings#server_config('omnisharp-lsp')), \ 'workspace_config': lsp_settings#get('omnisharp-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/perl-languageserver.vim b/settings/perl-languageserver.vim index 1195cc8..6c0304b 100644 --- a/settings/perl-languageserver.vim +++ b/settings/perl-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_perl_languageserver \ 'initialization_options': lsp_settings#get('perl-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('perl-languageserver', 'whitelist', ['perl']), \ 'blacklist': lsp_settings#get('perl-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('perl-languageserver', 'config', {}), + \ 'config': lsp_settings#get('perl-languageserver', 'config', lsp_settings#server_config('perl-languageserver')), \ 'workspace_config': lsp_settings#get('perl-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/powershell-languageserver.vim b/settings/powershell-languageserver.vim index 17912a5..d3eabd9 100644 --- a/settings/powershell-languageserver.vim +++ b/settings/powershell-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_powershell_languageserver \ 'initialization_options': lsp_settings#get('powershell-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('powershell-languageserver', 'whitelist', ['ps1']), \ 'blacklist': lsp_settings#get('powershell-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('solargraph', 'config', {}), + \ 'config': lsp_settings#get('powershell-languageserver', 'config', lsp_settings#server_config('powershell-languageserver')), \ 'workspace_config': lsp_settings#get('powershell-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/pyls-ms.vim b/settings/pyls-ms.vim index 437d00e..ebb2eb7 100644 --- a/settings/pyls-ms.vim +++ b/settings/pyls-ms.vim @@ -18,7 +18,7 @@ augroup vimlsp_settings_pyls_ms \ }), \ 'whitelist': lsp_settings#get('pyls-ms', 'whitelist', ['python']), \ 'blacklist': lsp_settings#get('pyls-ms', 'blacklist', []), - \ 'config': lsp_settings#get('pyls-ms', 'config', {}), + \ 'config': lsp_settings#get('pyls-ms', 'config', lsp_settings#server_config('pyls-ms')), \ 'workspace_config': lsp_settings#get('pyls-ms', 'workspace_config', { \ 'python': { \ 'analysis': { diff --git a/settings/pyls.vim b/settings/pyls.vim index 57b8e62..9f11b63 100644 --- a/settings/pyls.vim +++ b/settings/pyls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_pyls \ 'initialization_options': lsp_settings#get('pyls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('pyls', 'whitelist', ['python']), \ 'blacklist': lsp_settings#get('pyls', 'blacklist', []), - \ 'config': lsp_settings#get('pyls', 'config', {}), + \ 'config': lsp_settings#get('pyls', 'config', lsp_settings#server_config('pyls')), \ 'workspace_config': lsp_settings#get('pyls', 'workspace_config', {}), \ } augroup END diff --git a/settings/r-languageserver.vim b/settings/r-languageserver.vim index aace440..20a61ad 100644 --- a/settings/r-languageserver.vim +++ b/settings/r-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_r_languageserver \ 'initialization_options': lsp_settings#get('r-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('r-languageserver', 'whitelist', ['r']), \ 'blacklist': lsp_settings#get('r-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('r-languageserver', 'config', {}), + \ 'config': lsp_settings#get('r-languageserver', 'config', lsp_settings#server_config('r-languageserver')), \ 'workspace_config': lsp_settings#get('r-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/ra_lsp_server.vim b/settings/ra_lsp_server.vim index 5965e7e..0b15071 100644 --- a/settings/ra_lsp_server.vim +++ b/settings/ra_lsp_server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_ra_lsp_server \ 'initialization_options': lsp_settings#get('ra_lsp_server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('ra_lsp_server', 'whitelist', ['rust']), \ 'blacklist': lsp_settings#get('ra_lsp_server', 'blacklist', []), - \ 'config': lsp_settings#get('ra_lsp_server', 'config', {}), + \ 'config': lsp_settings#get('ra_lsp_server', 'config', lsp_settings#server_config('ra_lsp_server')), \ 'workspace_config': lsp_settings#get('ra_lsp_server', 'workspace_config', {}), \ } augroup END diff --git a/settings/reason-language-server.vim b/settings/reason-language-server.vim index 5f7c151..40ccf61 100644 --- a/settings/reason-language-server.vim +++ b/settings/reason-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_reason_language_server \ 'initialization_options': lsp_settings#get('reason-language-server', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('reason-language-server', 'whitelist', ['reason']), \ 'blacklist': lsp_settings#get('reason-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('reason-language-server', 'config', {}), + \ 'config': lsp_settings#get('reason-language-server', 'config', lsp_settings#server_config('reason-language-server')), \ 'workspace_config': lsp_settings#get('reason-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/rls.vim b/settings/rls.vim index 7335acb..16be745 100644 --- a/settings/rls.vim +++ b/settings/rls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_rls \ 'initialization_options': lsp_settings#get('rls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('rls', 'whitelist', ['rust']), \ 'blacklist': lsp_settings#get('rls', 'blacklist', []), - \ 'config': lsp_settings#get('rls', 'config', {}), + \ 'config': lsp_settings#get('rls', 'config', lsp_settings#server_config('rls')), \ 'workspace_config': lsp_settings#get('rls', 'workspace_config', {}), \ } augroup END diff --git a/settings/slp.vim b/settings/slp.vim index 7cb3fa2..521ff77 100644 --- a/settings/slp.vim +++ b/settings/slp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_slp \ 'initialization_options': lsp_settings#get('slp', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('slp', 'whitelist', ['perl']), \ 'blacklist': lsp_settings#get('slp', 'blacklist', []), - \ 'config': lsp_settings#get('slp', 'config', {}), + \ 'config': lsp_settings#get('slp', 'config', lsp_settings#server_config('slp')), \ 'workspace_config': lsp_settings#get('slp', 'workspace_config', {}), \ } augroup END diff --git a/settings/solargraph.vim b/settings/solargraph.vim index aa52329..9b247a9 100644 --- a/settings/solargraph.vim +++ b/settings/solargraph.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_solargraph \ 'initialization_options': lsp_settings#get('solargraph', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('solargraph', 'whitelist', ['ruby']), \ 'blacklist': lsp_settings#get('solargraph', 'blacklist', []), - \ 'config': lsp_settings#get('solargraph', 'config', {}), + \ 'config': lsp_settings#get('solargraph', 'config', lsp_settings#server_config('solargraph')), \ 'workspace_config': lsp_settings#get('solargraph', 'workspace_config', {}), \ } augroup END diff --git a/settings/sourcekit-lsp.vim b/settings/sourcekit-lsp.vim index 5232638..d3c13d1 100644 --- a/settings/sourcekit-lsp.vim +++ b/settings/sourcekit-lsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_sourcekit_lsp \ 'initialization_options': lsp_settings#get('sourcekit-lsp', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('sourcekit-lsp', 'whitelist', ['swift']), \ 'blacklist': lsp_settings#get('sourcekit-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('sourcekit-lsp', 'config', {}), + \ 'config': lsp_settings#get('sourcekit-lsp', 'config', lsp_settings#server_config('sourcekit-lsp')), \ 'workspace_config': lsp_settings#get('sourcekit-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/sql-language-server.vim b/settings/sql-language-server.vim index a82f166..891540f 100644 --- a/settings/sql-language-server.vim +++ b/settings/sql-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_sql_language_server \ 'initialization_options': lsp_settings#get('sql-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('sql-language-server', 'whitelist', ['sql']), \ 'blacklist': lsp_settings#get('sql-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('sql-language-server', 'config', {}), + \ 'config': lsp_settings#get('sql-language-server', 'config', lsp_settings#server_config('sql-language-server')), \ 'workspace_config': lsp_settings#get('sql-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/svls.vim b/settings/svls.vim index 99ad888..22477f5 100644 --- a/settings/svls.vim +++ b/settings/svls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_svls \ 'initialization_options': lsp_settings#get('svls', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('svls', 'whitelist', ['systemverilog']), \ 'blacklist': lsp_settings#get('svls', 'blacklist', []), - \ 'config': lsp_settings#get('svls', 'config', {}), + \ 'config': lsp_settings#get('svls', 'config', lsp_settings#server_config('svls')), \ 'workspace_config': lsp_settings#get('svls', 'workspace_config', {}), \ } augroup END diff --git a/settings/terraform-lsp.vim b/settings/terraform-lsp.vim index d65ac50..dba8b8d 100644 --- a/settings/terraform-lsp.vim +++ b/settings/terraform-lsp.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_terraform_lsp \ 'initialization_options': lsp_settings#get('terraform-lsp', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('terraform-lsp', 'whitelist', ['terraform']), \ 'blacklist': lsp_settings#get('terraform-lsp', 'blacklist', []), - \ 'config': lsp_settings#get('terraform-lsp', 'config', {}), + \ 'config': lsp_settings#get('terraform-lsp', 'config', lsp_settings#server_config('terraform-lsp')), \ 'workspace_config': lsp_settings#get('terraform-lsp', 'workspace_config', {}), \ } augroup END diff --git a/settings/texlab.vim b/settings/texlab.vim index f9bce25..a1a33d8 100644 --- a/settings/texlab.vim +++ b/settings/texlab.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_texlab \ 'initialization_options': lsp_settings#get('texlab', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('texlab', 'whitelist', ['plaintex', 'tex']), \ 'blacklist': lsp_settings#get('texlab', 'blacklist', []), - \ 'config': lsp_settings#get('texlab', 'config', {}), + \ 'config': lsp_settings#get('texlab', 'config', lsp_settings#server_config('texlab')), \ 'workspace_config': lsp_settings#get('texlab', 'workspace_config', {}), \ } augroup END diff --git a/settings/typescript-language-server.vim b/settings/typescript-language-server.vim index adf4838..feb487b 100644 --- a/settings/typescript-language-server.vim +++ b/settings/typescript-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_typescript_language_server \ 'initialization_options': lsp_settings#get('typescript-language-server', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('typescript-language-server', 'whitelist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx']), \ 'blacklist': lsp_settings#get('typescript-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('typescript-language-server', 'config', {}), + \ 'config': lsp_settings#get('typescript-language-server', 'config', lsp_settings#server_config('typescript-language-server')), \ 'workspace_config': lsp_settings#get('typescript-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/vim-language-server.vim b/settings/vim-language-server.vim index e31efed..fe7d53e 100644 --- a/settings/vim-language-server.vim +++ b/settings/vim-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_vim_language_server \ 'initialization_options': extend({'vimruntime': $VIMRUNTIME, 'runtimepath': &rtp}, lsp_settings#get('vim-language-server', 'initialization_options', {}), 'force'), \ 'whitelist': lsp_settings#get('vim-language-server', 'whitelist', ['vim']), \ 'blacklist': lsp_settings#get('vimbash-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('vim-language-server', 'config', {}), + \ 'config': lsp_settings#get('vim-language-server', 'config', lsp_settings#server_config('vim-language-server')), \ 'workspace_config': lsp_settings#get('vim-language-server', 'workspace_config', {}), \ } augroup END diff --git a/settings/vls.vim b/settings/vls.vim index d2c73a4..97f9659 100644 --- a/settings/vls.vim +++ b/settings/vls.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_vls \ 'initialization_options': lsp_settings#get('vls', 'initialization_options', {'config': {'vetur': {'useWorkspaceDependencies': v:false, 'validation': {'template': v:true, 'style': v:true, 'script': v:true}, 'completion': {'autoImport': v:false, 'useScaffoldSnippets': v:false, 'tagCasing': 'kebab'}, 'format': {'defaultFormatter': {'js': '', 'ts': ''}, 'defaultFormatterOptions': {}, 'scriptInitialIndent': v:false, 'styleInitialIndent': v:false}, 'dev': {'logLevel': 'DEBUG'}}, 'css': {}, 'html': {'suggest': {}}, 'javascript': {'format': {}}, 'typescript': {'format': {}}, 'emmet': {}, 'stylusSupremacy': {}}}), \ 'whitelist': lsp_settings#get('vls', 'whitelist', ['vue']), \ 'blacklist': lsp_settings#get('vls', 'blacklist', []), - \ 'config': lsp_settings#get('vls', 'config', {}), + \ 'config': lsp_settings#get('vls', 'config', lsp_settings#server_config('vls')), \ 'workspace_config': lsp_settings#get('vls', 'workspace_config', {}), \ } augroup END diff --git a/settings/yaml-language-server.vim b/settings/yaml-language-server.vim index e16abef..00734b0 100644 --- a/settings/yaml-language-server.vim +++ b/settings/yaml-language-server.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_yaml_language_server \ 'initialization_options': lsp_settings#get('yaml-language-server', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('yaml-language-server', 'whitelist', ['yaml']), \ 'blacklist': lsp_settings#get('yaml-language-server', 'blacklist', []), - \ 'config': lsp_settings#get('yaml-language-server', 'config', {}), + \ 'config': lsp_settings#get('yaml-language-server', 'config', lsp_settings#server_config('yaml-language-server')), \ 'workspace_config': lsp_settings#get('yaml-language-server', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand('<sfile>:h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), \ } augroup END |