Previously unable to move word left/right on a single line, and move to punctuation instead of space.#22
Open
justnat3 wants to merge 1 commit intooligo:mainfrom
Open
Previously unable to move word left/right on a single line, and move to punctuation instead of space.#22justnat3 wants to merge 1 commit intooligo:mainfrom
justnat3 wants to merge 1 commit intooligo:mainfrom
Conversation
!darwin: Moving by word gets hung up in (left or right arrow) gets hung up in the check for ModShorcut. (copy/paste/etc). In this case we should just check if the modifer comes along with an arrow key. This also add checking for _Unicode Punctuation_ instead of just spaces when moving a word. Cheers, -Nate
oligo
reviewed
Jul 31, 2025
| moveByWord := k.Modifiers.Contain(key.ModShortcutAlt) | ||
| leftOrRightArrow := k.Name == key.NameLeftArrow || k.Name == key.NameRightArrow | ||
|
|
||
| if k.Modifiers.Contain(key.ModShortcut) && !leftOrRightArrow { |
Owner
There was a problem hiding this comment.
What about checking ModShortcut modifiers in each of the copy/cut/paste commands? We can then merge the two switch clauses.
oligo
reviewed
Jul 31, 2025
| e.MoveCaret(direction, 0) | ||
| caret = e.closestToRune(e.caret.start) | ||
| for r := next(); !unicode.IsSpace(r) && !atEnd(); r = next() { | ||
| for r := next(); !unicode.IsSpace(r) && !unicode.IsPunct(r) && !atEnd(); r = next() { |
Owner
There was a problem hiding this comment.
Another similar word related operation is word deletion. So you might have to look at the code in the delete method. And for a more general solution, code editors use configurable word seperators, here's what I have done in gvcode.
This file contains hidden or 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
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.
Moving by word gets hung up in (left or right arrow) gets hung up in the check for ModShortcut. (copy/paste/etc). In this case we should just check if the modifier comes along with an arrow key.
This also add checking for Unicode Punctuation instead of just spaces when moving a word.
Note, I'm not sure that this is the correct solution to this problem. I was hoping for some insights on how this might be done better.
However, this was the "fastest" way to get the behavior I wanted. Let me know what I can do here as to not break previous behavior (unless we want that).