From 0c4606651fa586f2b96ddb7330d3cd1b8094e9e9 Mon Sep 17 00:00:00 2001 From: Sridhar Srinivasan Date: Wed, 18 Jul 2018 21:44:05 -0500 Subject: [PATCH 1/4] Add language server source in ALEDetail --- autoload/ale/lsp/response.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/autoload/ale/lsp/response.vim b/autoload/ale/lsp/response.vim index 3ac65388..ab3c503d 100644 --- a/autoload/ale/lsp/response.vim +++ b/autoload/ale/lsp/response.vim @@ -29,6 +29,7 @@ function! ale#lsp#response#ReadDiagnostics(response) abort let l:severity = get(l:diagnostic, 'severity', 0) let l:loclist_item = { \ 'text': l:diagnostic.message, + \ 'detail': printf("[%s] %s", l:diagnostic.source, l:diagnostic.message), \ 'type': 'E', \ 'lnum': l:diagnostic.range.start.line + 1, \ 'col': l:diagnostic.range.start.character + 1, From 0da4c6e4ad009a37b482d301a19b6d024aa0ae0a Mon Sep 17 00:00:00 2001 From: Sridhar Srinivasan Date: Wed, 18 Jul 2018 22:12:56 -0500 Subject: [PATCH 2/4] Add language server source in ALEDetail (2) --- autoload/ale/lsp/response.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/autoload/ale/lsp/response.vim b/autoload/ale/lsp/response.vim index ab3c503d..939a8997 100644 --- a/autoload/ale/lsp/response.vim +++ b/autoload/ale/lsp/response.vim @@ -29,7 +29,6 @@ function! ale#lsp#response#ReadDiagnostics(response) abort let l:severity = get(l:diagnostic, 'severity', 0) let l:loclist_item = { \ 'text': l:diagnostic.message, - \ 'detail': printf("[%s] %s", l:diagnostic.source, l:diagnostic.message), \ 'type': 'E', \ 'lnum': l:diagnostic.range.start.line + 1, \ 'col': l:diagnostic.range.start.character + 1, @@ -51,6 +50,10 @@ function! ale#lsp#response#ReadDiagnostics(response) abort let l:loclist_item.nr = l:diagnostic.code endif + if has_key(l:diagnostic, 'source') + let l:loclist_item.detail = printf("[%s] %s", l:diagnostic.source, l:diagnostic.message) + endif + call add(l:loclist, l:loclist_item) endfor From fcd5e18a9955df2a11f97f05ce23a45d0ba3f523 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Thu, 29 Nov 2018 14:35:54 -0700 Subject: [PATCH 3/4] Use single quotes to satisfy vint --- autoload/ale/lsp/response.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/ale/lsp/response.vim b/autoload/ale/lsp/response.vim index 939a8997..a0e1984d 100644 --- a/autoload/ale/lsp/response.vim +++ b/autoload/ale/lsp/response.vim @@ -51,7 +51,7 @@ function! ale#lsp#response#ReadDiagnostics(response) abort endif if has_key(l:diagnostic, 'source') - let l:loclist_item.detail = printf("[%s] %s", l:diagnostic.source, l:diagnostic.message) + let l:loclist_item.detail = printf('[%s] %s', l:diagnostic.source, l:diagnostic.message) endif call add(l:loclist, l:loclist_item) From ef641dda80f45cb979bc93c2513c6e10cbd8e42a Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Thu, 29 Nov 2018 14:51:01 -0700 Subject: [PATCH 4/4] Add test for detail in lsp ReadDiagnostics --- test/lsp/test_read_lsp_diagnostics.vader | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/lsp/test_read_lsp_diagnostics.vader b/test/lsp/test_read_lsp_diagnostics.vader index 444272aa..6ca4f962 100644 --- a/test/lsp/test_read_lsp_diagnostics.vader +++ b/test/lsp/test_read_lsp_diagnostics.vader @@ -89,6 +89,26 @@ Execute(ale#lsp#response#ReadDiagnostics() should handle messages without codes) \ }, \ ]}}) +Execute(ale#lsp#response#ReadDiagnostics() should include sources in detail): + AssertEqual [ + \ { + \ 'type': 'E', + \ 'text': 'Something went wrong!', + \ 'detail': '[tslint] Something went wrong!', + \ 'lnum': 10, + \ 'col': 15, + \ 'end_lnum': 12, + \ 'end_col': 23, + \ } + \ ], + \ ale#lsp#response#ReadDiagnostics({'params': {'uri': 'filename.ts', 'diagnostics': [ + \ { + \ 'range': Range(9, 14, 11, 22), + \ 'message': 'Something went wrong!', + \ 'source': 'tslint', + \ } + \ ]}}) + Execute(ale#lsp#response#ReadDiagnostics() should handle multiple messages): AssertEqual [ \ {