Merge pull request #1720 from MTDL9/fix-error-response-string-data
Fix E712 error in ale#lsp#response#GetErrorMessage when receiving string primitives in the error.data field
This commit is contained in:
parent
7d66293bbc
commit
033a6c1178
2 changed files with 19 additions and 4 deletions
|
@ -105,12 +105,18 @@ function! ale#lsp#response#GetErrorMessage(response) abort
|
|||
return ''
|
||||
endif
|
||||
|
||||
" Include the traceback as details, if it's there.
|
||||
let l:traceback = get(get(a:response.error, 'data', {}), 'traceback', [])
|
||||
" 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('')
|
||||
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
|
||||
|
||||
return l:message
|
||||
endfunction
|
||||
|
|
|
@ -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',
|
||||
\ },
|
||||
\})
|
||||
|
|
Reference in a new issue