Commit Graph
6845 Commits
Author SHA1 Message Date
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
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
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
Kirill BulatovandAntonio Scandurra bd97767c72 Run LSP response deserialization outside of main thread
Improves latency when big inlay hints LSP responses for ~8k line files

Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-21 13:20:42 +03:00
Mikayla Maki 11125a62c7 Add copy-on-click to diagnostic messages 2023-06-20 16:48:30 -07:00
Mikayla Maki f1dc6124dd Fix rebase mistake 2023-06-20 16:09:17 -07:00
Mikayla Maki da94014141 Fix flipped boolean 2023-06-20 16:05:23 -07:00
Mikayla Maki dacfd70fb4 Remove unescessary enum 2023-06-20 16:05:23 -07:00
Piotr Osiewicz 60b4054b0a Fix up toggles 2023-06-20 16:05:23 -07:00
Piotr Osiewicz 31c1177737 Adjust some of the styles to the new Toggleable format 2023-06-20 16:05:23 -07:00
Piotr Osiewicz b9959ffdc0 Do not flatten Interactive::default 2023-06-20 16:05:23 -07:00
Piotr Osiewicz 0256f89dd6 Rename on/off states to active/inactive 2023-06-20 16:05:23 -07:00
Piotr Osiewicz e92015b12f Split out Interactive<T> into Toggle<T> and Interactive<T> 2023-06-20 16:05:20 -07:00
Antonio Scandurra 6ed86781b2 Instruct the assistant to reply to a specific message (#2631)
Closes
https://linear.app/zed-industries/issue/Z-2384/hitting-cmd-enter-in-a-user-or-system-message-should-generate-a

Release Notes:

- Introduced the ability to generate assistant messages for any
user/system message, as well as generating multiple assists at the same
time, one for each cursor. (preview-only)
2023-06-20 18:16:23 +02:00
Nathan Sobo 03993ea719 Rename SumTree::push_tree to ::append (#2626)
This is something I've been meaning to rename in SumTree. Was looking at
the code and figure why not now.
2023-06-20 08:37:55 -06:00
Antonio Scandurra 1d84da1d33 Improve prompt 2023-06-20 15:32:51 +02:00
JuliaandAntonio Scandurra dc07b60e40 Avoid assigning NSCursor style when it already is that style
This avoids a high cost which appears to be the system rasterizing the
cursor every time we call this, fixes a slowdown when scrolling rapidly
while mouse motion continually attempted to assign the style

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-06-20 09:31:30 -04:00
Antonio Scandurra 8673b0b75b Avoid including pending or errored messages on assist 2023-06-20 11:59:51 +02:00
Max Brunsfeld 050c22312c Update plugin runtime LspAdapter impl 2023-06-19 19:38:31 -07:00
Nathan Sobo 8c298a9da5 Rename SumTree::push_tree to ::append 2023-06-19 19:49:33 -06:00
Max Brunsfeld 1215de0c42 Show a notification when unable to start elixir-ls 2023-06-19 18:05:30 -07:00
Max Brunsfeld 57c2d85c66 Show a notification that gopls can't be installed without go 2023-06-19 18:05:12 -07:00
Max Brunsfeld 360bbebbd9 Introduce LspAdapterDelegate trait, passed to LspDelegates 2023-06-19 16:12:25 -07:00
Max Brunsfeld 04430fdbd6 Fix issues with syntax highlighting in elixir and heex 2023-06-19 12:34:46 -07:00
Piotr Osiewicz 2a3c660d1f settings: accept trailing commas (#2606)
Z-2357

I've found a crate that handles both comments and trailing commas in
JSON. It is a fork of `serde_json`, but it is maintained & up-to-date.
Sadly RawValue seems to not play nicely with it; I've ran into
deserialisation issues around use of RawValue. For this PR I've migrated
to `Value` API.

Obviously this is just a point of discussion, not something I'd merge
straight away. There may be better solutions to this particular problem.

I've also noticed that `serde_json_lenient` does not handle trailing
commas after bindings array. I'm not sure how big of an issue that is.

Release Notes:
- Improved handling of trailing commas in settings files.
[#1322](https://github.com/zed-industries/community/issues/1322)
2023-06-19 18:29:03 +02:00
Antonio Scandurra cb55356106 WIP 2023-06-19 17:53:05 +02:00
75e2329028 Allow for multi-cursor assist and cycle_role actions
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-06-19 17:23:40 +02:00
Antonio Scandurra 9191a82447 Remove Assistant::open_ai_request_messages 2023-06-19 14:35:33 +02:00
Antonio Scandurra dc9231d5a3 Merge remote-tracking branch 'origin/main' into replies 2023-06-19 14:28:21 +02:00
Antonio Scandurra c9df963142 Allow message splitting with multiple cursors 2023-06-19 12:00:45 +02:00
Nathan Sobo c3b2b4c4e3 Cycle message roles on ctrl-r (#2619)
I'd like to follow up to allow roles to be cycled for the selected range
and support multi-cursors, but this is a start and contains a
refactoring, so going to merge.

Release Notes:

- Added the ability to cycle roles in the assistant with `ctrl-r`
2023-06-16 14:11:01 -06:00
Kirill BulatovandJulia Risley 77f5b5a80d React on message-less LSP requests properly
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-06-16 22:02:29 +03:00
Nathan Sobo 54c71c1a35 Insert reply after the currently selected user message 2023-06-16 12:41:07 -06:00
Nathan Sobo 11f318566e Allow splitting of messages using shift-enter (#2613)
Closes
https://linear.app/zed-industries/issue/Z-2364/allow-splitting-blocks

Release Notes:

- Added support for splitting messages in the assistant panel using
`shift-enter`. (preview-only)
2023-06-16 11:50:50 -06:00
Nathan Sobo 75b5ac8488 Cycle message roles on ctrl-r 2023-06-16 11:50:18 -06:00
Nathan Sobo c179dd9990 Remove redundant tests 2023-06-16 11:43:16 -06:00
6c0f65cfe0 Avoid inserting redundant newlines
Co-Authored-By: Piotr Osiewicz <piotr@zed.dev>
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-16 10:36:42 -06:00
Piotr Osiewicz ef6cb11d5c Emit editor event whether we insert a newline or not. 2023-06-16 13:29:12 +02:00
Mikayla Maki 8235d78afe Voice support (#2602)
This PR adds APIs for voice chat to our live kit integration

Release Notes:

- N/A
2023-06-15 19:40:01 -07:00
Mikayla Maki d7dbc3b5d3 Implement test stubs 2023-06-15 19:28:59 -07:00
Max Brunsfeld 8592208d3a Fix failure to upload panics when multiple panics happen at the same time (#2616)
When multiple panics occur at the same time (usually because one thread
panics, and another thread joins it), multiple panic JSON objects can
get written to the same panic file. The resulting file won't be valid
JSON.

This PR addresses that problem via two changes:
* Format panic files as single-line JSON objects
* When a panic file  isn't valid JSON, try taking the first line

In the future, we could try combining all of the backtraces, but for
now, I just want to avoid a problem of not reporting a panic at all.

Release Notes:

- Fixed a problem with Zed's internal crash reporting.
2023-06-15 15:31:49 -07:00
Mikayla Maki b9270925dd Focus on toggle dock (#2612)
This PR updates some dock behaviors. Now the toggle-dock commands
(cmd-j/b/r) also toggle focus. This also adds zoom serialization to the
docks.

Release Notes:
- Bug fix: Toggle dock commands (cmd-j/b/r) now move focus 
- Bug fix: Dock zoom is now restored with the rest of the workspace
2023-06-15 15:20:20 -07:00