From 35d0bd15194b95f0dc8483ee6e727fcf3d4c8b26 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Sun, 5 Sep 2021 19:26:32 -0700 Subject: [PATCH] Fix truncated echo (#3889) * Fix truncated echo In typescript, when putting the cursor on a `>` character of an arrow function, the displayString body comes back as an empty string, and means the split operation has 0 items, causing a failure when attempting to call TruncatedEcho. Even if there's a better fix, I'd assume this is a good safety since we are injesting external data. * Convert to use `empty()` --- autoload/ale/hover.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/autoload/ale/hover.vim b/autoload/ale/hover.vim index cb0379fd..4513c6ad 100644 --- a/autoload/ale/hover.vim +++ b/autoload/ale/hover.vim @@ -45,7 +45,9 @@ function! ale#hover#HandleTSServerResponse(conn_id, response) abort \&& (l:set_balloons is 1 || l:set_balloons is# 'hover') call balloon_show(a:response.body.displayString) elseif get(l:options, 'truncated_echo', 0) - call ale#cursor#TruncatedEcho(split(a:response.body.displayString, "\n")[0]) + if !empty(a:response.body.displayString) + call ale#cursor#TruncatedEcho(split(a:response.body.displayString, "\n")[0]) + endif elseif g:ale_hover_to_floating_preview || g:ale_floating_preview call ale#floating_preview#Show(split(a:response.body.displayString, "\n"), { \ 'filetype': 'ale-preview.message',