mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-15 19:45:46 +08:00
feat(lsp): add override_client_cmds
This commit is contained in:
parent
c419e47591
commit
9bd2294131
@ -43,6 +43,7 @@ endif
|
|||||||
let s:NVIM_VERSION = SpaceVim#api#import('neovim#version')
|
let s:NVIM_VERSION = SpaceVim#api#import('neovim#version')
|
||||||
let s:FILE = SpaceVim#api#import('file')
|
let s:FILE = SpaceVim#api#import('file')
|
||||||
let s:enabled_clients = []
|
let s:enabled_clients = []
|
||||||
|
let s:override_client_cmds = {}
|
||||||
|
|
||||||
function! SpaceVim#layers#lsp#health() abort
|
function! SpaceVim#layers#lsp#health() abort
|
||||||
call SpaceVim#layers#lsp#plugins()
|
call SpaceVim#layers#lsp#plugins()
|
||||||
@ -90,6 +91,12 @@ end
|
|||||||
|
|
||||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||||
-- map buffer local keybindings when the language server attaches
|
-- map buffer local keybindings when the language server attaches
|
||||||
|
local override_client_cmds = require('spacevim').eval('s:override_client_cmds')
|
||||||
|
for client, override_cmd in ipairs(override_client_cmds) do
|
||||||
|
nvim_lsp[client].setup {
|
||||||
|
cmd = override_cmd,
|
||||||
|
}
|
||||||
|
end
|
||||||
local servers = require('spacevim').eval('s:enabled_clients')
|
local servers = require('spacevim').eval('s:enabled_clients')
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
nvim_lsp[lsp].setup {
|
nvim_lsp[lsp].setup {
|
||||||
@ -256,6 +263,7 @@ let s:lsp_servers = {
|
|||||||
function! SpaceVim#layers#lsp#set_variable(var) abort
|
function! SpaceVim#layers#lsp#set_variable(var) abort
|
||||||
let s:enabled_clients = get(a:var, 'enabled_clients', s:enabled_clients)
|
let s:enabled_clients = get(a:var, 'enabled_clients', s:enabled_clients)
|
||||||
let override = get(a:var, 'override_cmd', {})
|
let override = get(a:var, 'override_cmd', {})
|
||||||
|
let s:override_client_cmds = get(a:var, 'override_client_cmds', {})
|
||||||
if !empty(override)
|
if !empty(override)
|
||||||
call extend(s:lsp_servers, override, 'force')
|
call extend(s:lsp_servers, override, 'force')
|
||||||
endif
|
endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user