Commit Graph
10426 Commits
Author SHA1 Message Date
Antonio Scandurra 0d3e75e873 Introduce the ability to load and save conversations with the assistant (#2623)
Closes
https://linear.app/zed-industries/issue/Z-1890/save-assistant-conversations-to-the-filesystem
Closes
https://linear.app/zed-industries/issue/Z-2459/cycling-message-roles-on-the-last-empty-message-alters-the-message
Closes
https://linear.app/zed-industries/issue/Z-2460/cycling-role-in-an-empty-message-cycles-wrong-messages-role
Closes https://linear.app/zed-industries/issue/Z-2365/assistant-toolbar
Closes
https://linear.app/zed-industries/issue/Z-2461/always-insert-an-empty-message-at-the-end-of-the-conversation

Release Notes:

- You can now save conversations with the assistant to
`~/.config/zed/conversations` with `cmd-s`. Conversations are also
automatically saved as they are edited.
2023-06-26 19:17:16 +02: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
Nate Butler 1dc52c7547 Fix incorrect ThemeAppearance 2023-06-26 13:07:33 -04:00
Antonio Scandurra d46d3e6d15 Try fixing test on CI 2023-06-26 18:18:22 +02:00
Conrad Irwin c3e8cae20f vim: indent/outdent
Fixes: zed-industries/community#832
2023-06-26 10:08:34 -06:00
Julia 2a8d1343d6 Add installation test binaries for all remaining adapters 2023-06-26 11:54:20 -04: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
Piotr Osiewicz f6edc68613 picker: fix warnings 2023-06-26 17:07:33 +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
Julia 5632f24d24 Handle new elixir-ls release zip name 2023-06-26 10:18:30 -04: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
Piotr Osiewicz 55f06dcdb5 Add headers and footers to file finder 2023-06-26 13:31:46 +02:00
Piotr Osiewicz a9b5c1d867 Remove unnecessary call to context.notify 2023-06-26 12:45:50 +02:00
Nathan Sobo 3f4a06f576 Add an Element derive macro for building components out of other elements (#2643)
To turn any struct into a composite element, you can implement a render
method with the following signature:

```rs
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. Instead of calling functions that
return elements, we can now make any struct into an element fairly
easily. The advantage is that we can use method chaining to express
optional state on these components, and they blend in better with other
elements.

cc @mikayla-maki @osiewicz @iamnbutler 

Release Notes:

- N/A
2023-06-25 08:12:02 -06: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
Julia c4b83c86cc Avoid validating/reinstalling server which refuses will_fetch/start
These adapters have indicated some broader reason to the user why
they cannot be started, don't waste time/bandwidth attempting to
validate and reinstall them
2023-06-24 22:42:06 -04: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
Max BrunsfeldandNathan Sobo 91f87bb31f Scan any external/ignored directories needed for LSP watchers
Also, don't include "external" files in project searches. Treat them
the same as ignored files.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-06-23 12:53:25 -07:00
Julia 7caa096bd0 Remove installation test binary from language server instance 2023-06-23 13:24:50 -04:00
Max Brunsfeld 27b74e9ea1 Prune the set of expanded dir ids as entries are removed 2023-06-23 10:23:21 -07:00
Max Brunsfeld b22a18345e Emit loaded events for lazily loaded paths in worktree 2023-06-23 09:39:37 -07:00
Piotr Osiewicz 4b52ff65c1 Add styles for button 2023-06-23 13:30:40 +02:00
Piotr Osiewicz 6c676121f2 Fixed mic's state not being updated in titlebar if user mutes a mic via command palette 2023-06-23 13:22:33 +02:00
Piotr Osiewicz 62786cd508 Add button 2023-06-23 13:15:25 +02:00
Piotr Osiewicz 437e41f99d Add styles for microphone and speakers buttons 2023-06-23 11:52:06 +02: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
Julia 374c1a3a3e Remove some status stuff 2023-06-23 00:17:27 -04:00
Julia 3302e1133f Whoops 2023-06-22 20:22:05 -04:00
Julia a8acf28989 Remove now-unnecessary complexity 2023-06-22 20:19:07 -04:00
Max Brunsfeld 9ad1ebf387 Fix project panel test helper 2023-06-22 17:02:01 -07:00
Max Brunsfeld ffb0a215ea Fix randomized worktree test failures
* Distinguish between unloaded and pending directories via separate entry kind.
* Scan directories before updating ignore statuses after fs events.
2023-06-22 16:52:04 -07: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
Piotr Osiewicz 8bd9fe1fb0 Deafen now also mutes microphone 2023-06-22 20:05:06 +02: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
Max Brunsfeld 5350164db9 Get integration test passing. Wait for expand entry on remote projects. 2023-06-22 10:34:28 -07:00