Commit graph

6911 commits

Author SHA1 Message Date
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 Scandurra
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 Scandurra
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 Scandurra
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. Lyons
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 Irwin
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 Sobo
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 Sobo
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 Sobo
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 Sobo
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