Commit Graph
11144 Commits
Author SHA1 Message Date
Kirill Bulatov a096f124ec Properly display labels for currently opened external files 2023-05-26 15:44:44 +03:00
Kirill Bulatov 2b00082f06 Simplify selected index handling 2023-05-26 14:15:58 +03:00
Kirill Bulatov d8cc99311d Add absolute paths to historic elements 2023-05-26 14:03:44 +03:00
Kirill Bulatov 401420fb79 Fix duplicate item creation in project panel (#2532)
Closes
https://linear.app/zed-industries/issue/Z-1760/creating-a-new-file-with-the-same-name-as-an-existing-file-overwrites

Now every rename/creation editor won't do anything if a duplicate name
is submitted.

Release Notes:

* Fixed a bug when created in project panel items with duplicate names
were overwriting the old files
2023-05-26 10:14:50 +03:00
Kirill Bulatov 2f77518455 Fix duplicate item creation in project panel 2023-05-26 02:07:25 +03:00
Julia d521fb89a0 Multibuffer edit perf (#2531)
This took so much longer than I wanted, so glad to finally be rid of
this

Release Notes:
* Improved performance when editing many git-tracked files in a
multi-buffer at the same time
2023-05-25 15:01:05 -04:00
Julia a3bc3f85a9 Clean up final remaining code paths calling old diff update method 2023-05-25 14:41:09 -04:00
Julia a1b4c57588 Fix tests 2023-05-25 14:29:28 -04:00
Julia ee718b9a33 Remove concept of git diff refresh from Item trait 2023-05-25 14:29:28 -04:00
JuliaandMax Brunsfeld 7331f2ce3f Project level git diff recalc handling
This avoids an issue where in a many-buffer multi-buffer, each modified
buffer could complete its recalc independently, causing a cascade of
repeated notifies

Now all recalcs started at the same time must complete before
 A: Starting another recalc pass
 B: The master notify occurring

Each buffer can still show its new diff if something else triggers it
to notify earlier, this is desirable and does not have the same negative
effects as the notify cascade as those re-layouts would need to happen
anyway

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-05-25 14:10:27 -04:00
Max Brunsfeld e507cc509c wip 2023-05-25 14:10:27 -04:00
Kirill Bulatov be9731562b Support OnTypeFormatting LSP request (#2517)
Supports
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_onTypeFormatting

rust-analyzer uses this feature to add matching brackets semantically,
e.g.
before:
![Screenshot 2023-05-23 at 17 46
42](https://github.com/zed-industries/zed/assets/2690773/020e8448-23e6-4a38-8dbb-c9edf18062f7)

after:
![Screenshot 2023-05-23 at 17 46
49](https://github.com/zed-industries/zed/assets/2690773/4d140af3-aca6-451d-ac61-e2a9bb31caea)

`use_on_type_format` settings entry was added, enabled by default, to
disable the new feature.

Release Notes:

* Support `OnTypeFormatting` LSP protocol feature, allowing
rust-analyzer to add matching brackets
2023-05-25 18:35:47 +03:00
Kirill Bulatov 20a6ccd521 Have proper undo for both client and host 2023-05-25 18:29:57 +03:00
Antonio Scandurra 1c9c4cedf2 Prevent bottom dock from becoming too large or too small (#2529)
Fixes
https://linear.app/zed-industries/issue/Z-1834/bottom-dock-can-be-dragged-down-far-enough-such-that-the-tab-bar-is

Release Notes:

- Improved the resize experience for the bottom dock, preventing it from
becoming too large or too small. (preview-only)
2023-05-25 15:44:23 +02:00
Antonio Scandurra 4e1927ed9c Prevent bottom dock from becoming too large or too small 2023-05-25 15:29:59 +02:00
Antonio Scandurra 3d93c68e6f Restore the ability to search terminals in the terminal panel (#2528)
Fixes
https://linear.app/zed-industries/issue/Z-1812/find-in-terminal-panel-is-broken

![CleanShot 2023-05-25 at 15 18
01@2x](https://github.com/zed-industries/zed/assets/482957/ddb33b61-d253-4de1-961f-14b24aaa3e46)

This also removes navigation controls from the terminal panel, given
that terminals don't make use of that feature anyway. When the toolbar
is empty, we'll avoid showing it altogether.

![CleanShot 2023-05-25 at 15 17
26@2x](https://github.com/zed-industries/zed/assets/482957/52419f2c-bca0-494a-a9b3-88e183b4c12f)


Release Notes:

- Fixed a regression that was preventing the terminal panel from being
searched.
2023-05-25 15:28:32 +02:00
Antonio Scandurra dde7786aa3 Don't show navigation controls for terminal panel 2023-05-25 15:15:20 +02:00
Kirill BulatovandAntonio Scandurra c125d0d92b Use Transaction instead of ProjectTransaction
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-25 16:12:14 +03:00
Antonio Scandurra c7e20b381a Add search bar to terminal panel 2023-05-25 14:46:10 +02:00
Antonio Scandurra 48323ab2cf Prevent pane from being erroneously zoomed when toggling the outline pane (#2527)
Fixes
https://linear.app/zed-industries/issue/Z-1818/toggling-the-outline-pane-causes-the-pane-to-zoom

Add release note lines here:

- Fixed a bug that could cause panes to be erroneously zoomed when
toggling modals. (preview-only)
2023-05-25 14:10:08 +02:00
Antonio Scandurra a75b98001b Prevent zoom from being restored when focusing a modal 2023-05-25 12:11:11 +02:00
Antonio Scandurra 470a28953d Remove stray dbg! 2023-05-25 12:04:41 +02:00
Kirill Bulatov f5340df2fa Do not send edits over the wire 2023-05-25 12:55:44 +03:00
Kirill Bulatov 45852ccce3 Add integration tests 2023-05-25 09:45:50 +03:00
Kirill Bulatov e1e9ef9ed9 Process remote format typing also 2023-05-25 09:45:50 +03:00
Kirill Bulatov 64af35dd99 Always use server formatting settings 2023-05-25 09:45:50 +03:00
Kirill Bulatov bf53e1aa01 Allow to disable the new feature 2023-05-25 09:45:50 +03:00
Kirill Bulatov adaae861b6 Use formatting options 2023-05-25 09:45:50 +03:00
Kirill Bulatov 5e4717898a Support remote sessions 2023-05-25 09:45:50 +03:00
Kirill Bulatov 4a0dec610a Send and handle OnTypeFormatting LSP request 2023-05-25 09:45:50 +03:00
Nate Butler 67b4f282aa Update Diff Modified Color (#2526)
For some reason the yellow I used for the modified color in light themes
was really light
.
Release Notes:

* Improved the contrast of diff modified color in the editor in light
themes.
2023-05-24 23:50:37 -04:00
Joseph Lyons 1e3a4053e4 Don't hardcode dates into script 2023-05-24 17:39:02 -04:00
Joseph Lyons a83c683d23 Add script to print all prs merged between a previous date and now 2023-05-24 16:58:56 -04:00
Nathan Sobo a30ba2765a Introduce the ability to talk to GPT-4 within buffers on preview and dev (#2524)
This adds basic ability to interact with OpenAI inside a buffer.

Release Notes:

* If`OPENAI_API_KEY` is defined in your environment, you can now run the
`ai: assist` command to pass the text of your current buffer to GPT-4.
If you're editing a file with a `.zmd` extension, you can also invoke
the model with `cmd-enter.` (preview-only)
2023-05-24 12:00:43 -06:00
Joseph Lyons 392e4b1c3f v0.89.x dev 2023-05-24 13:22:00 -04:00
Nathan Sobo fd20c8703d Clean up 2023-05-24 11:08:00 -06:00
Max Brunsfeld 866c3a529a Make toggle dock actions appear in the command palette (#2525)
This makes the `Toggle{Left,Right,Bottom}Dock` actions deserializable
from empty JSON, so that they can be constructed for the command
palette. It also fixes a bug in GPUI's `available_actions` method, in
which we'd include key bindings for actions of the same type but
different values.

Note that, for now, the command palette will perform the *focusing*
version of the actions. I'm not totally sure this is the right behavior,
but it seems more useful to me.

Release Notes:

N/A
2023-05-24 10:07:34 -07:00
Nathan Sobo 0d72a3bec6 Merge remote-tracking branch 'origin/main' into zmd 2023-05-24 11:04:07 -06:00
Max Brunsfeld ec20b724e3 Make toggle dock actions appear in the command palette 2023-05-24 09:58:41 -07:00
Nathan Sobo 5039e887da Only run AI agent on dev and preview 2023-05-24 10:58:33 -06:00
Antonio Scandurra a3f820017e WIP 2023-05-24 18:45:47 +02:00
Nathan Sobo 9918b9bed2 WIP 2023-05-24 10:26:14 -06:00
Nathan Sobo 5afb7afabe WIP 2023-05-24 09:53:08 -06:00
Nathan Sobo fafc29ea06 WIP 2023-05-24 09:38:37 -06:00
Nathan Sobo 6999aaefca WIP 2023-05-24 09:21:50 -06:00
Nathan Sobo 6c05d378e1 WIP 2023-05-24 09:12:16 -06:00
Antonio Scandurra 8923a3a967 Polish panel experience (#2523)
In this pull request we improved key bindings (as described below) and
added tooltips.

Add these release notes to the panels release notes:

- The left, right and bottom dock can be toggled and focused at the same
time respectively via `cmd-b`, `cmd-r` and `cmd-j`. Holding `shift` will
toggle them without changing the focus.
2023-05-24 16:23:24 +02:00
Antonio ScandurraandNathan Sobo 4275468260 Show keystroke in panel tooltips
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 16:13:58 +02:00
Antonio ScandurraandNathan Sobo f93d20ac5a Only focus new terminal if the panel contains focus
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 16:04:02 +02:00
Antonio ScandurraandNathan Sobo 57eb51fb3d Use cmd-b/cmd-r/cmd-j to toggle left/right/bottom dock and focus when opening
Also, bind the same keys with shift to toggle the dock without focusing.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 15:59:06 +02:00