Conrad Irwin
6fd4a8fcba
vim: Fix ctrl-u/ctrl-d
...
They should work by exactly half a screen, and also move the cursor.
2023-09-26 22:28:04 -06:00
Conrad Irwin
8e4406b397
vim: Add multicursor shortcuts ( #3032 )
...
Adding a few bindings to bring first class feeling multiselect to zed's
vim emulation.
gn and gN are similar to similar vim bindings, ga is similar to gA (and
I doubt we need vim's real ga), g> and g< are just made up.
Release Notes:
- vim: `g n` / `g N` to select next/previous
- vim: `g >` / `g <` to skip current selection and select next/previous
- vim: `g a` to select all
2023-09-25 17:18:12 -05:00
Conrad Irwin
3b6bb008b6
vim: Add multicursor shortcuts
...
- g n / g N to select next/previous
- g > / g < to select next/previous replacing current
- g a to select all matches
2023-09-25 15:32:03 -06:00
Conrad Irwin
6e501de8e2
Code review changes
2023-09-20 21:29:45 -06:00
Conrad Irwin
8c9233436d
Fix save related tests, and refactor saves again
2023-09-20 20:44:42 -06:00
Conrad Irwin
89c569e0b1
Fix backward search from command
2023-09-20 20:44:42 -06:00
Conrad Irwin
e85104ab0b
Iron out some edge-cases
2023-09-20 20:44:42 -06:00
Conrad Irwin
12cbf801f3
Flesh out v1.0 of vim :
2023-09-20 20:44:41 -06:00
Conrad Irwin
e0b746fbee
tests: wait deterministically after simulating_keystrokes
2023-09-20 20:44:26 -06:00
Conrad Irwin
78fdde1e6e
Fix vim tests on my machine
...
In a rare case of "it broke on my machine" I haven't been able to run
the vim tests locally for a few days; turns out I ran out of swap file
names...
2023-09-20 20:44:26 -06:00
Conrad Irwin
ee0a229996
Add vim-specific interactions to command
...
This mostly adds the commonly requested set (:wq and friends) and
a few that I use frequently
:<line> to go to a line number
:vsp / :sp to create a split
:cn / :cp to go to diagnostics
2023-09-20 20:44:26 -06:00
Conrad Irwin
4a5e44a9ef
Fix vim panic when over-shooting with j
2023-09-20 11:20:35 -06:00
Conrad Irwin and Max Brunsfeld
3a25cb2068
vim: Use explicit global, not default ( #2987 )
...
This should have no user-visible impact, but tidies up one of the
awkwardnesses
of how vim uses global state at the moment.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2023-09-19 20:52:25 -06:00
Conrad Irwin
f4883e4bd8
vim: Use explicit global, not default
2023-09-18 14:22:41 -06:00
Conrad Irwin
09b311207b
Fix vim-related panic ( #2986 )
...
Release Notes:
- fix panic that happens during collaboration (preview-only)
2023-09-18 12:21:38 -06:00
Conrad Irwin
acb37194c2
Fix vim-related panic
2023-09-18 12:13:50 -06:00
Conrad Irwin
39e97afdc2
vim: Fix Y on last line ( #2975 )
...
For zed-industries/community#2044
Release Notes:
- vim: Fix y in VISUAL LINE mode when last line has no trailing newline
([#2044 ](https://github.com/zed-industries/community/issues/2044 )).
2023-09-18 08:54:48 -06:00
Conrad Irwin
5334a632cc
Clip twice
2023-09-18 08:28:21 -06:00
Conrad Irwin
1570a016b0
clip FoldPoint earlier
...
fold_point_to_display_point calls to_offset on the fold point, which
panics if it hasn't been clipped.
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1694850156370919
2023-09-16 12:58:39 -07:00
Conrad Irwin
a22d09c9d7
Fix Y on last line with no trailing new line
...
For zed-industries/community#2044
2023-09-15 11:14:04 -06:00
Kirill Bulatov and Antonio Scandurra
15942c31ef
Properly handle inlay highlights in the InlayMap
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev >
2023-09-14 22:08:12 +03:00
Kirill Bulatov
d2b0649378
Use standalone inlay background highlights
2023-09-14 22:08:12 +03:00
Conrad Irwin
09b589ba85
Remove another supported exemption
2023-09-12 12:48:36 -06:00
Conrad Irwin
e81673f3d8
Remove supported exception
...
(and refactor tests to be more linear)
2023-09-12 10:13:24 -06:00
Conrad Irwin
488b325f60
Fix 0 used in a count
2023-09-12 09:56:23 -06:00
Conrad Irwin
5c124b1fa7
Fix bug where cursors became invisible if replaying was interrupted
2023-09-11 20:56:22 -06:00
Conrad Irwin
d0497dfdb7
Clear counts when switching modes
2023-09-11 18:30:31 -06:00
Conrad Irwin
b850e0b8a6
vim: ALlow counts on insert actions
...
This re-uses the existing repeat infrastructure.
2023-09-11 18:09:47 -06:00
Conrad Irwin
4aa2148f76
vim: Fix count handling to allow pre/post counts
...
Fixes 2yy, d3d, etc.
For zed-industries/community#970
For zed-industries/community#1496
2023-09-11 14:35:47 -06:00
Conrad Irwin
755586f439
Allow a count with CurrentLine
...
Add _ and g_ too while we're here.
2023-09-11 14:19:43 -06:00
Conrad Irwin
cec47cb01a
vim . to replay ( #2936 )
...
Release Notes:
- vim: Add `.` to replay
([#946 ](https://github.com/zed-industries/community/issues/946 ))
- vim: Fix `J` in visual mode, and with counts.
2023-09-08 11:52:35 -06:00
Conrad Irwin
b191a50e72
Don't replay ShowCharacterPalette
2023-09-08 11:35:00 -06:00
Conrad Irwin
298d072b93
Fix f,t on soft-wrapped lines
...
Also remove the (dangerously confusing) display_map.find_while
2023-09-08 10:16:46 -06:00
Conrad Irwin
1fb1c40f22
add vim-specific J (with repeatability)
2023-09-07 11:08:07 -06:00
Conrad Irwin
15f5cbe9fa
TEMP
2023-09-07 10:51:18 -06:00
Conrad Irwin
17c2ee6ed1
Add visual area repeating
2023-09-07 10:45:38 -06:00
Conrad Irwin
3f25df90d3
Make test more deterministic
...
Otherwise these pass only when --features=neovim is set
2023-09-06 14:14:49 -06:00
Conrad Irwin and
204e716a5d
vim . to replay
...
Co-Authored-By: maxbrunsfeld@gmail.com
2023-09-06 13:49:55 -06:00
Conrad Irwin
475925ea6c
vim S ( #2929 )
...
Release Notes:
- vim: Add `S` to substitute line ([#1897 ](https://github.com/zed-industries/community/issues/1897 )).
2023-09-05 09:39:08 -06:00
Conrad Irwin
c1953aca44
Use consistent naming
2023-09-02 19:52:18 -06:00
Conrad Irwin
8f09db790f
Fix tests with no neovim
2023-09-02 19:43:05 -06:00
Conrad Irwin
48a79db963
vim: Add S to substitute line
...
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin
c240a03a92
Merge branch 'main' into vim-softwrap-word
2023-09-01 12:23:56 -06:00
Conrad Irwin
6117aac1d1
Fix accidental visual selection on scroll
...
As part of this fix partial page distance calculations to more closely
match vim.
2023-09-01 11:14:27 -06:00
Julia
3faabbe91a
Merge branch 'main' into multi-server-completions-tailwind
2023-08-30 22:58:37 -04:00
Conrad Irwin
d614796305
Fix find_{,preceding}boundary to work on buffer text
...
Before this change the bounday could mistakenly have happened on a soft
line wrap.
Also fixes interaction with inlays better.
2023-08-29 18:03:29 -07:00
Julia and Max Brunsfeld
1d63cf0ca0
Add word_characters to language overrides & use for more things
...
Use word_characters to feed completion trigger characters as well and
also recognize kebab as a potential sub-word splitter. This is fine for
non-kebab-case languages because we'd only ever attempt to split a word
with a kebab in it in language scopes which are kebab-cased
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-08-25 18:46:30 -04:00
Conrad Irwin
b7fde801d7
A few more fixes for wrapped line motions
2023-08-25 14:40:04 -06:00
Conrad Irwin
389a5ebabc
vim: Fix relative line motion
...
Before this change up and down were in display co-ordinates, after this
change they are in fold coordinates (which matches the vim behaviour).
To make this work without causing usabliity problems, a bunch of extra
keyboard shortcuts now work:
- vim: `z {o,c}` to open,close a fold
- vim: `z f` to fold current visual selection
- vim: `g {j,k,up,down}` to move up/down a display line
- vim: `g {0,^,$,home,end}` to get to start/end of a display line
Fixes : zed-industries/community#1562
2023-08-25 14:40:04 -06:00
Conrad Irwin
362f9a583a
vim change for wrapped lines
2023-08-25 14:40:03 -06:00