dense-analysis/ale

Tagstack is always appended to, behaves different to native tags

開放

#2,945 建立於 2019年12月28日

 (1 則留言) (0 個反應) (0 位負責人)Vim Script (1,487 個分叉)batch import
LSPenhancementhelp wanted

倉庫指標

星標
 (13,990 顆星)
PR 合併指標
 (平均合併 51天 4小時) (30 天內合併 3 個 PR)

描述

Currently ale doesn't replicate Vim's native tag behavior when using :ALEGoToDefinition. The way that the tagstack is updated is different.

Natively, CTRL-T will go up in the tagstack, decrementing the "current index". A subsequent CTRL-] will push to the tagstack at the position of the current index, replacing everything that came after this index.

Ale, however, always appends at the end of the tagstack, ignoring the current index. This breaks CTRL-T because it will jump to the last definition that had been jumped to chronologically, rather than the one that was previously "current".

Unfortunately settagstack can only replace or append to the tagstack, so we have to manually replicate the behavior. (I've just opened https://github.com/vim/vim/issues/5405 to suggest to provide it natively.)

貢獻者指南