diff options
-rw-r--r-- | autoload/ale/hover.vim | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/autoload/ale/hover.vim b/autoload/ale/hover.vim index fe4e5da7..168ff424 100644 --- a/autoload/ale/hover.vim +++ b/autoload/ale/hover.vim @@ -303,6 +303,8 @@ function! ale#hover#Show(buffer, line, col, opt) abort endfor endfunction +let s:last_pos = [0, 0, 0] + " This function implements the :ALEHover command. function! ale#hover#ShowAtCursor() abort let l:buffer = bufnr('') @@ -313,11 +315,20 @@ endfunction function! ale#hover#ShowTruncatedMessageAtCursor() abort let l:buffer = bufnr('') - let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) - - if empty(l:loc) - let l:pos = getpos('.') - call ale#hover#Show(l:buffer, l:pos[1], l:pos[2], {'truncated_echo': 1}) + let l:pos = getpos('.')[0:2] + + if l:pos != s:last_pos + let s:last_pos = l:pos + let [l:info, l:loc] = ale#util#FindItemAtCursor(l:buffer) + + if empty(l:loc) + call ale#hover#Show( + \ l:buffer, + \ l:pos[1], + \ l:pos[2], + \ {'truncated_echo': 1}, + \) + endif endif endfunction |