diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2024-06-30 06:40:31 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-30 06:40:31 +0800 |
| commit | e7020306a19a5211c834966ec067fff3b981bdb9 (patch) | |
| tree | 79436a276599e9c62f69d308d2d963e7f3dee1ac /runtime | |
| parent | 435d0182d293e70b14a5655c976c3c6daa6ea765 (diff) | |
| download | rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.tar.gz rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.tar.bz2 rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.zip | |
feat(jumplist): allow opting out of removing unloaded buffers (#29347)
Problem: Cannot opt out of removing unloaded buffers from the jumplist.
Solution: Only enable that with "unload" flag in 'jumpoptions'.
Diffstat (limited to 'runtime')
| -rw-r--r-- | runtime/doc/options.txt | 5 | ||||
| -rw-r--r-- | runtime/doc/vim_diff.txt | 2 | ||||
| -rw-r--r-- | runtime/lua/vim/_meta/options.lua | 5 |
3 files changed, 10 insertions, 2 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 1b71050620..70d0bd4369 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -3619,7 +3619,7 @@ A jump table for the options with a short description can be found at |Q_op|. Otherwise only one space is inserted. *'jumpoptions'* *'jop'* -'jumpoptions' 'jop' string (default "") +'jumpoptions' 'jop' string (default "unload") global List of words that change the behavior of the |jumplist|. stack Make the jumplist behave like the tagstack. @@ -3632,6 +3632,9 @@ A jump table for the options with a short description can be found at |Q_op|. |alternate-file| or using |mark-motions| try to restore the |mark-view| in which the action occurred. + unload Remove unloaded buffers from the jumplist. + EXPERIMENTAL: this flag may change in the future. + *'keymap'* *'kmp'* 'keymap' 'kmp' string (default "") local to buffer diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index a51ffcf004..c1daf4a937 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -62,6 +62,7 @@ Defaults *nvim-defaults* - 'isfname' does not include ":" (on Windows). Drive letters are handled correctly without it. (Use |gF| for filepaths suffixed with ":line:col"). - 'joinspaces' is disabled +- 'jumpoptions' defaults to "unload" - 'langnoremap' is enabled - 'langremap' is disabled - 'laststatus' defaults to 2 (statusline is always shown) @@ -341,6 +342,7 @@ string options work. - 'inccommand' shows interactive results for |:substitute|-like commands and |:command-preview| commands - 'jumpoptions' "view" tries to restore the |mark-view| when moving through + "unload" removes unloaded buffer from the jumplist - the |jumplist|, |changelist|, |alternate-file| or using |mark-motions|. - 'laststatus' global statusline support - 'mousescroll' amount to scroll by when scrolling with a mouse diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua index 902df8f7d6..fb04da14a5 100644 --- a/runtime/lua/vim/_meta/options.lua +++ b/runtime/lua/vim/_meta/options.lua @@ -3551,8 +3551,11 @@ vim.go.js = vim.go.joinspaces --- |alternate-file` or using `mark-motions` try to --- restore the `mark-view` in which the action occurred. --- +--- unload Remove unloaded buffers from the jumplist. +--- EXPERIMENTAL: this flag may change in the future. +--- --- @type string -vim.o.jumpoptions = "" +vim.o.jumpoptions = "unload" vim.o.jop = vim.o.jumpoptions vim.go.jumpoptions = vim.o.jumpoptions vim.go.jop = vim.go.jumpoptions |