summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2019-10-18 15:16:54 +0100
committerGitHub <noreply@github.com>2019-10-18 15:16:54 +0100
commit9125ec8739f58941a5d6306d51f69d677849efcb (patch)
tree648878cb418bff2eafa6bd53e236b28e105c4add
parent99e64ed0840526dfae47fa19bd88b7d22616e891 (diff)
parent8698c44e2a65357518eb59d0f5e33498082a3198 (diff)
downloadale-9125ec8739f58941a5d6306d51f69d677849efcb.zip
Merge pull request #2845 from DonnieWest/fixItemDetailsOnEmptySource
Fix tsserver not returning details for items with empty source
-rw-r--r--autoload/ale/completion.vim13
-rw-r--r--test/completion/test_lsp_completion_messages.vader2
2 files changed, 10 insertions, 5 deletions
diff --git a/autoload/ale/completion.vim b/autoload/ale/completion.vim
index 63e2247c..fb87f1bb 100644
--- a/autoload/ale/completion.vim
+++ b/autoload/ale/completion.vim
@@ -492,10 +492,17 @@ function! ale#completion#HandleTSServerResponse(conn_id, response) abort
let l:identifiers = []
for l:name in l:names
- call add(l:identifiers, {
+ let l:identifier = {
\ 'name': l:name.word,
- \ 'source': get(l:name, 'source', ''),
- \})
+ \}
+ let l:source = get(l:name, 'source', '')
+
+ " Empty source results in no details for the completed item
+ if !empty(l:source)
+ call extend(l:identifier, { 'source': l:source })
+ endif
+
+ call add(l:identifiers, l:identifier)
endfor
let b:ale_completion_info.request_id = ale#lsp#Send(
diff --git a/test/completion/test_lsp_completion_messages.vader b/test/completion/test_lsp_completion_messages.vader
index b997ac86..4b7392f5 100644
--- a/test/completion/test_lsp_completion_messages.vader
+++ b/test/completion/test_lsp_completion_messages.vader
@@ -190,10 +190,8 @@ Execute(The right message sent to the tsserver LSP when the first completion mes
\ 'source': '/path/to/foo.ts',
\ }, {
\ 'name': 'FooBar',
- \ 'source': '',
\ }, {
\ 'name': 'frazzle',
- \ 'source': '',
\ }],
\ 'offset': 1,
\ 'line': 1,