mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-26 21:09:08 +08:00
Fix #2907 - Handle dictionaries for capabilities
This commit is contained in:
@@ -196,14 +196,26 @@ function! s:UpdateCapabilities(conn, capabilities) abort
|
||||
let a:conn.capabilities.hover = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'hoverProvider')) is v:t_dict
|
||||
let a:conn.capabilities.hover = 1
|
||||
endif
|
||||
|
||||
if get(a:capabilities, 'referencesProvider') is v:true
|
||||
let a:conn.capabilities.references = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'referencesProvider')) is v:t_dict
|
||||
let a:conn.capabilities.references = 1
|
||||
endif
|
||||
|
||||
if get(a:capabilities, 'renameProvider') is v:true
|
||||
let a:conn.capabilities.rename = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'renameProvider')) is v:t_dict
|
||||
let a:conn.capabilities.rename = 1
|
||||
endif
|
||||
|
||||
if !empty(get(a:capabilities, 'completionProvider'))
|
||||
let a:conn.capabilities.completion = 1
|
||||
endif
|
||||
@@ -220,13 +232,25 @@ function! s:UpdateCapabilities(conn, capabilities) abort
|
||||
let a:conn.capabilities.definition = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'definitionProvider')) is v:t_dict
|
||||
let a:conn.capabilities.definition = 1
|
||||
endif
|
||||
|
||||
if get(a:capabilities, 'typeDefinitionProvider') is v:true
|
||||
let a:conn.capabilities.typeDefinition = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'typeDefinitionProvider')) is v:t_dict
|
||||
let a:conn.capabilities.typeDefinition = 1
|
||||
endif
|
||||
|
||||
if get(a:capabilities, 'workspaceSymbolProvider') is v:true
|
||||
let a:conn.capabilities.symbol_search = 1
|
||||
endif
|
||||
|
||||
if type(get(a:capabilities, 'workspaceSymbolProvider')) is v:t_dict
|
||||
let a:conn.capabilities.symbol_search = 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Update a connection's configuration dictionary and notify LSP servers
|
||||
|
||||
Reference in New Issue
Block a user