Antonio Scandurra
51542daadd
Filter out vim commands when vim mode is disabled
2023-05-04 14:52:34 +02:00
Antonio Scandurra
1b1f2a3e5e
Avoid re-allocating KeymapContext after every view notification
2023-05-04 12:04:30 +02:00
Antonio Scandurra
b8e92e6d6a
Remove stray dbg! statements
2023-04-21 10:49:47 +02:00
Nathan Sobo
8c4db131da
Fix remaining vim failures
2023-04-20 15:25:11 -06:00
Antonio Scandurra
8b5cdda569
Initialize the active editor when vim mode is enabled
...
Instead of waiting for a focus event. This makes more tests pass.
2023-04-20 14:02:40 -06:00
Antonio Scandurra
41134f0ebb
Make production code compile again
2023-04-17 12:33:33 +02:00
Antonio Scandurra
92cbf44056
Make full-screen and window bounds callbacks take a WindowContext
2023-04-14 11:56:31 +02:00
Nathan Sobo
d937660683
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Mikayla Maki
74318eecb3
Move command palette filter into collections crate
...
Filter out copilot commands from command palette when not active
2023-03-28 20:13:17 -07:00
Kay Simmons
033606fa2e
fix sqlez warning, introduce tab and enter bindings to vim for inputing tab and enter text when waiting for text
2023-02-13 13:50:37 -08:00
Kay Simmons
ab5653a76f
More vim fixes and move some more things out of app.rs
2023-02-13 13:50:37 -08:00
Kay Simmons
0cd5e26029
fix issue with single line editors in vim not properly unhooking vim mode bindings
2023-02-13 13:50:37 -08:00
Kay Simmons
0f8319e799
disable vim mode in non full editors
2023-01-17 17:32:10 -08:00
Kay Simmons
974b07e043
in progress
2023-01-11 12:10:55 -08:00
Kay Simmons
4da1890a54
working f and t bindings
2023-01-06 14:24:20 -08:00
Kay Simmons
2a890bfbfb
remove printline
2022-12-08 14:45:22 -08:00
Kay Simmons
242f038bbd
fix final failing tests
2022-12-08 14:39:48 -08:00
Kay Simmons
acac7d292d
Refactor editor scrolling and implement scroll commands from vim mode
2022-12-07 16:39:32 -08:00
K Simmons
55b9eff3df
Add cursor blink setting and replicate cursor shape to remote collaborators
2022-10-17 16:20:47 -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
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
Max Brunsfeld
a27d243309
Update vim mode tests to use new marked text format
2022-08-03 17:52:34 -07:00
Antonio Scandurra
bfa490c35d
Merge branch 'main' into ime-support-2
2022-07-22 16:03:38 +02:00
Max Brunsfeld
a4d997214e
Remove Input action, detect ignored input in vim via an event
2022-07-21 13:40:48 -07:00
K Simmons
383c91c26c
Fix failing test re mode switch in buffer search
2022-07-19 17:18:17 -07:00
K Simmons
10f65f70d7
Fix clipping when dragging the mouse with vim-mode enabled and adjust single line editor selections
2022-07-19 17:18:17 -07:00
Keith Simmons
49d1b87d94
Fix vim editor focus selection issues, cancel vim operators on escape and unbound keys
2022-06-30 12:36:02 -07:00
Keith Simmons
ee3daac057
Update command palette filter from vim mode more proactively
2022-06-29 11:58:12 -07:00
Keith Simmons
320cb7d94d
Add command palette filter global and update it when vim mode is enabled/disabled
2022-06-28 13:35:43 -07:00
Max Brunsfeld
01aca3b128
Add tests and fix bugs for editor indent/outdent commands w/ hard tabs
2022-06-09 10:26:09 -07:00
Max Brunsfeld
77e036be6e
Merge pull request #1109 from zed-industries/fix-vim-clearing-selections
...
Avoid collapsing selections on editor creation when vim_mode is disabled
2022-06-06 10:32:12 -07:00
Antonio Scandurra
77224e023a
Require that PartialEq is implemented for Action
2022-06-06 09:18:44 +02:00
Antonio Scandurra
7b94a3a4bf
Don't manipulate selections when syncing options if vim-mode is disabled
...
Previously, we were always mutating selections when `sync_editor_options`
was called. This seems to happen every time vim is enabled/disabled, but also
when vim is disabled and editors are simply focused/blurred.
This commit changes it so that we only manipulate selections when vim-mode is active.
2022-06-06 08:14:49 +02:00
Max Brunsfeld
3a1e7d91f1
vim: Avoid collapsing selections on editor creation when vim_mode is disabled
2022-06-04 15:01:43 -07:00
Keith Simmons
b0c5ac1f54
Unify visual line_mode and non line_mode operators
2022-05-26 17:02:05 -07:00
Keith Simmons
6bec27bd79
in progress working on aborting operators on unhandled editor input
2022-05-26 17:02:05 -07:00
Keith Simmons
f053c479e9
Visual line mode handles soft wraps
2022-05-26 17:02:05 -07:00
Keith Simmons
36fa835664
Enable copy and paste in vim mode
2022-05-26 17:02:05 -07:00
Keith Simmons
a66cc7c40b
Working change and delete in line mode
2022-05-26 17:02:05 -07:00
Keith Simmons
be8bfa9592
WIP line mode operations
2022-05-26 17:02:05 -07:00
Keith Simmons
cdbad9aee4
Initial visual mode
2022-05-10 11:12:28 -07:00
Keith Simmons
8e7fcb3b05
Add inclusive vs exclusive motions to vim mode
2022-04-21 16:50:23 -07:00
Keith Simmons
35557b222c
Add c and d operators to vim normal mode
...
Extracted motions from normal mode
Changed vim_submode to be vim_operator to enable better composition of operators
2022-04-15 16:05:50 -07:00
Max Brunsfeld
0908a8799c
Allow actions to be deserialized from JSON
...
Introduce separate macro for implementing 'internal' actions which
are not intended to be loaded from keymaps.
2022-04-08 15:47:51 -07:00
0cf9925cb1
Restructure action macro to assign a namespace to every action
...
Also, allow arbitrary types to be used as Actions via the impl_actions macro
Co-authored-by: Nathan Sobo <nathan@zed.dev >
Co-authored-by: Keith Simmons <keith@zed.dev >
2022-04-07 16:20:49 -07:00
Max Brunsfeld and Keith Simmons
dce66e6f9e
Move Settings to its own crate
...
Co-authored-by: Keith Simmons <keith@zed.dev >
2022-04-06 10:23:33 -07:00
Keith Simmons
dda7cddc7c
Add word and line movement in vim normal mode
...
Add jump to start and end of the document
Move vim tests to relevant vim files
Rename VimTestAppContext to VimTestContext for brevity
Improve VimTestContext assertions to pretty print locations when selection position assertion panics
2022-03-27 17:58:28 -07:00
Nathan Sobo
96254384cf
Assign normal mode when re-enabling
2022-03-26 19:19:12 -06:00
Nathan Sobo
8a57598939
Fully disable vim mode on start unless it's enabled
...
Also: Make some structural adjustments to remove the need for defer. Instead of accessing the global in associated VimState functions, have a single method that allows us to call update instance methods.
2022-03-26 19:19:12 -06:00