Commit log

806268f Merge branch 'main' into git-menu

Piotr Osiewicz created

85701c9 Do not perform OnTypeFormating after pair brace insert

Click to expand commit body
Co-Authored-By: Julia Risley <julia@zed.dev>

Kirill Bulatov and Julia Risley created

4eedc3e Remove flex from underneath the pickers

Piotr Osiewicz created

8efb66b Do not add extra spaces to hints (#2671)

Click to expand commit body
Closes
https://linear.app/zed-industries/issue/Z-2526/inlay-hints-in-typescript-types-have-extra-space-before#comment-ac88a101

Release Notes:

- N/A

Kirill Bulatov created

43d4f04 Do not add extra spaces to hints

Kirill Bulatov created

026ad19 Dismiss dropdowns on click out

Piotr Osiewicz created

525521e Render match count next to branch label

Piotr Osiewicz created

138de37 Add basic sound handling infrastructure

Mikayla Maki created

e017d62 Remove excessive hint update queries (#2667)

Click to expand commit body
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

Kirill Bulatov created

ae54e1d Remove excessive hint update queries

Click to expand commit body
* 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

Kirill Bulatov created

f83514c Fix regression in handling git FS events (#2670)

Click to expand commit body
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).

Max Brunsfeld created

92df76e Fix accidental ignoring of git FS events

Max Brunsfeld created

7c2c1a2 Add missing rust-side definitions

Piotr Osiewicz created

cec884b Add styles for project name/git menu

Piotr Osiewicz created

a5d9a10 Focus dropdowns on open

Piotr Osiewicz created

6042cf9 Fix bug preventing the assist command from working in certain keymaps (#2669)

Click to expand commit body
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

Joseph T. Lyons created

4a654f5 Fix bug preventing the assist command from working in certain keymaps

Joseph T. Lyons created

a9c1395 WIP: Add the ability to make new directories by adding slashes to a file name (#2638)

Click to expand commit body
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))

Mikayla Maki created

ed75c31 Improve styling of git menu

Piotr Osiewicz created

b699e5c Add styles to git menu

Piotr Osiewicz created

3be8977 Switch branches within spawn()

Piotr Osiewicz created

c1a6292 Add missing call to cx.notify

Piotr Osiewicz created

081e340 Do not query db on foreground thread.

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Piotr Osiewicz and Mikayla created

818ddbc Make project dropdown exclusive wrt git menu

Piotr Osiewicz created

888d3b3 Project dropdown menu

Piotr Osiewicz created

d000ea9 Fix warning about unused variable

Piotr Osiewicz created

1eb0f3d Update toast for checkout failure

Piotr Osiewicz created

98f71a7 Trail off project/branch name

Piotr Osiewicz created

e57364e Remove unnecessary imports

Piotr Osiewicz created

aeafa6f Fix build after rebase

Piotr Osiewicz created

c84f3b3 Add toast for git checkout failure

Piotr Osiewicz created

54fad59 List recent branches

Piotr Osiewicz created

3027e47 Add timestamps to branches

Piotr Osiewicz created

6747acb Trail off branch names

Piotr Osiewicz created

ac6e9c8 Render header and footer of git menu

Piotr Osiewicz created

d8d0bdc WIP: git menu

Piotr Osiewicz created

3d6e063 Fix method header

Mikayla Maki created

d22a576 fix failing test

Mikayla Maki created

a9a51ab Added more tests and minimal file updates

Mikayla Maki created

a6dabf7 Make path updates minimal

Mikayla Maki created

787412b fmt and update dependency

Mikayla Maki created

cd670e3 Fix edge case with absolute file paths

Mikayla Maki created

33f5248 Add the ability to make new directories by adding slashes to a file name

Mikayla Maki created

f6b64dc Add click out events to GPUI (#2659)

Click to expand commit body
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

Mikayla Maki created

73b0f3b fmt

Mikayla Maki created

5366631 Remove on_click_out handler from context menu

Click to expand commit body
Add 'delay_cancel()' method and on_down handler to relevant buttons

Mikayla Maki created

167dd1c Support basic inlay hints (#2660)

Click to expand commit body
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

Kirill Bulatov created

b146762 Remove a flacky test, fix the failing one

Kirill Bulatov created

652909c Post-rebase fixes

Kirill Bulatov created

3445bc4 Invalidate refresh tasks better

Kirill Bulatov created