diff options
Diffstat (limited to 'autoload/ale/definition.vim')
-rw-r--r-- | autoload/ale/definition.vim | 6 |
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 |