-
-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Improve move_cursor
.
#334
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Closed
1 task
kylechui
force-pushed
the
feat/improve-move-cursor
branch
from
June 7, 2024 00:30
91547c9
to
b9453d6
Compare
Implements "end" and "sticky" for insertion. TODO: Unit test inserting where the selection is entirely before the cursor. TODO: Make it work for deletion/changing. TODO: Make it work for visual selections (edge case: block surround).
Remove work on `end`. Maybe work on it in the future if people actually want it.
No default text-objects search backwards; it's better to leave this for delete and change tests where we have lookbehind.
TODO: Visual mode, and unit test change.
kylechui
force-pushed
the
feat/improve-move-cursor
branch
from
June 7, 2024 02:56
b9453d6
to
25f2e51
Compare
bew
reviewed
Jun 7, 2024
Also break up namespaces for highlights vs. extmarks, to avoid "collisions" when clearing one or the other.
If only Lua had linear types.
Thanks for this very useful feature. Seems to be working fine in normal mode. |
Dot-repeating isn't a feature in Visual mode, because there are no "semantics" to repeat in visual mode---only hard-coded coordinates for the begin/end of a visual selection. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This aims to add a "sticky" option for
move_cursor
, where "sticky" keeps the cursor "stuck" to whatever character the cursor was on before the surround action. See the unit tests in this PR for an idea of how exactly this would work.One nice use case for this is dot-repeating with a sticky cursor, as one can do
ysiw].
to surround a word with double brackets, whereas the old behavior would do something likehello
→[[]hello]
(since the dot-repeat would surround the open square bracket).Please react to show interest in this feature!
Replaces #289; is a partial solution to #281
TODO