| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #1077. This was caused by the assumption that a block
cursor is represented as zero width internally and simply
rendered to be a single width selection, where as in reality
a block cursor is an actual single width selection in form and
function.
Behavioural changes:
1. Surround selection no longer works when cursor is _on_ a
surround character that has matching pairs (like `'`
or `"`). This was the intended behaviour from the start
but worked till now because of the cursor position
calculation mismatch.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add `remove_selections` command
* Document `remove_selections`
* Update helix-term/src/keymap.rs
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
|
|
|
|
|
|
| |
Fixes #985
Co-authored-by: Daniel S Poulin <crimsonmage+github@gmail.com>
|
|
|
|
|
|
| |
The styles are now pulled from upstream styles, some of the changes I
submitted it back to upstream.
Fix #796
|
|
|
|
|
|
| |
This allows removing search matches from the selection
Fixes #713
|
| |
|
|
|
|
| |
Rather than per-command like before.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also fix a bunch of bugs related to it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This also fixes a bug with `Selection::normalize()`, that could
result in an out-of-bounds primary index.
|
|
|
|
| |
Apparently I accidentally deleted that behavior in the cleanup.
|
|
|
|
|
| |
This had a bunch of knock-on effects that were buggy, such as bracket
match highlighting.
|
| |
|
|
|
|
|
| |
In particular, this wraps the annoying logic involved in keeping the
cursor width to 1 grapheme.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add textobjects for word
* Add textobjects for surround characters
* Apply clippy lints
* Remove ThisWordPrevBound in favor of PrevWordEnd
It's the same as PrevWordEnd except for taking the current char
into account, so use a "flag" to capture that usecase
* Add tests for PrevWordEnd movement
* Remove ThisWord* movements
They did not preserve anchor positions and were only used
for textobject boundary search anyway so replace them with
simple position finding functions
* Rewrite tests of word textobject
* Add tests for surround textobject
* Add textobject docs
* Refactor textobject word position functions
* Apply clippy lints on textobject
* Fix overflow error with textobjects
|
| | |
|
|\| |
|
| |
| |
| |
| |
| | |
I'm not sure how to address them, because they look like they
might be bugs, and code is involved. Will poke the relevant people.
|
| |
| |
| |
| | |
Still a bunch more warnings to fix in core, but it's a start.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This way they do less work, are more specific to what we actually
need, and they compose.
|
| | |
|
|/ |
|
|
|
|
| |
Fixes #391
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add convenience/clarity wrapper for Range initialization
* Test horizontal moves
* Add column jumping tests
* Add failing movement conditions for multi-word moves
* Refactor skip_over_next
* Add complex forward movement unit tests
* Add strict whitespace checks and edge case tests
* Restore formatting
* Remove unused function
* Add empty test case for deletion and fix nth_prev_word_boundary
* Add tests for backward motion
* Refactor word movement
* Address review comments and finish refactoring backwards move
* Finish unit test suite
* Fmt pass
* Fix lint erors
* Clean up diff restoring bad 'cargo fmt' actions
* Simplify movement closures (thanks Pickfire)
* Fmt pass
* Replace index-based movement with iterator based movement, ensuring that each move incurs a single call to the RopeSlice API
* Break down tuple function
* Extract common logic to all movement functions
* Split iterator helpers away into their own module
* WIP reducing clones
* Operate on spans
* WIP simplifying iterators
* Simplify motion helpers
* Fix iterator
* Fix all unit tests
* Refactor and simplify
* Simplify fold
|
|
|
|
|
|
|
| |
* init
* wip
* wip
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|