Commit Graph
6906 Commits
Author SHA1 Message Date
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
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
Nathan SoboandConrad Irwin cf38264eda Handle multiple selections when joining lines
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:47:06 -06:00
Nathan SoboandConrad Irwin 61352f68ea Add more assertions for joining lines at the end of the file
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:21:09 -06:00
Nathan SoboandConrad Irwin f07a929350 Allow joining multiple lines and deleting empty lines
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:18:28 -06:00
Piotr Osiewicz 86506a89ab Remove theme_testbench 2023-06-21 19:11:55 +02:00
Piotr Osiewicz d3a333b873 Tidy up xtask 2023-06-21 19:06:34 +02:00
Piotr Osiewicz d194edc49f xtask: publish = false 2023-06-21 18:51:06 +02:00
Piotr Osiewicz 9aa7a50951 Use xtask for theme generation 2023-06-21 18:48:09 +02:00
Nathan SoboandConrad Irwin c48bd394c1 Start on joining lines
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 10:32:02 -06:00
Nathan Sobo d78fbbc63e Add title to assistant panel and move + to right 2023-06-21 09:54:49 -06:00
Sergey Onufrienko a9fec7f15b fix: create schemas folder 2023-06-21 16:13:04 +02:00
Sergey Onufrienko 01b9e88079 chore: move schema gen to theme 2023-06-21 16:12:27 +02:00
Antonio Scandurra a011ced698 Allow loading a previously-saved conversation 2023-06-21 16:06:09 +02:00