Piotr Osiewicz
5ab715aac9
text: Wrap BufferId into a newtype
2024-01-29 20:00:47 +01:00
Conrad Irwin
331b6e7e6e
Support "dtx" vim key combination when "x" is immediately to the right of the cursor ( #6830 )
...
Closes #4358
The bug originates on this line:
5db7e8f89e/crates/vim/src/motion.rs (L451)
- When running "dtx" on "ˇabcx", the range to delete is 0 -> 2 ("abc")
- When running "dtx" on "abˇcx", the range to delete is 2 -> 2 ("c"), so
`new_point == point` and the function incorrectly returns `None` and "c"
is not deleted
- We need to disambiguate between the "not found" case and the "found
immediately to the right" case
- This bug does not apply to the backwards case ("dTx")
Release Notes:
- Fixed "dtx" vim key combination when "x" is immediately to the right
of the cursor (#4358 )
2024-01-28 19:46:14 -07:00
Brooks Swinnerton
52f7f2d770
Update name of function to match other implementation
2024-01-28 15:20:50 -05:00
Brooks Swinnerton
c0c0abae56
Add support for u and U in vim visual mode
2024-01-28 15:13:09 -05:00
Piotr Osiewicz
0a0a866dd5
Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. ( #5535 )
...
Release Notes:
- N/A
2024-01-27 13:51:16 +01:00
Brian Strauch
5b9f15e075
add test_data
2024-01-26 20:02:59 -08:00
Brian Strauch
f369e9a48b
vim: fix dtx when x is immediately to the right
2024-01-26 16:58:48 -08:00
Thorsten Ball
8d2a401f09
Fix panic when typing umlauts in command palette using Vim mode
...
Co-Authored-By: Antonio <antonio@zed.dev>
2024-01-26 10:57:14 +01:00
Conrad Irwin
d519fc6b02
Vim :% and :0
...
Fixes #4303
2024-01-25 19:15:45 -07:00
Joseph T. Lyons
40dbe15b2a
Update all links point to community
2024-01-24 15:11:17 -05:00
Piotr Osiewicz
f2ff7fa4d5
chore: Change AGPL-licensed crates to GPL (except for collab) ( #4231 )
...
- [x] Fill in GPL license text.
- [x] live_kit_client depends on live_kit_server as non-dev dependency,
even though it seems to only be used for tests. Is that an issue?
Release Notes:
- N/A
2024-01-24 00:26:58 +01:00
Piotr Osiewicz
21e6b09361
Remove license-file from Cargo.toml as it is apparently redundant ( #4218 )
...
Release Notes:
- N/A
2024-01-23 17:40:30 +01:00
Piotr Osiewicz
678bdddd7d
chore: Add crate licenses. ( #4158 )
...
- GPUI and all dependencies: Apache 2
- Everything else: AGPL
Here's a script that I've generated for it:
https://gist.github.com/osiewicz/6afdd6626e517da24a2092807e6f0b6e
Release Notes:
- N/A
---------
Co-authored-by: David <david@zed.dev>
2024-01-23 16:56:22 +01:00
Conrad Irwin
b9c7bafc80
Merge remote-tracking branch 'origin/main' into jk
2024-01-21 22:03:54 -07:00
Conrad Irwin
4143d3a36e
Work on tests
2024-01-21 22:00:35 -07:00
Thorsten Ball
29e74a648f
When searching in visual mode switch to normal mode ( #4178 )
...
This matches Neovim behaviour by setting the mode to `Normal` when using
search while in visual mode.
Release Notes:
- Fixed Vim mode not switching to normal mode from visual mode when
using search (`/`) while in visual mode.
2024-01-21 08:42:47 +01:00
Mikayla
4184686e8d
Lock down test platform implementation
2024-01-20 15:03:36 -08:00
Thorsten Ball
87be105af7
When searching in visual mode switch to normal mode
...
This matches Neovim behaviour by setting the mode to `Normal` when using
search while in visual mode.
Co-authored-by: Conrad <conrad@zed.dev>
2024-01-20 16:33:07 +01:00
Conrad Irwin
137e219830
Don't toggle WHOLE_WORD in vim search ( #4165 )
...
Fixes */# in visual mode, and avoids setting up irritating state.
[[PR Description]]
Release Notes:
- vim: Improved `*` and `#` to not toggle Zed's search state. Instead we
now use the regex to identify start and end of words (more like vim).
2024-01-19 15:02:38 -07:00
Max Brunsfeld
9ec6855e6b
Start work on API docs for the language crate ( #3981 )
2024-01-19 10:04:45 -08:00
Conrad Irwin
0479ebc26d
Don't toggle WHOLE_WORD in vim search
...
Fixes */# in visual mode, and avoids setting up irritating state.
2024-01-19 10:58:55 -07:00
Marshall Bowers
01f06f96a1
Update tenses of doc comment summary lines ( #4161 )
...
This PR updates the tenses used by the summary line of doc comments to
match the [Rust API documentation
conventions](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#summary-sentence ).
Specifically:
> The summary line should be written in third person singular present
indicative form. Basically, this means write ‘Returns’ instead of
‘Return’.
I'm sure there are plenty occurrences that I missed.
Release Notes:
- N/A
2024-01-19 11:18:50 -05:00
Max Brunsfeld
b65cf6d2d9
Merge branch 'main' into language-api-docs
2024-01-18 15:06:45 -08:00
Conrad Irwin
4e118f3dd7
Fix some cases of broken repeat in vim
2024-01-18 13:20:08 -07:00
Joseph T. Lyons
b807e6fe80
Use try_global()
2024-01-18 01:33:30 -05:00
Mikayla Maki
aa7351041d
Add typo detection to CI ( #4107 )
...
Adding the typos crate to our CI will take some doing, as we have
several tests which rely on typos in various ways (e.g. checking state
as the user types), but I thought I'd take a first stab at fixing what
it finds.
Release Notes:
- N/A
2024-01-17 17:13:47 -08:00
Piotr Osiewicz
6cbc49e5f0
Editor docs ( #4097 )
...
Release Notes:
- N/A
---------
Co-authored-by: Kirill <kirill@zed.dev>
2024-01-18 00:48:37 +01:00
Mikayla
e6ca92ffa4
Fix a few more typos
2024-01-17 14:58:58 -08:00
Mikayla
9a7d2e3fe4
fmt
2024-01-17 14:44:10 -08:00
Mikayla Maki
0711476fd5
Merge branch 'main' into fix-typos
2024-01-17 14:36:03 -08:00
Mikayla
57400e9687
Fix typos detected by crate-ci/typos
2024-01-17 14:31:21 -08:00
Marshall Bowers
4e4a1e0dd1
Document the public interface of the vim
crate ( #4093 )
...
This PR documents the public interface of the `vim` crate.
Release Notes:
- N/A
---------
Co-authored-by: Conrad <conrad@zed.dev>
2024-01-17 13:32:38 -05:00
Max Brunsfeld
6457ccf9ec
Add docs for buffer.rs
...
Co-authored-by: Antonio <antonio@zed.dev>
2024-01-17 10:08:42 -08:00
Thorsten Ball
04922d649c
Fix missing Ctrl-[ bindings in Vim mode
...
This "adds" the keybindings I was missing in Vim mode (e.g. `Ctrl-[` to
cancel a selection) by fixing the definitions in the keymap from
`Ctrl+[` to `Ctrl-[`.
2024-01-17 12:22:05 +01:00
Kirill Bulatov
7b3e7ee3cc
Enfoce no dbg! and todo! in Rust code via clippy lints in the CI job
2024-01-11 00:26:46 +02:00
Conrad Irwin
5dff458014
Ensure focus_in and focus_out fire on window activation ( #3993 )
...
Also:
- Rename cx.on_blur to cx.on_focus_lost
- Fix a bug where notify calls in focus handlers were ignored
- Fix a bug where vim would get stuck in the wrong mode when switching
windows
Release Notes:
- (preview only) vim: fix switching between multiple windows
2024-01-10 10:00:07 -07:00
Conrad Irwin
5d3f5611e5
guest promotion ( #3969 )
...
Release Notes:
- Adds the ability to promote read-only guests to read-write
participants in calls
2024-01-09 22:21:13 -07:00
Conrad Irwin
72c022f413
Ensure focus-sensitive tests have active windows
2024-01-09 21:38:06 -07:00
Conrad Irwin
1bf33b4b61
Ensure focus_in and focus_out fire on window activation
...
Also:
- Rename cx.on_blur to cx.on_focus_lost
- Fix a bug where notify calls in focus handlers were ignored
- Fix a bug where vim would get stuck in the wrong mode when switching
windows
2024-01-09 20:55:00 -07:00
Mikayla
9ce7ef8949
Remove the last of the major todos
2024-01-09 16:14:54 -08:00
Conrad Irwin
844d161c40
Allow adding write access to guests
2024-01-08 22:02:56 -07:00
Piotr Osiewicz
e4b1c76895
Display setting documentation in settings.json ( #3936 )
...
Let this screenshot of settings.json speak for itself:
![image](https://github.com/zed-industries/zed/assets/24362066/fca60383-1788-43f9-803b-00f083394c8a )
Release Notes:
- Added code completion & on-hover documentation to Zed's settings.json
file.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-01-08 19:30:18 +01:00
Conrad Irwin
709682e8bc
Tidy up TestContext lifecycle
...
Co-Authored-By: Max <max@zed.dev>
2024-01-05 16:31:41 -07:00
Max Brunsfeld
f5ba22659b
Remove 2 suffix from gpui
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:59:39 -08:00
Max Brunsfeld
dfcb17fe74
Remove 2 suffix for theme
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:41:01 -08:00
Max Brunsfeld
4305c5fdbe
Remove 2 suffix for ui, storybook, text
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:33:51 -08:00
Max Brunsfeld
0cf65223ce
Remove 2 suffix for collab, rope, settings, menu
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:29:16 -08:00
Max Brunsfeld
9f99e58834
Remove 2 suffix for lsp, language, fuzzy
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:58:02 -08:00
Max Brunsfeld
c5a1950522
Remove 2 suffix for project
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:53:34 -08:00
Max Brunsfeld
4ddb26204f
Remove 2 suffix for ai, zed_actions, install_ci, feature_flags
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:48:46 -08:00
Max Brunsfeld
789ce8dd75
Remove 2 suffix for workspace
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 11:08:51 -08:00
Max Brunsfeld
588976d27a
Remove 2 suffix for editor
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:58:57 -08:00
Max Brunsfeld
0ac8aae17b
Remove 2 suffix for language_tools, search, terminal_view, auto_update
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:52:40 -08:00
Max Brunsfeld
252694390a
Remove 2 suffix for vim, diagnostics, go_to_line, theme_selector, command_palette, file_finder
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 10:42:49 -08:00
Conrad Irwin
a9349267ec
hah, oops
2023-12-12 18:54:35 -07:00
Conrad Irwin
f35453caad
COmment out tests again for now
2023-12-11 11:40:54 -07:00
Conrad Irwin
32837d67be
vim2 compiling (but mostly commented out)
2023-12-08 18:47:14 +00:00
Piotr Osiewicz
b73ccc8180
Start out Copilot2;
...
Add hidden_action_types to CommandPaletteFilter.
WindowContext.available_actions now returns global actions as well.
Co-authored-by: Antonio <antonio@zed.dev>
2023-12-05 14:57:20 +01:00
Conrad Irwin
ffcec011f8
Don't use function_name in vim tests
2023-10-25 23:26:57 +02:00
Conrad Irwin
2b95db087b
Fix infinite loop in select all ( #3154 )
...
[[PR Description]]
Release Notes:
- Fixed an infinite loop in select all matches
([#2170 ](https://github.com/zed-industries/community/issues/2170 )).
2023-10-24 02:58:48 -06:00
Conrad Irwin
0e035c1a95
Fix character selection
2023-10-24 10:50:08 +02:00
Conrad Irwin
6e4e19d8fc
Fix infinite loop in select all
2023-10-23 16:08:12 +02:00
Conrad Irwin
b495669c86
Fix neovim tests with angle brackets
2023-10-22 22:24:35 -06:00
Conrad Irwin
3cf98c4fae
Add | as a bracket and a motion
...
Although vim/nvim doesn't have | as brackets, it's common in langauges like Rust
and Ruby, and I expect it to work.
2023-10-22 22:17:34 -06:00
Conrad Irwin
9589f5573d
Fix some bugs with vim objects
...
- softwrap interaction
- correct selection if cursor is on opening marker
2023-10-22 21:44:34 -06:00
Conrad Irwin
0dae0f6027
pixel columns ( #3052 )
...
@ForLoveOfCats and I found a few speedups that make this acceptably fast
(able to update ~10k selections in <100ms), so the remaining work here
is to fix the tests, and then ship!
Release notes:
- Updated up/down to work based on pixel positions
([#1966 ](https://github.com/zed-industries/community/issues/1966 ))
([#759 ](https://github.com/zed-industries/community/issues/759 ))
- vim: Fixed off-by-one in visual block mode
([2123](https://github.com/zed-industries/community/issues/2123 ))
2023-10-20 15:01:27 -06:00
Conrad Irwin
2de34a905d
Hide any circumstantial evidence that this didn't work perfectly first
...
time
2023-10-20 14:45:37 -06:00
Conrad Irwin
352a554c74
Fix bug in vim visual block mode
2023-10-20 11:49:10 -06:00
Conrad Irwin
c7991ef04c
Add "workspace: Toggle Vim Mode"
...
Co-Authored-By: Marshall <elliott.codes@gmail.com>
2023-10-20 11:41:13 -06:00
Conrad Irwin
1c36134cf9
Fix single column vim selections
2023-10-20 11:17:19 -06:00
Conrad Irwin
9d07561d99
Merge branch 'main' into pixel-columns
2023-10-18 23:00:56 -06:00
Conrad Irwin
3eb8aa8085
Refactor TextLayoutDetails construction
2023-10-18 22:56:11 -06:00
Conrad Irwin
cb76b2a6ad
Make vim visual block work better
2023-10-18 22:23:06 -06:00
Conrad Irwin
85b76b1143
Don't wrap on paragraphs ( #3094 )
...
Release Notes:
- vim: `{` and `}` will no longer wrap around end of file
([#2116 ](https://github.com/zed-industries/community/issues/2116 )).
2023-10-10 19:25:40 -06:00
Conrad Irwin
1de9add304
vim: Add shift-y
2023-10-10 18:46:49 -06:00
Conrad Irwin
ab050d1890
Use Horizontal ranges everywhere
2023-10-09 21:48:50 -06:00
Conrad Irwin
ef7e2c5d86
Get the project running!
2023-10-09 21:48:31 -06:00
Joseph T. Lyons
4b2c24dd8c
Add enable vim mode checkbox to welcome screen
2023-10-08 20:07:59 -04:00
Conrad Irwin
2d99b327fc
Don't wrap on paragraphs
...
For zed-industries/community#2116
2023-10-06 10:32:15 -06:00
Conrad Irwin
f1c743286d
Clear SelectionGoal on input
2023-10-05 09:02:52 -06:00
Conrad Irwin
a4e77af571
Fix panic in increment
2023-10-04 15:13:01 -06:00
Max Brunsfeld
55da5bc25d
Switch .leader_replica_id -> .leader_peer_id
2023-09-29 14:16:38 -07:00
Max Brunsfeld
c718b810f6
Merge branch 'main' into allow-following-outside-of-projects
2023-09-29 14:15:33 -07:00
Conrad Irwin
9b7bd4e9ae
vim: Fix accidental visual selection when following
2023-09-29 12:08:25 -06:00
Conrad Irwin
e7ee8a95f6
vim: Fix some dw edge cases ( #3058 )
...
Release Notes:
- vim: Fix `dw` on the last word of a line, and on empty lines.
2023-09-28 15:32:29 -06:00
Conrad Irwin
91adefedfa
vim keybinding updates ( #3057 )
...
Release Notes:
- vim: Add ctrl-i to go forward
([#1732 ](https://github.com/zed-industries/community/issues/1732 )).
ctrl-o was already supported.
- vim: Add `g <space>` to open the current snippet in its own file.
- vim: Escape will now return to normal mode even if completion menus
are open (use `ctrl-x ctrl-z` to hide menus, as in vim).
- vim: Add key bindings for Zed's various completion mechanisms:
- - `ctrl-x ctrl-o` to open the completion menu,
- - `ctrl-x ctrl-l` to open the LSP action menu,
- - `ctrl-x ctrl-c` to trigger Copilot (requires configuring copilot),
- - `ctrl-x ctrl-a` to trigger the inline Assistant (requires
configuring openAI),
NOTE: we should add these to the docs before shipping 0.107 to stable.
2023-09-28 15:32:21 -06:00
Conrad Irwin
2f5eaa8475
vim increment ( #3054 )
...
- vim: add ctrl-a/ctrl-x for increment/decrement
2023-09-28 15:32:11 -06:00
Max Brunsfeld
a8b35eb8f5
Merge branch 'main' into allow-following-outside-of-projects
2023-09-28 11:58:28 -07:00
Max Brunsfeld
545b5e0161
Assign unique color indices to room participants, use those instead of replica_ids
...
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-28 11:06:09 -07:00
Conrad Irwin
768c991909
vim: Fix some dw edge cases
2023-09-27 23:09:09 -06:00
Conrad Irwin
2cb320e246
Escape returns to normal mode even if completion is open
...
For zed-industries/community#1746
2023-09-27 21:28:30 -06:00
Conrad Irwin
dd1cf5c3cf
vim: add ctrl-a/ctrl-x
...
For zed-industries/community#1411
For zed-industries/community#619
2023-09-27 19:49:31 -06:00
Conrad Irwin
3573896fe0
Don't prompt to save unchanged files
2023-09-27 16:07:35 -06:00
Conrad Irwin
25429f760c
ctrl-a/x for vim
2023-09-27 12:32:01 -06:00
Conrad Irwin
8e1bbf32be
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
42df5ef45e
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
b29e295e1b
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
32f8733313
Code review changes
2023-09-20 21:29:45 -06:00
Conrad Irwin
7a7ff4bb96
Fix save related tests, and refactor saves again
2023-09-20 20:44:42 -06:00
Conrad Irwin
a59da3634b
Fix backward search from command
2023-09-20 20:44:42 -06:00
Conrad Irwin
a25fcfdfa7
Iron out some edge-cases
2023-09-20 20:44:42 -06:00
Conrad Irwin
2d9db0fed1
Flesh out v1.0 of vim :
2023-09-20 20:44:41 -06:00
Conrad Irwin
a4f96e6452
tests: wait deterministically after simulating_keystrokes
2023-09-20 20:44:26 -06:00
Conrad Irwin
ba5d84f7e8
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
ea3a1745f5
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
01b2db4845
Fix vim test recording
2023-09-20 12:01:04 -06:00
Conrad Irwin
8de67fd9d9
Fix vim panic when over-shooting with j
2023-09-20 11:20:35 -06:00
Conrad Irwin
1295e5b41f
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
71e519aa3b
vim: Use explicit global, not default
2023-09-18 14:22:41 -06:00
Conrad Irwin
adf313bd33
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
417f28effe
Fix vim-related panic
2023-09-18 12:13:50 -06:00
Conrad Irwin
5c22e40e99
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
4244e7893f
Clip twice
2023-09-18 08:28:21 -06:00
Conrad Irwin
c4797f87b4
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
b02bd9bce1
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
a9de6c3dba
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
890a587254
Use standalone inlay background highlights
2023-09-14 22:08:12 +03:00
Conrad Irwin
0958def770
Remove another supported exemption
2023-09-12 12:48:36 -06:00
Conrad Irwin
dcaba9d9e7
Remove supported exception
...
(and refactor tests to be more linear)
2023-09-12 10:13:24 -06:00
Conrad Irwin
7daed1b2c3
Fix 0 used in a count
2023-09-12 09:56:23 -06:00
Conrad Irwin
c2c521015a
Fix bug where cursors became invisible if replaying was interrupted
2023-09-11 20:56:22 -06:00
Conrad Irwin
76d55244a1
Clear counts when switching modes
2023-09-11 18:30:31 -06:00
Conrad Irwin
d868d00985
vim: ALlow counts on insert actions
...
This re-uses the existing repeat infrastructure.
2023-09-11 18:09:47 -06:00
Conrad Irwin
cee549e1ef
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
e8a6ecd6ac
Allow a count with CurrentLine
...
Add _ and g_ too while we're here.
2023-09-11 14:19:43 -06:00
Conrad Irwin
5d782b6cf0
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
88dae22e3e
Don't replay ShowCharacterPalette
2023-09-08 11:35:00 -06:00
Conrad Irwin
5f897f45a8
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
8e2e00e003
add vim-specific J (with repeatability)
2023-09-07 11:08:07 -06:00
Conrad Irwin
48bb2a3321
TEMP
2023-09-07 10:51:18 -06:00
Conrad Irwin
1b1d7f22cc
Add visual area repeating
2023-09-07 10:45:38 -06:00
Conrad Irwin
f22d53eef9
Make test more deterministic
...
Otherwise these pass only when --features=neovim is set
2023-09-06 14:14:49 -06:00
Conrad Irwin
20f98e4d17
vim . to replay
...
Co-Authored-By: maxbrunsfeld@gmail.com
2023-09-06 13:49:55 -06:00
Conrad Irwin
c2c04616b4
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
55dd0b176c
Use consistent naming
2023-09-02 19:52:18 -06:00
Conrad Irwin
3a7b551e33
Fix tests with no neovim
2023-09-02 19:43:05 -06:00
Conrad Irwin
af12977d17
vim: Add S
to substitute line
...
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin
aa7b65bbaf
Merge branch 'main' into vim-softwrap-word
2023-09-01 12:23:56 -06:00
Conrad Irwin
6d7949654b
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
ff3865a4ad
Merge branch 'main' into multi-server-completions-tailwind
2023-08-30 22:58:37 -04:00
Conrad Irwin
d3650594c3
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
fc457d45f5
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
dee1a433dd
A few more fixes for wrapped line motions
2023-08-25 14:40:04 -06:00
Conrad Irwin
20aa2a4c54
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
0280d5d010
vim change for wrapped lines
2023-08-25 14:40:03 -06:00
Conrad Irwin
1f3e009b32
Fix zed-industries/community#1950
2023-08-25 11:34:07 -06:00
Max Brunsfeld
404f76739c
Format let-else statements
2023-08-25 10:11:32 -07:00
Mikayla Maki
fbc7b37b2f
Introduce channel notes ( #2880 )
...
![Screen Shot 2023-08-24 at 5 26 53
PM](https://github.com/zed-industries/zed/assets/326587/3e84c5a6-1aaf-4335-a880-4c32eb83332d )
### Todo
* [x] Snapshot channel buffers when everyone closes the buffer
* [x] Ensure that users who are in both a project and a channel note
have the same color in both places
* [x] Allow following project collaborators into channel notes
* [x] Expose notes for the current channel under "Current Call" section
of the collaboration panel
* [x] Offline state for the channel notes view
* [x] Make the channel context menu accessible to all members (to expose
the notes)
* [x] Wire in view and Item method overrides
Release Notes:
- N/A
2023-08-24 18:01:28 -07:00
Max Brunsfeld
a95dcfa8bc
Make channel notes view searchable and navigable via pane history
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 17:18:18 -07:00
Conrad Irwin
e4794e3134
vim: Fix linewise copy of last line with no trailing newline
...
Along the way, delete the VimBindingTestContext by updating the
visual tests to no-longer need it.
2023-08-24 00:00:12 -06:00
Conrad Irwin
33d7fe02ee
Rewrite paste
...
- vim: support P for paste before
- vim: support P in visual mode for paste without overriding clipboard
- vim: fix position when using `p` on text copied outside zed
- vim: fix indentation when using `p` on text copied from zed
2023-08-22 13:27:57 -06:00
Piotr Osiewicz
007d1b09ac
Z 2819 ( #2872 )
...
This PR adds new config option to language config called
`word_boundaries` that controls which characters should be recognised as
word boundary for a given language. This will improve our UX for
languages such as PHP and Tailwind.
Release Notes:
- Improved completions for PHP
[#1820 ](https://github.com/zed-industries/community/issues/1820 )
---------
Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-22 12:23:30 +03:00
Conrad Irwin
168a213a44
Add test for word characters in vim
2023-08-21 22:37:14 -06:00
Piotr Osiewicz
6137d88a54
Merge branch 'main' into Z-2819
2023-08-21 17:41:27 +02:00
Piotr Osiewicz
ab5bd0ac5a
Use new char_kind (parameterized by language)
2023-08-21 17:39:38 +02:00
Conrad Irwin
3ab3042e95
Don't show vim mode when disabled
2023-08-18 15:50:34 -06:00
Conrad Irwin
93461d366c
Fix <Enter> to go to non-whitespace character
...
Fixes : zed-industries/community#831
2023-08-18 12:24:39 -06:00
Conrad Irwin
e3c0e93e46
Fix cursor adjustment on scroll
...
Fixes : zed-industries/community#1929
Also preserves visual modes correctly.
2023-08-18 11:23:43 -06:00
Conrad Irwin
d1aa82bb48
vim visual block ( #2849 )
...
Release notes:
- vim: add Visual Block mode
([#984 ](https://github.com/zed-industries/community/issues/984 )),
([#1415 ](https://github.com/zed-industries/community/issues/1415 )).
- vim: add support for `a<object>` and `i<object>` in visual modes
- vim: fix scroll shortcuts (`ctrl-{f,b,d,u,e,y}`) in visual modes
- allow `shift-enter` to type a newline.
2023-08-18 09:55:40 -06:00
Conrad Irwin
b0ba0f8851
Fix visual objects
...
Adds 'a'/'i' in visual mode
2023-08-17 17:13:23 -06:00
Conrad Irwin
d4276acab8
Give up on monospace indicator
...
Changing mode almost always introduces the (1 selected) text in
the status bar, so we may as well also keep the --'s for block and line
mode.
2023-08-17 16:04:55 -06:00
Conrad Irwin
eb0b2e60bb
Preserve line mode selection on undo
...
This diverges from vim's behaviour (which collapses the
cursor to a single point on undo).
2023-08-17 15:40:27 -06:00
Conrad Irwin
59d1a5632f
Fix edge-cases in visual block insert
2023-08-17 15:16:26 -06:00
Conrad Irwin
3514816ece
Store some vim state per-editor
...
This fixes a bug where opening and closing command would reset your
selection incorrectly.
2023-08-17 14:09:47 -06:00
Mikayla
afebe3faf8
Merge branch 'main' into project_search_design
2023-08-17 01:56:05 -07:00
Conrad Irwin
7598030102
Tidy-up
2023-08-16 22:29:28 -06:00
Conrad Irwin
7f06191c9f
Disable autoindent in visual block insert mode
2023-08-16 10:44:59 -06:00
KCaverly
d727ba18f2
Merge branch 'main' of github.com:zed-industries/zed into project_search_design
2023-08-16 12:43:04 +01:00
Conrad Irwin
1b4dd49b1d
Vim visual block mode
...
This isn't quite an exact emulation, as instead of using one selection
that is magically in "column mode", we emulate it with a bunch of zed
multi-selections (one per line).
I think this is better, as it requires fewer changes to the codebase,
and lets you see the impact of any changes immediately on all lines.
Fixes : zed-industries/community#984
2023-08-15 16:00:50 -06:00
Max Brunsfeld
943aeb8c09
Run until parked when setting editor's state via EditorTestContext
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 13:42:54 -07:00
Conrad Irwin
1cc0798aea
Add a VisualBlock mode
...
Instead of trying to extend the Mode::Visual special case, just split
out into three different modes.
2023-08-15 10:00:45 -06:00
Conrad Irwin
404b1aa65a
Fix vim selection to include entire range ( #2787 )
...
Update vim mode to have vim selection and editor selections match.
Before this we had to adjust between vim selections and real selections
when making changes; now we have to adjust when making selections.
Release Notes:
- vim: Ensure editor selection matches the vim selection
([#1796 ](https://github.com/zed-industries/community/issues/1796 )).
- vim: Fix `s` in visual line mode
- vim: Add `o` and `shift-o` to toggle direction of visual selection
- vim: Fix `v` and `shift-v` to toggle back to normal mode
- vim: Fix block selections like `vi}` to contain correct whitespace
2023-08-15 08:36:17 -06:00
Conrad Irwin
1af7425059
Fix vim escape in normal mode
...
Fixes : zed-industries/community#1857
2023-08-14 16:05:41 -06:00
Conrad Irwin
fb90eada70
Merge branch 'main' into vim-visual-selection
2023-08-14 15:29:33 -06:00
Piotr Osiewicz
7ef5656f6a
Merge branch 'main' into project_search_design
2023-08-09 12:30:48 +02:00
Nathan Sobo
d896d89842
Store an AnyWindowHandle in WindowContext
2023-08-08 11:08:37 -06:00
Piotr Osiewicz
343e9d080e
Finish migration to modes for buffer search
2023-08-08 15:57:07 +02:00
Piotr Osiewicz
c53554ead3
Remove SearchOptions::REGEX.
...
A bit WIP as it awaits migration of buffer search to modes
2023-08-08 14:42:11 +02:00
Nathan Sobo
486f5bc6ca
Get compiling
2023-08-07 19:08:58 -06:00
Max Brunsfeld
a127b0d3e6
Fix warnings surfaced in Rust 1.71
2023-08-02 09:19:23 -07:00
Conrad Irwin
5f6535e92b
TEMP
2023-08-02 15:06:46 +01:00
Kirill Bulatov
646dabe113
Add buffer search history
2023-08-01 01:31:28 +03:00
Conrad Irwin
645c149344
Fix visual selection of trailing newline
2023-07-28 22:38:39 -06:00
Conrad Irwin
0c15ef7305
Merge VisualChange -> Substitute
...
They both are supposed to work the same.
2023-07-28 15:32:02 -06:00
Conrad Irwin
236b755b1d
Fix substitute in visual line mode
2023-07-28 15:26:40 -06:00
Conrad Irwin
e3788cc6e6
Add o/O for flipping selection
2023-07-28 15:26:40 -06:00
Conrad Irwin
3f2f3bb78d
Fix crash when deleting a long line in visual line mode
2023-07-28 15:26:40 -06:00
Conrad Irwin
5edcb74760
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 Irwin
b53fb8633e
Fix vim selection to include entire range
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-28 15:26:40 -06:00
Mikayla Maki
03bc430bdd
Make mode indicator follow vim enabled state
2023-07-27 16:14:56 -07:00
Julia
fc9687d163
Avoid panic by accessing view handle by global in wrong window
...
View handles are window specific but this global will be doing things
in all windows, that would cause a panic when it attempted to update
a status bar mode indicator in a background window
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-07-27 18:53:05 -04:00
Conrad Irwin
39f02c2b72
Add a mode indicator for vim ( #2763 )
...
Release Notes:
- vim: add a mode indicator
([#409 ](https://github.com/zed-industries/community/issues/409 ))
Now updated screenshots with @iamnbutler
<img width="1043" alt="Screenshot 2023-07-25 at 11 11 57"
src="https://github.com/zed-industries/zed/assets/94272/8301479a-8b58-42d8-81a1-bc40e1e0a4df ">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 00"
src="https://github.com/zed-industries/zed/assets/94272/89c3b8bd-9cbc-4fd7-ad10-dac5538ed3a3 ">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 12"
src="https://github.com/zed-industries/zed/assets/94272/adc87fe3-a720-4779-853b-df9443407046 ">
2023-07-25 20:18:23 -06:00
Conrad Irwin
64b252e81a
A little refactor
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-07-25 12:55:01 -06:00
Conrad Irwin
1f65effe57
Update status bar theming
...
Co-Authored-By: Nate Butler <iamnbutler@gmail.com>
2023-07-25 11:06:41 -06:00
Conrad Irwin
43d94e37ec
Refactor mode indicator to remove itself
...
One of the problems we had is that the status_bar shows a gap between
items, and we want to not add an additional gap for an invisible status
indicator.
2023-07-24 09:51:54 -06:00
Conrad Irwin
458916409c
Add a mode indicator for vim
...
This is the second most common remaining complaint (after :w not
working).
Fixes : zed-industries/community#409
2023-07-21 16:06:14 -06:00
Julia
e002d9efb0
Avoid panic from assuming a vim operator exists on the operator stack ( #2773 )
...
Fixes
https://linear.app/zed-industries/issue/Z-338/operator-popped-when-no-operator-was-on-the-stack-this-likely-means
Release Notes:
- Fixed a panic that could occur when invoking a Vim object without an
operator.
2023-07-21 14:47:38 -04:00
Julia
243a1a854e
Avoid panic from assuming a vim operator exists on the operator stack
2023-07-21 14:25:30 -04:00
Conrad Irwin
56c657fe79
Vim shortcuts ( #2760 )
...
Refactors some of the vim bindings to make the vim.json file less
obtuse.
Release Notes:
- vim: add `;` and `,` to repeat last `{f,F,t,T}`
- vim: add zed-specific shortcuts for common IDE actions:
- - `g A` to find all references
- - `g .` to open the code actions menu.
- - `c d` for rename
2023-07-21 10:31:18 -06:00
Conrad Irwin
4772e4ccee
vim: add , and ;
2023-07-21 09:50:22 -06:00