Fix #1384 - Handle warnings and suggestions for tsserver

This commit is contained in:
w0rp 2018-03-02 20:33:45 +00:00
parent acbe527e15
commit 2c2c7ceb1d
2 changed files with 41 additions and 2 deletions

View File

@ -59,6 +59,14 @@ function! ale#lsp#response#ReadTSServerDiagnostics(response) abort
let l:loclist_item.nr = l:diagnostic.code let l:loclist_item.nr = l:diagnostic.code
endif endif
if get(l:diagnostic, 'category') is# 'warning'
let l:loclist_item.type = 'W'
endif
if get(l:diagnostic, 'category') is# 'suggestion'
let l:loclist_item.type = 'I'
endif
call add(l:loclist, l:loclist_item) call add(l:loclist, l:loclist_item)
endfor endfor

View File

@ -121,7 +121,8 @@ Execute(ale#lsp#response#ReadDiagnostics() should handle multiple messages):
\ ]}}) \ ]}})
Execute(ale#lsp#response#ReadTSServerDiagnostics() should handle tsserver responses): Execute(ale#lsp#response#ReadTSServerDiagnostics() should handle tsserver responses):
AssertEqual [ AssertEqual
\ [
\ { \ {
\ 'type': 'E', \ 'type': 'E',
\ 'nr': 2365, \ 'nr': 2365,
@ -131,5 +132,35 @@ Execute(ale#lsp#response#ReadTSServerDiagnostics() should handle tsserver respon
\ 'end_lnum': 1, \ 'end_lnum': 1,
\ 'end_col': 17, \ 'end_col': 17,
\ }, \ },
\], \ ],
\ ale#lsp#response#ReadTSServerDiagnostics({"seq":0,"type":"event","event":"semanticDiag","body":{"file":"/bar/foo.ts","diagnostics":[{"start":{"line":1,"offset":11},"end":{"line":1,"offset":17},"text":"Operator ''+'' cannot be applied to types ''3'' and ''{}''.","code":2365}]}}) \ ale#lsp#response#ReadTSServerDiagnostics({"seq":0,"type":"event","event":"semanticDiag","body":{"file":"/bar/foo.ts","diagnostics":[{"start":{"line":1,"offset":11},"end":{"line":1,"offset":17},"text":"Operator ''+'' cannot be applied to types ''3'' and ''{}''.","code":2365}]}})
Execute(ale#lsp#response#ReadTSServerDiagnostics() should handle warnings from tsserver):
AssertEqual
\ [
\ {
\ 'lnum': 27,
\ 'col': 3,
\ 'nr': 2515,
\ 'end_lnum': 27,
\ 'type': 'W',
\ 'end_col': 14,
\ 'text': 'Calls to ''console.log'' are not allowed. (no-console)',
\ }
\ ],
\ ale#lsp#response#ReadTSServerDiagnostics({"seq":0,"type":"event","event":"semanticDiag","body":{"file":"<removed>","diagnostics":[{"start":{"line":27,"offset":3},"end":{"line":27,"offset":14},"text":"Calls to 'console.log' are not allowed. (no-console)","code":2515,"category":"warning","source":"tslint"}]}})
Execute(ale#lsp#response#ReadTSServerDiagnostics() should handle suggestions from tsserver):
AssertEqual
\ [
\ {
\ 'lnum': 27,
\ 'col': 3,
\ 'nr': 2515,
\ 'end_lnum': 27,
\ 'type': 'I',
\ 'end_col': 14,
\ 'text': 'Some info',
\ }
\ ],
\ ale#lsp#response#ReadTSServerDiagnostics({"seq":0,"type":"event","event":"semanticDiag","body":{"file":"<removed>","diagnostics":[{"start":{"line":27,"offset":3},"end":{"line":27,"offset":14},"text":"Some info","code":2515,"category":"suggestion","source":"tslint"}]}})