Commit Graph
26 Commits
Author SHA1 Message Date
Conrad Irwin 2921cd77ca Fix visual selection of trailing newline 2023-07-28 22:38:39 -06:00
Conrad Irwin e6f1a6f9a9 Merge VisualChange -> Substitute
They both are supposed to work the same.
2023-07-28 15:32:02 -06:00
Conrad Irwin 35e3b03af6 Fix crash when deleting a long line in visual line mode 2023-07-28 15:26:40 -06:00
Conrad Irwin adc89d3418 Add support for visual ranges ending with a newline
These primarily happen when first entering visual mode, but can also
be created with objects like `vi{`.

Along the way fix the way ranges like `vi{` are selected to be more
similar to nvim.
2023-07-28 15:26:40 -06:00
Conrad IrwinandMax Brunsfeld 737efc0c9d Fix vim selection to include entire range
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-28 15:26:40 -06:00
Conrad Irwin 5ddb6c1db0 vim: add , and ; 2023-07-21 09:50:22 -06:00
Conrad Irwin 373c6bd9be vim: Further improve ~ handling
Now works with Visual{line} mode, collapses selections like nvim,
and doesn't fall off the end of the line.
2023-07-03 23:58:09 -06:00
Conrad Irwin f11eaf983c Fix % when on the last character of the line
Contributes: zed-industries/community#682
2023-07-01 13:51:11 -06:00
Conrad Irwin e5b58d8682 vim: Fix edge-case in } when trailing newline is absent
Added .assert_shared_state() to NeovimBackedTestContext – although it's
not strictly necessary to show the expected behaviour in the test file
(as we can just compare to neovim's JSON recording), it makes it much
easier to understand what we're testing.
2023-06-29 23:31:22 -06:00
Nathan Sobo 8c4db131da Fix remaining vim failures 2023-04-20 15:25:11 -06:00
Max Brunsfeld 82724cac3f Use a more stable, readable serialization format for neovim-backed vim tests 2023-03-22 14:31:11 -07:00
Kay Simmons 24a448f00c Fix enter in normal mode acting incorrectly 2023-02-23 13:40:31 -08:00
Kay Simmons 327c58fdc3 fix vim percent motion to better match the docs and observed behavior 2023-02-17 14:55:19 -08:00
Kay Simmons 4da1890a54 working f and t bindings 2023-01-06 14:24:20 -08:00
Kay Simmons 04de300994 Addresses issue where left motion in vim mode would clip in the wrong direction 2022-11-04 15:21:29 -07:00
Kay Simmons 404f51643c fix some vim mode bugs around deletions and failed motions 2022-11-02 01:20:11 -07:00
Kay Simmons 466f2746f6 added new supported feature 2022-11-01 13:15:14 -07:00
K Simmons 8104b7aa77 fix jump to line number in vim mode 2022-10-25 00:39:40 -07:00
K Simmons b488a375c6 Fix panic in vim motion when not listed as exclusive and add features enum to capture why tests are ignored 2022-10-24 18:27:56 -07:00
K Simmons 4d285aee6f Add count argument to motion functions and add ability to jump to a given line 2022-10-11 16:27:54 -07:00
K Simmons edc2c90c3e working quote and bracket text objects 2022-10-11 15:17:29 -07:00
K Simmons 1236704bc9 Add some tests for portions of visual text objects. Note: they are slightly broken currently as described in the tests 2022-10-10 15:32:12 -07:00
K Simmons 47def2b57d Add assertion context manager to TestAppContext and convert existing vim tests to use neovim backed test context 2022-10-10 14:46:07 -07:00
K Simmons ac7818b7dc Enable verifying of visual mode selections in neovim backed tests 2022-10-09 01:19:22 -07:00
K Simmons 055a8fe14a Fixed some neovim test context issues, added repeated commands in vim mode, and ported some tests to use the neovim testing strategy 2022-10-08 21:52:07 -07:00
K Simmons bda6e5fdb7 Adds word and sentence text objects along with a new vim testing system which uses cached neovim data to verify our test accuracy 2022-10-08 21:51:49 -07:00