Handle definition responses without files

This commit is contained in:
w0rp 2018-06-01 14:15:32 +01:00
parent 10e1545630
commit 6a7e00d9ac
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 14 additions and 1 deletions

View File

@ -22,7 +22,7 @@ function! ale#definition#HandleTSServerResponse(conn_id, response) abort
\&& has_key(s:go_to_definition_map, a:response.request_seq)
let l:options = remove(s:go_to_definition_map, a:response.request_seq)
if get(a:response, 'success', v:false) is v:true
if get(a:response, 'success', v:false) is v:true && !empty(a:response.body)
let l:filename = a:response.body[0].file
let l:line = a:response.body[0].start.line
let l:column = a:response.body[0].start.offset

View File

@ -56,6 +56,19 @@ Execute(Failed definition responses should be handled correctly):
\)
AssertEqual {}, ale#definition#GetMap()
Execute(Failed definition responses with no files should be handled correctly):
call ale#definition#SetMap({3: {'open_in_tab': 0}})
call ale#definition#HandleTSServerResponse(
\ 1,
\ {
\ 'command': 'definition',
\ 'request_seq': 3,
\ 'success': v:true,
\ 'body': [],
\ }
\)
AssertEqual {}, ale#definition#GetMap()
Given typescript(Some typescript file):
foo
somelongerline