Commit Graph
6918 Commits
Author SHA1 Message Date
Nathan Sobo fd3ee0ebd0 Vim toggle case (#2648)
Release Notes:

- vim: Add ~ to toggle case
([#1410](https://github.com/zed-industries/community/issues/1410))
2023-06-27 04:13:24 -06:00
Nathan Sobo 16c23557b8 vim: Fix scrolling (#2647)
After #2641 we noticed that scrolling didn't take a count parameter, and
a few other issues with the way that we calculated the distance to
scroll.
 
Release Notes:

- Improved distance calculations for page-up/page-down
- vim: Allow counts to work with scrolling shortcuts.
2023-06-27 04:01:14 -06:00
Nathan Sobo 0fd0b60bd6 vim: Fix code actions menu (#2650)
Fixes: zed-industries/community#1690

I'm not sure this is the correct way to fix this...
* A simpler approach would be to just say `!showing_code_actions` in the
binding file (as `showing_completions` can only happen in insert mode -
and `VimControl` will be false). This seemed a little error prone if
more menus were added in the future.
* A more complicated approach would be to copy the way this is done from
the MouseContextMenu, which registers its own keyboard shortcuts, and as
such uses those when it's open. This seems "more correct", but is a
major refactoring for a very small reward.

Release Notes:

- vim: Fix code actions menu
([#1690](https://github.com/zed-industries/community/issues/1690))
2023-06-27 03:56:08 -06:00
Conrad Irwin a1343f0d2c vim: Fix code actions menu
Fixes: zed-industries/community#1690
2023-06-26 21:46:06 -06:00
Conrad Irwin a9aa5e5196 vim: Add ~ to change case
Fixes: zed-industries/community#1410
2023-06-26 20:22:24 -06:00
Conrad Irwin 77dc22bff6 vim: Fix cursor restoration when undoing substitute 2023-06-26 20:22:24 -06:00
Conrad Irwin 02fc5dd6c9 vim: Fix scrolling
After #2641 we noticed that scrolling didn't take a count parameter.

The PageDown/PageUp logic was also broken by an additional -1 (for both
vim mode and not).
2023-06-26 13:29:14 -06:00
Joseph T. Lyons c0fb98cb3f Factor out key name 2023-06-26 13:31:41 -04:00
Joseph T. Lyons 8d1cc8815b Merge branch 'main' into add-installation-id-to-panic-events 2023-06-26 13:27:14 -04:00
Antonio Scandurra 43723168fc Remove assistant panel zoom test
The test was testing pretty straightforward logic, but for some strange reason
it was failing on CI (but passed locally). I think it's fine to delete it and
make progress, if zooming regresses we'll find out pretty quickly.
2023-06-26 19:10:59 +02:00
Antonio Scandurra d46d3e6d15 Try fixing test on CI 2023-06-26 18:18:22 +02:00
Antonio Scandurra e77abbf64f Add hover state to assistant buttons 2023-06-26 17:48:43 +02:00
Antonio Scandurra 723c8b98b3 Show quote selection button 2023-06-26 17:24:31 +02:00
Antonio Scandurra e723686b72 Shwo tooltips for assistant buttons 2023-06-26 17:17:45 +02:00
Antonio ScandurraandNathan Sobo edc7f30660 Add assistant icons to the toolbar
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-26 16:49:33 +02:00
Antonio Scandurra c5b3785be5 Revert "Panic in debug if global settings can't be deserialized from defaults"
This reverts commit 7a051a0dcb.
2023-06-26 16:03:19 +02:00
Antonio Scandurra 00e37bc2a2 Merge remote-tracking branch 'origin/main' into save-conversations 2023-06-26 15:59:19 +02:00
Antonio ScandurraandNathan Sobo 9d4dd5c42b Insert empty user message when assisting with the current last message
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-26 15:57:36 +02:00
Antonio ScandurraandNathan Sobo 92d7b6aa3b Allow toggling back and forth between conversation list and editor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-26 15:43:21 +02:00
Nathan Sobo bede668b14 Add a derive macro for Element
To turn any struct into a composite element, you can implement a render method
with the following signature:

fn render<V: View>(&mut self, view: &mut V, cx: &mut ViewContext<V>) -> AnyElement<V>;

Then add #[derive(Element)] to the struct definition.

This will make it easier to introduce higher-level components that are expressed in
terms of other elements.
2023-06-25 07:51:50 -06:00
Kirill Bulatov 82bd5fb564 Fix main compilation 2023-06-25 01:43:58 +03:00
Joseph T. LyonsandJulia 7d065fa14e Add installation_id to panic events
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-06-23 21:02:01 -04:00
Max Brunsfeld 030984dca4 Vim: substitute support (#2641)
Release Notes:

- vim mode now supports `s` for substitute
2023-06-23 12:58:14 -07:00
Max Brunsfeld b0631e90ad vim: Fix 1G (#2640)
Before this change code could not distinguish between a user providing a
count of 1 and no count at all.

Fixes: zed-industries/community#710

Release Notes:

- 1G now correctly goes to the first line in vim mode
([710](zed-industries/community#710))
2023-06-23 12:55:46 -07:00
Antonio Scandurra 5c5d598623 Insert new message right before the next valid one 2023-06-23 11:13:52 +02:00
Antonio Scandurra 6c7271c633 Test serialization roundtrip 2023-06-23 10:42:15 +02:00
Antonio Scandurra c38bf2de33 Sort conversations in descending chronological order 2023-06-23 10:05:21 +02:00
Antonio Scandurra 5ea5368c07 Re-enable buffer search in assistant 2023-06-23 09:57:31 +02:00
Antonio Scandurra ed88f52619 Remove double constrained call 2023-06-23 09:23:52 +02:00
Antonio Scandurra 6f0efec146 Merge remote-tracking branch 'origin/main' into save-conversations 2023-06-23 09:09:42 +02:00
Antonio Scandurra ff07d0c2ed Fix Conversation::messages_for_offsets with empty message at the end 2023-06-23 08:58:30 +02:00
Conrad Irwin 926acd6033 vim: substitute handles multibyte characters
And is now in its own file
2023-06-22 13:22:19 -06:00
Conrad Irwin 0cacf01f90 vim: Fix 1G
Before this change code could not distinguish between a user providing a
count of 1 and no count at all.

Fixes: zed-industries/community#710
2023-06-22 12:11:14 -06:00
Conrad IrwinandNathan Sobo 16022e9c1a Add counts to subsitute (and all)
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-22 11:50:56 -06:00
Piotr Osiewicz fcce1bc488 Fixup xtask compilation 2023-06-22 18:06:52 +02:00
Piotr Osiewicz b430be5bc6 cargo fmt 2023-06-22 17:59:56 +02:00
Piotr Osiewicz af252888c4 Merge branch 'main' into sergey/z-2308-create-a-proof-of-concept-of-exporting-a-type-from-rust-and 2023-06-22 17:58:56 +02:00
Nathan Sobo 1707652643 Always focus a panel when zooming it
This allows us to zoom a panel when clicking a button, even if the
panel isn't currently focused.
2023-06-22 06:55:31 -06:00
Nathan Sobo ea5398a702 vim: binding fixes (#2637)
Release Notes:

- In vim mode you can now use count modifiers with arrow keys (`5<down>`
will go down 5 lines).
- In vim mode `ctrl+]` and `ctrl+o` now work to go to definition and
back
2023-06-22 06:44:12 -06:00
Nathan Sobo cd008d1503 Add support for joining lines (#2636)
🚧 We have a couple more refinements to this to add 🚧 

Release Notes:

You can now join lines with `ctrl-j` or `shift-J` in Vim normal mode.

🍐'd with @ConradIrwin
2023-06-22 06:38:57 -06:00
Nathan Sobo a49189a704 Add Zoom button to assistant panel 2023-06-21 19:50:22 -06:00
Nathan Sobo a75341db97 Move model and remaining tokens to assistant toolbar 2023-06-21 19:01:30 -06:00
Conrad Irwin e1f975e52e vim: Support s on selections and with multiple cursors 2023-06-21 15:44:19 -06:00
Conrad Irwin dcca98b5cc vim: Add basic 's' support 2023-06-21 15:06:34 -06:00
Conrad Irwin d6b1af6244 vim: Allow up/down/left/right in vim mode
The user impact of this is to 5<down> to move 5 lines at a time.
2023-06-21 14:20:39 -06:00
Conrad Irwin 91bd8e305e join_lines: Skip over leading indentation 2023-06-21 13:44:31 -06:00
Nate Butler 6ab0143469 Split Interactive into Interactive and Toggleable (#2628)
This is a part of the intensity driven theme rewrite. 

It introduces the `toggle` and `interactive` helper functions to build
Toggle<T> and Interactive<T> styles for interactive elements in the
theme.

This PR also removes the `theme_testbench` crate and related actions.

Huge thanks to @osiewicz and @mikayla-maki for pushing this forward 🙏🏽

Release Notes:

- Updated the style of many interactive elements.
2023-06-21 15:03:08 -04:00
Kirill Bulatov 1f35ddc44e Run LSP response deserialization outside of main thread (#2635)
Improves latency for big inlay hints LSP responses for ~8k line files.

Before, the CPU usage sample for editing a single line inside
`edirot.rs` file in Zed contained serde inside the main thread traces:

<img width="1728" alt="Screenshot 2023-06-21 at 00 33 23"
src="https://github.com/zed-industries/zed/assets/2690773/d9789efe-8055-487f-bbe7-8beb49605bcb">

Release Notes:

- N/A
2023-06-21 21:03:18 +03:00
Joseph T. Lyons cc027dc626 v0.93.x dev 2023-06-21 13:59:07 -04:00
Nathan SoboandConrad Irwin cde8d7d747 Don't use test-only method; add ctrl-j binding
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:53:11 -06:00