Port the "jumpoptions" support from NeoVim:
neovim/neovim@39094b3
neovim/neovim#11530
https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior
https://github.com/vim/vim/pull/7738
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.![]()
Merging #7738 (e1b599c) into master (40be52b) will decrease coverage by
2.02%.
The diff coverage is100.00%.
@@ Coverage Diff @@ ## master #7738 +/- ## ========================================== - Coverage 89.01% 86.98% -2.03% ========================================== Files 148 147 -1 Lines 164431 160663 -3768 ========================================== - Hits 146363 139759 -6604 - Misses 18068 20904 +2836
| Flag | Coverage Δ | |
|---|---|---|
| huge-clang-none | ? |
|
| huge-gcc-none | ? |
|
| huge-gcc-testgui | 86.95% <100.00%> (-0.01%) |
⬇️ |
| huge-gcc-unittests | 2.48% <7.14%> (+<0.01%) |
⬆️ |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/mark.c | 93.18% <100.00%> (+0.01%) |
⬆️ |
| src/optionstr.c | 93.76% <100.00%> (-1.02%) |
⬇️ |
| src/libvterm/src/rect.h | 0.00% <0.00%> (-96.56%) |
⬇️ |
| src/libvterm/src/mouse.c | 0.00% <0.00%> (-48.34%) |
⬇️ |
| src/libvterm/src/state.c | 49.06% <0.00%> (-40.93%) |
⬇️ |
| src/mouse.c | 48.60% <0.00%> (-39.51%) |
⬇️ |
| src/libvterm/include/vterm.h | 0.00% <0.00%> (-37.50%) |
⬇️ |
| src/libvterm/src/pen.c | 49.85% <0.00%> (-34.81%) |
⬇️ |
| src/libvterm/src/keyboard.c | 54.73% <0.00%> (-33.69%) |
⬇️ |
| src/libvterm/src/encoding.c | 45.54% <0.00%> (-27.73%) |
⬇️ |
| ... and 129 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing data
Powered by Codecov. Last update 40be52b...e1b599c. Read the comment docs.
So with this option set you can move through a tree. When going back up a branch and then down another branch, CTRL-O still takes you further up the tree. A note in the help would help users understand this.
The disadvantage is that branches that were visited before are gone. I wonder if we could somehow remember them. The big question is what command would navigate through this? With CTRL-I you would have to pick the branch to go into. And you need to know where you are. Since jumps are not that predictable that would be too complex.
Perhaps we can use something similar to undo: add a timestamp to each position, so that you can go back and forward in time. That would combine the behavior with the option on and off, using different commands instead of setting an option. We would need to remember two jumplists.
So with this option set you can move through a tree. When going back up a branch and then down another branch, CTRL-O still takes you further up the tree. A note in the help would help users understand this.
The disadvantage is that branches that were visited before are gone. I wonder if we could somehow remember them. The big question is what command would navigate through this? With CTRL-I you would have to pick the branch to go into. And you need to know where you are. Since jumps are not that predictable that would be too complex.
Perhaps we can use something similar to undo: add a timestamp to each position, so that you can go back and forward in time. That would combine the behavior with the option on and off, using different commands instead of setting an option. We would need to remember two jumplists.
Hey @yegappan, can I ask why you closed this PR? I'd very much love to see this feature implemented in vim.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub.
Triage notifications on the go with GitHub Mobile for iOS or Android.
![]()
Hey @yegappan, can I ask why you closed this PR? I'd very much love to see this feature implemented in vim.
—
You are receiving this because you are subscribed to this thread.
About the timestamp: I know the experience when you know you looked at some line of code just before, but don't know how to jump back there. If we have a jump list organised by time, you could jump to each position you have seen before, in the order they were last visited. Like the :earlier and :later undo commands. You don't have to remember what path in the tree you followed and how to backtrack, you just navigate through time.
—
You are receiving this because you commented.
So with this option set you can move through a tree. When going back up a branch and then down another branch, CTRL-O still takes you further up the tree. A note in the help would help users understand this.
The disadvantage is that branches that were visited before are gone. I wonder if we could somehow remember them. The big question is what command would navigate through this? With CTRL-I you would have to pick the branch to go into. And you need to know where you are. Since jumps are not that predictable that would be too complex.
Perhaps we can use something similar to undo: add a timestamp to each position, so that you can go back and forward in time. That would combine the behavior with the option on and off, using different commands instead of setting an option. We would need to remember two jumplists.
In actual use, some jumplists are not needed, similar to forward and backward in browsers.
Really disappointed that this PR was closed.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
It's really disappointed that this PR had closed. I've switch to NeoVim just for "set jumpoptions=stack". It's so important for code navigation when you use Vim as an IDE.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
It's really disappointed that this PR had closed. I've switch to NeoVim just for "set jumpoptions=stack". It's so important for code navigation when you use Vim as an IDE.
@wallacegibbon could you try was this really matching your demand?
// was that really same experience like neovim or so-called IDE?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()