summaryrefslogtreecommitdiff
path: root/autoload/ale/definition.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/definition.vim')
-rw-r--r--autoload/ale/definition.vim6
1 files changed, 4 insertions, 2 deletions
diff --git a/autoload/ale/definition.vim b/autoload/ale/definition.vim
index 6b5dbfe0..3915cac1 100644
--- a/autoload/ale/definition.vim
+++ b/autoload/ale/definition.vim
@@ -24,10 +24,12 @@ function! ale#definition#UpdateTagStack() abort
let l:should_update_tagstack = exists('*gettagstack') && exists('*settagstack') && g:ale_update_tagstack
if l:should_update_tagstack
- let l:from = [bufnr('%'), line('.'), col('.'), 0]
+ " Grab the old location (to jump back to) and the word under the
+ " cursor (as a label for the tagstack)
+ let l:old_location = [bufnr('%'), line('.'), col('.'), 0]
let l:tagname = expand('<cword>')
let l:winid = win_getid()
- call settagstack(l:winid, {'items': [{'from': l:from, 'tagname': l:tagname}]}, 'a')
+ call settagstack(l:winid, {'items': [{'from': l:old_location, 'tagname': l:tagname}]}, 'a')
call settagstack(l:winid, {'curidx': len(gettagstack(l:winid)['items']) + 1})
endif
endfunction