mirror of
https://github.com/dense-analysis/ale.git
synced 2026-11-04 19:32:50 +08:00
Merge branch 'master' into sridhars
This commit is contained in:
commit
d2b0ae8108
496 files changed
+10014
-2946
No files matched your search
@@ -130,6 +130,12 @@ function! ale#lsp#message#References(buffer, line, column) abort
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#Symbol(query) abort
|
||||
return [0, 'workspace/symbol', {
|
||||
\ 'query': a:query,
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#Hover(buffer, line, column) abort
|
||||
return [0, 'textDocument/hover', {
|
||||
\ 'textDocument': {
|
||||
@@ -138,3 +144,9 @@ function! ale#lsp#message#Hover(buffer, line, column) abort
|
||||
\ 'position': {'line': a:line - 1, 'character': a:column},
|
||||
\}]
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#message#DidChangeConfiguration(buffer, config) abort
|
||||
return [0, 'workspace/didChangeConfiguration', {
|
||||
\ 'settings': a:config,
|
||||
\}]
|
||||
endfunction
|
||||
@@ -17,7 +17,7 @@ function! ale#lsp#reset#StopAllLSPs() abort
|
||||
|
||||
for l:linter in ale#linter#Get(getbufvar(l:buffer, '&filetype'))
|
||||
if !empty(l:linter.lsp)
|
||||
call ale#engine#HandleLoclist(l:linter.name, l:buffer, [])
|
||||
call ale#engine#HandleLoclist(l:linter.name, l:buffer, [], 0)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
|
||||
@@ -47,7 +47,23 @@ function! ale#lsp#response#ReadDiagnostics(response) abort
|
||||
endif
|
||||
|
||||
if has_key(l:diagnostic, 'code')
|
||||
let l:loclist_item.nr = l:diagnostic.code
|
||||
if type(l:diagnostic.code) == v:t_string
|
||||
let l:loclist_item.code = l:diagnostic.code
|
||||
elseif type(l:diagnostic.code) == v:t_number && l:diagnostic.code != -1
|
||||
let l:loclist_item.code = string(l:diagnostic.code)
|
||||
let l:loclist_item.nr = l:diagnostic.code
|
||||
endif
|
||||
endif
|
||||
|
||||
if has_key(l:diagnostic, 'relatedInformation')
|
||||
let l:related = deepcopy(l:diagnostic.relatedInformation)
|
||||
call map(l:related, {key, val ->
|
||||
\ ale#path#FromURI(val.location.uri) .
|
||||
\ ':' . (val.location.range.start.line + 1) .
|
||||
\ ':' . (val.location.range.start.character + 1) .
|
||||
\ ":\n\t" . val.message
|
||||
\ })
|
||||
let l:loclist_item.detail = l:diagnostic.message . "\n" . join(l:related, "\n")
|
||||
endif
|
||||
|
||||
if has_key(l:diagnostic, 'source')
|
||||
@@ -74,7 +90,12 @@ function! ale#lsp#response#ReadTSServerDiagnostics(response) abort
|
||||
\}
|
||||
|
||||
if has_key(l:diagnostic, 'code')
|
||||
let l:loclist_item.nr = l:diagnostic.code
|
||||
if type(l:diagnostic.code) == v:t_string
|
||||
let l:loclist_item.code = l:diagnostic.code
|
||||
elseif type(l:diagnostic.code) == v:t_number && l:diagnostic.code != -1
|
||||
let l:loclist_item.code = string(l:diagnostic.code)
|
||||
let l:loclist_item.nr = l:diagnostic.code
|
||||
endif
|
||||
endif
|
||||
|
||||
if get(l:diagnostic, 'category') is# 'warning'
|
||||
@@ -92,7 +113,7 @@ function! ale#lsp#response#ReadTSServerDiagnostics(response) abort
|
||||
endfunction
|
||||
|
||||
function! ale#lsp#response#GetErrorMessage(response) abort
|
||||
if type(get(a:response, 'error', 0)) isnot type({})
|
||||
if type(get(a:response, 'error', 0)) isnot v:t_dict
|
||||
return ''
|
||||
endif
|
||||
|
||||
@@ -112,12 +133,12 @@ function! ale#lsp#response#GetErrorMessage(response) abort
|
||||
" Include the traceback or error data as details, if present.
|
||||
let l:error_data = get(a:response.error, 'data', {})
|
||||
|
||||
if type(l:error_data) is type('')
|
||||
if type(l:error_data) is v:t_string
|
||||
let l:message .= "\n" . l:error_data
|
||||
else
|
||||
elseif type(l:error_data) is v:t_dict
|
||||
let l:traceback = get(l:error_data, 'traceback', [])
|
||||
|
||||
if type(l:traceback) is type([]) && !empty(l:traceback)
|
||||
if type(l:traceback) is v:t_list && !empty(l:traceback)
|
||||
let l:message .= "\n" . join(l:traceback, "\n")
|
||||
endif
|
||||
endif
|
||||
|
||||
Reference in new issue
Block a user