Implement Helix Support (WIP) (#19175)

Closes #4642 

- Added the ability to switch to helix normal mode, with an additional
helix visual mode.
- <kbd>ctrl</kbd><kbd>h</kbd> from Insert mode goes to Helix Normal
mode. <kbd> i </kbd> and <kbd> a </kbd> to go back.
- Need to find a way to perform the helix normal mode selection with
<kbd> w </kbd>, <kbd>e </kbd>, <kbd> b </kbd> as a first step. Need to
figure out how the mode will interoperate with the VIM mode as the new
additions are in the same crate.
This commit is contained in:
Waleed Dahshan 2024-12-04 17:19:52 +11:00 committed by GitHub
parent c5d15fd065
commit 8f08787cf0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 444 additions and 12 deletions

View file

@ -442,6 +442,7 @@ impl NeovimConnection {
}
Mode::Insert | Mode::Normal | Mode::Replace => selections
.push(Point::new(selection_row, selection_col)..Point::new(cursor_row, cursor_col)),
Mode::HelixNormal => unreachable!(),
}
let ranges = encode_ranges(&text, &selections);