mirror of https://github.com/dense-analysis/ale
Support strings in data field of error responses
This commit is contained in:
parent
d22b9bf1a6
commit
021f59b3f4
|
@ -105,11 +105,17 @@ function! ale#lsp#response#GetErrorMessage(response) abort
|
||||||
return ''
|
return ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Include the traceback as details, if it's there.
|
" Include the traceback or error data as details, if present.
|
||||||
let l:traceback = get(get(a:response.error, 'data', {}), 'traceback', [])
|
let l:error_data = get(a:response.error, 'data', {})
|
||||||
|
|
||||||
if type(l:traceback) is type([]) && !empty(l:traceback)
|
if type(l:error_data) is type('')
|
||||||
let l:message .= "\n" . join(l:traceback, "\n")
|
let l:message .= "\n" . l:error_data
|
||||||
|
else
|
||||||
|
let l:traceback = get(l:error_data, 'traceback', [])
|
||||||
|
|
||||||
|
if type(l:traceback) is type([]) && !empty(l:traceback)
|
||||||
|
let l:message .= "\n" . join(l:traceback, "\n")
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return l:message
|
return l:message
|
||||||
|
|
|
@ -63,3 +63,12 @@ Execute(Messages with tracebacks should be handled):
|
||||||
\ },
|
\ },
|
||||||
\ },
|
\ },
|
||||||
\})
|
\})
|
||||||
|
|
||||||
|
Execute(Messages with string data should be handled):
|
||||||
|
AssertEqual "xyz\nUncaught Exception", ale#lsp#response#GetErrorMessage({
|
||||||
|
\ 'error': {
|
||||||
|
\ 'code': -32602,
|
||||||
|
\ 'message': 'xyz',
|
||||||
|
\ 'data': 'Uncaught Exception',
|
||||||
|
\ },
|
||||||
|
\})
|
||||||
|
|
Loading…
Reference in New Issue