Commit Graph
10337 Commits
Author SHA1 Message Date
Piotr Osiewicz 806268f0db Merge branch 'main' into git-menu 2023-07-03 16:25:36 +02:00
Piotr Osiewicz 4eedc3e646 Remove flex from underneath the pickers 2023-07-03 16:16:14 +02:00
Kirill Bulatov 8efb66be67 Do not add extra spaces to hints (#2671)
Closes
https://linear.app/zed-industries/issue/Z-2526/inlay-hints-in-typescript-types-have-extra-space-before#comment-ac88a101

Release Notes:

- N/A
2023-07-03 11:18:07 +03:00
Kirill Bulatov 43d4f04331 Do not add extra spaces to hints 2023-07-03 11:17:12 +03:00
Piotr Osiewicz 026ad191eb Dismiss dropdowns on click out 2023-07-01 01:49:00 +02:00
Piotr Osiewicz 525521eeb3 Render match count next to branch label 2023-07-01 01:38:36 +02:00
Kirill Bulatov e017d62e92 Remove excessive hint update queries (#2667)
Closes
https://linear.app/zed-industries/issue/Z-2513/panic-in-refresh-inlay-hints

* Filter out queries for outdated buffers just before hint tasks spawn:
  multicaret edits might emit standalone events simultaneously
* Only spawn inlay update tasks for visible buffers with corresponding
  language
* Do not spawn tasks for local projects' buffers without LSP servers

Release Notes:

- N/A
2023-06-30 22:15:36 +03:00
Kirill Bulatov ae54e1d224 Remove excessive hint update queries
* Filter out queries for outdated buffers just before hint tasks spawn:
  multicared edits might empit standalone events simultaneously
* Only spawn inlay update tasks for visible buffers with corresponding
  language
* Do not spawn tasks for local projects' buffers without LSP servers
2023-06-30 22:03:21 +03:00
Max Brunsfeld f83514cde4 Fix regression in handling git FS events (#2670)
As part of an optimization in
https://github.com/zed-industries/zed/pull/2663, I changed the way that
the worktree ignores FS events within unloaded directories. But this
accidentally prevented us from detecting some events that occur inside
of `.git` directories.

In this PR, I've made further tweaks to which FS events we can ignore.
We now explicitly opt *in* to scanning `.git` (shallowly) directories
(even though they are ignored). Note that we still don't recursively
scan the git directory (including all of the files inside `objects`
etc). This seems like the correct amount of work to do, and from my
testing (and our unit tests that use the real FS and real git
repositories), it seems to work correctly.

Release Notes:

- Fixed a bug where Zed would not detect some git repository changes
(preview only).
2023-06-30 11:40:49 -07:00
Max Brunsfeld 92df76e632 Fix accidental ignoring of git FS events 2023-06-30 11:20:50 -07:00
Piotr Osiewicz 7c2c1a279b Add missing rust-side definitions 2023-06-30 20:09:30 +02:00
Piotr Osiewicz cec884b5a5 Add styles for project name/git menu 2023-06-30 20:07:44 +02:00
Piotr Osiewicz a5d9a10d7b Focus dropdowns on open 2023-06-30 19:48:28 +02:00
Joseph T. Lyons 6042cf928c Fix bug preventing the assist command from working in certain keymaps (#2669)
Fixes: https://github.com/zed-industries/community/issues/1712

The keymaps were adding in a `"cmd-enter": "editor::NewlineBelow",`
entry in the context of `Editor`, and this was clobbering the assist
command in the assistant panel context. Zed now defines this command in
the default keymap under the context of `"context": "Editor && mode ==
full"`. All I needed to basically do was remove that command from the
keymaps. I also removed the `"cmd-shift-enter": "editor::NewlineAbove"
from the `Editor` context in those keymaps as wel, as it is also defined
in the default keymap.

Release Notes:

- Fix bug preventing the `assistant: assist` command from working in
certain keymaps
2023-06-30 13:32:42 -04:00
Joseph T. Lyons 4a654f5252 Fix bug preventing the assist command from working in certain keymaps 2023-06-30 13:27:48 -04:00
Mikayla Maki a9c1395b9b WIP: Add the ability to make new directories by adding slashes to a file name (#2638)
This PR adds a new way to make files / directories in the project panel,
by writing a path instead of a file.

TODO:
- [x] Solve a race condition that sometimes causes the newly created
file to not be selected / expanded correctly.
- [x] Change file refreshes to be minimal

Release Notes:

- Adds the ability to create new folders in the create-file action
([743](https://github.com/zed-industries/community/issues/743))
2023-06-30 07:46:32 -07:00
Piotr Osiewicz ed75c31640 Improve styling of git menu 2023-06-30 16:38:38 +02:00
Piotr Osiewicz b699e5c142 Add styles to git menu 2023-06-30 16:23:27 +02:00
Piotr Osiewicz 3be8977ee8 Switch branches within spawn() 2023-06-30 14:05:55 +02:00
Piotr Osiewicz c1a6292152 Add missing call to cx.notify 2023-06-30 14:05:55 +02:00
Piotr OsiewiczandMikayla 081e340d26 Do not query db on foreground thread.
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-06-30 14:05:55 +02:00
Piotr Osiewicz 818ddbc703 Make project dropdown exclusive wrt git menu 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 888d3b3fd6 Project dropdown menu 2023-06-30 14:05:55 +02:00
Piotr Osiewicz d000ea9739 Fix warning about unused variable 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 1eb0f3d091 Update toast for checkout failure 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 98f71a7fa3 Trail off project/branch name 2023-06-30 14:05:55 +02:00
Piotr Osiewicz e57364ede6 Remove unnecessary imports 2023-06-30 14:05:55 +02:00
Piotr Osiewicz aeafa6f6d6 Fix build after rebase 2023-06-30 14:05:55 +02:00
Piotr Osiewicz c84f3b3bfc Add toast for git checkout failure 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 54fad5969f List recent branches 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 3027e4729a Add timestamps to branches 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 6747acbb84 Trail off branch names 2023-06-30 14:05:55 +02:00
Piotr Osiewicz ac6e9c88e9 Render header and footer of git menu 2023-06-30 14:05:55 +02:00
Piotr Osiewicz d8d0bdc479 WIP: git menu 2023-06-30 14:05:55 +02:00
Mikayla Maki 3d6e063a6d Fix method header 2023-06-29 23:53:57 -07:00
Mikayla Maki d22a576f5e fix failing test 2023-06-29 23:50:24 -07:00
Mikayla Maki a9a51ab3ad Added more tests and minimal file updates 2023-06-29 18:21:35 -07:00
Mikayla Maki a6dabf7acf Make path updates minimal 2023-06-29 18:15:40 -07:00
Mikayla Maki 787412b545 fmt and update dependency 2023-06-29 17:49:42 -07:00
Mikayla Maki cd670e340f Fix edge case with absolute file paths 2023-06-29 17:48:01 -07:00
Mikayla Maki 33f5248d4f Add the ability to make new directories by adding slashes to a file name 2023-06-29 17:35:22 -07:00
Mikayla Maki f6b64dc67a Add click out events to GPUI (#2659)
This PR adds a new mouse event type for catching when a click happens
outside of a given region.

This was added because I noticed a 'race condition' between the context
menu and the buttons which deploy a context menu. Buttons use on
an`on_click()` handler to deploy the context menu, but the context menu
was closing itself with an `on_down_out()` handler. This meant that the
order of operations was:

0. Context menu is open
1. User presses down on the button, _outside of the context menu_ 
2. `on_down_out()` is fired, closing the context menu
3. User releases the mouse
4. `click()` is fired, checks the state of the context menu, finds that
it's closed, and so opens it

You can see this behavior demonstrated with this video with a long-click
here:


https://github.com/zed-industries/zed/assets/2280405/588234c3-1567-477f-9a12-9e6a70643527

~~Switching from `on_down_out()` to `on_click_out()` means that the
click handler for the button can close the menu before the context menu
gets a chance to close itself.~~

~~However, GPUI does not have an `on_click_out()` event, hence this
PR.~~

~~Here's an example of the new behavior, with the same long-click
action:~~


https://github.com/zed-industries/zed/assets/2280405/a59f4d6f-db24-403f-a281-2c1148499413

Unfortunately, this `click_out` is the incorrect event for this to
happen on. This PR now adds a mechanism for delaying the firing of a
cancel action so that toggle buttons can signal that this on_down event
should not result in a menu closure.

Release Notes:

* Made context menus deployed from buttons toggle, instead of
hide-and-re-show, visibility on click
2023-06-29 17:33:37 -07:00
Mikayla Maki 73b0f3b23d fmt 2023-06-29 17:19:35 -07:00
Mikayla Maki 5366631173 Remove on_click_out handler from context menu
Add 'delay_cancel()' method and on_down handler to relevant buttons
2023-06-29 17:10:51 -07:00
Kirill Bulatov 167dd1c5d2 Support basic inlay hints (#2660)
Part of https://github.com/zed-industries/community/issues/138
Part of https://linear.app/zed-industries/issue/Z-477/inlay-hints

Supports LSP requests for inlay hints, LSP /refresh request to reload
them.
Reworks DisplayMap and underlying layer to unite suggestions with inlay
hints into new, `InlayMap`.
Adds a hint cache inside `Editor` that tracks buffer/project/LSP request
events, updates the hints and ensures opened editors are showing up to
date text hints on top.

Things left to do after this PR:
* docs on how to configure inlay hints
* blogpost
* dynamic hints: resolve, hover, navigation on click, etc.

Release Notes:

- Added basic support of inlay hints
2023-06-29 22:49:39 +03:00
Kirill Bulatov b146762f68 Remove a flacky test, fix the failing one 2023-06-29 22:45:04 +03:00
Kirill Bulatov 652909cdba Post-rebase fixes 2023-06-29 22:39:33 +03:00
Kirill Bulatov 3445bc42b6 Invalidate refresh tasks better 2023-06-29 22:39:18 +03:00
Kirill Bulatov 98edc0f885 Simplify the hint cache code 2023-06-29 22:39:18 +03:00
Kirill Bulatov 083e4e76e2 Better tests, invalidate multibuffer excerpts better 2023-06-29 22:39:18 +03:00