f8770fe
edit prediction: Refine subtle mode flag styles (#25157)
Click to expand commit body
There's still a tiny, 1px shadow being cast in the flag pole that I
didn't figure out yet how to fix it.
https://github.com/user-attachments/assets/714da320-5995-4bd2-a0dc-6c027b4d91eb
Release Notes:
- N/A
Danilo Leal
created
044be72
popover_menu: Add docs to the `trigger_with_tooltip` method (#25158)
Click to expand commit body
Felt like this was relevant particularly as we're living with both
`trigger` and `trigger_with_tooltip`. At some point, I believe there
should be only one (`trigger_with_tooltip`) and that should be then
renamed to just `trigger` back again! We're supporting both for now just
for ease of migration/avoiding big changes.
Release Notes:
- N/A
Danilo Leal
created
8b98b5c
project: Fix doc comments for `NodeBinarySettings` (#25154)
Click to expand commit body
This PR fixes the doc comments on the `NodeBinarySettings` struct.
Release Notes:
- N/A
This PR fixes an incorrectly-formatted doc comment in the
`BufferSnapshot` impl.
Release Notes:
- N/A
Marshall Bowers
created
fb19db0
editor: Do not highlight selected text + Clear highlight preemptively when new selection is detected (#25149)
Click to expand commit body
When selecting text, it highlights all matching occurences along with
selected text itself. This causes highlight overlap, which looks bit
odd. This PR fixes it.
Bonus:
Context: We have an edge case (which we already cover) where we don’t
want to clear `SelectedTextHighlight` every time the selection changes.
This happens when you are dragging the selection across some word, if
you clear it directly on selection change, due to debounce wait, the
highlight take some time to appear, which causes flickering for the
user. We solve this by not clearing it directly but only clearing it
when a new selection is found. This avoids the flicker.
However, we also need to clear the selection even before the debounce
wait if we detect early on that the selection is different from previous
ones. Otherwise, the user will have to wait until the debounce time to
see it cleared on the screen.
The code for this is a little repetitive because we check the buffer
state both before and after the debounce. But this is necessary.
---
Before:
Notice overlapping corners and selected text is bit darker in this case.

After:

Release Notes:
- N/A
smit
created
094430e
Properly normalize completion labels with multi-byte characters (#25150)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/25142
Release Notes:
- Fixed panics on completion with multi-byte characters input
Fix broken links to [PHP
extensions](https://github.com/zed-extensions/php) from [the
documentation](https://zed.dev/docs/languages/php).
Release Notes:
- N/A
USAMI Kenta
created
2274e88
Highlight regex in the project search input (#25147)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/25005
Project search also has regex search option, highlight it the same way
too.
Release Notes:
- N/A
Closes #16951
Handle the case where you click on the terminal while pressing Shift.
Instead of setting a new selection head, we simply update the selection
to that point. This allows you to repeatedly extend the selection to new
points by pressing Shift while preserving the original selection head.
Preview:
Selection works in direct terminal, but doesn't on Vim like program,
which is expected.
https://github.com/user-attachments/assets/e46987d8-a9a3-495d-8dd9-98d461317a8d
Release Notes:
- Added ability to extend selection with Shift + click in the terminal.
smit
created
1fa105e
docs: Fix selection highlight default value (#25134)
Click to expand commit body
Changed default debounce value in docs to match default settings.
Release Notes:
- N/A
1678e3c
Fix clicking on file links in editor (#25117)
Click to expand commit body
Closes #18641
Contributes: #13194
Release Notes:
- Open LSP documentation file links in Zed not the system opener
- Render completion documentation markdown consistently with
documentation markdown
Conrad Irwin
created
ebbc6a9
Highlight `super` and `this` as keywords in JS/TS/TSX (#25135)
Click to expand commit body
Closes #24951
We were highlighting both as `@variable.special` however, they are
_techinically_ keywords and other editors (VSCode/WebStorm) seem to
highlight them as keywords as well.
Release Notes:
- N/A
Ben Kunkle
created
bb600ac
Set base highlight for identifiers in go to variable highlight color (#25128)
Click to expand commit body
Closes #24947
Release Notes:
- N/A
Ben Kunkle
created
372aaec
language_model_selector: Authenticate all providers up front (#25123)
Click to expand commit body
This PR fixes an issue where configured language model providers would
not show up unless the configuration view was opened.
The problem was that we were filtering unauthenticated language model
providers out of the language model selector, but would only
authenticate the active provider when the selector loaded.
Authenticating the rest of the providers was deferred until the
configuration view was opened for the first time.
Closes https://github.com/zed-industries/zed/issues/21821.
Release Notes:
- Fixed an issue where configured languages models were not showing up
in the language model selector until the configuration view was opened
for the first time.
Marshall Bowers
created
7a6b652
language_model: Return `AuthenticateError`s from `LanguageModelProvider::authenticate` (#25126)
Click to expand commit body
This PR updates the `LanguageModelProvider::authenticate` method to
return an `AuthenticateError` instead of an `anyhow::Error`.
This allows us to model the "credentials not found" state explicitly as
`AuthenticateError::CredentialsNotFound`, which enables the caller to
check for this state and act accordingly.
Planning to use this in #25123 to silence errors about missing
credentials when authenticating providers in the background.
Release Notes:
- N/A
Marshall Bowers
created
2627a5f
assistant: Improve the language model selector (#25125)
Click to expand commit body
This PR includes change such as:
- Ensures the popover width is fixed/not dancing around
- Ensures the popover is not obscuring the trigger in the buffer and
terminal inline assistant scenarios
- Removes ellipsis from the trigger button label
- Ensures the scrollbar doesn't hide the check icon
| Terminal | Prompt Editor | Buffer |
|--------|--------|--------|
| 
| 
| 
|
Release Notes:
- N/A
Danilo Leal
created
a6006af
language_model_selector: Fix variable name (#25121)
Click to expand commit body
This PR fixes an inaccurate variable name that I noticed in the language
model selector.
Release Notes:
- N/A
Marshall Bowers
created
92f128e
Do not fail hard on selection persistence if the editor is removed (#25120)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/25083
Follows practices from editors' scroll position persisting:
https://github.com/zed-industries/zed/blob/5a05b7461e476d7ddc59418868ebdab6687b8d2f/crates/editor/src/persistence.rs#L200
and do not fail hard if the editor with the ID given does not exist.
Also add the problematic IDs into the error context to see them in the
error logs.
Release Notes:
- N/A
Kirill Bulatov
created
98ea659
assistant2: Fix thread history only working in one Zed window (#25119)
Click to expand commit body
This PR fixes an issue where the thread history would only work in one
Zed window at a time.
The backing LMDB database can only be opened once per Zed instance.
However, the `ThreadStore` has one instance per Zed window.
To fix this, we need to create the `heed` environment once and store it
as a global, and then reference the same environment across all of the
`ThreadStore`s.
Release Notes:
- N/A
Marshall Bowers
created
d0816ef
edit predictions: Fix fold not expanding after jump (#25116)
Click to expand commit body
Closes #24938.
Release Notes:
- Edit predictions: Fix fold not expanding after jump
João Marcos
created
6885b28
assistant2: Deploy inline assistant in PromptEditor (#25094)
48f87a8
Don't open file finder menu on command (#25097)
Click to expand commit body
Closes #24740
Release Notes:
- Don't open the split menu in the file finder when command is pressed
Conrad Irwin
created
bff1548
assistant2: Add file icons for mentioned creases (#25111)
Click to expand commit body
This PR makes the mentioned file creases/buttons use `FileIcons`.
<img width="700" alt="Screenshot 2025-01-21 at 11 20 49 AM"
src="https://github.com/user-attachments/assets/876da534-c11a-4d13-af82-a5948863f954"
/>
Release Notes:
- N/A
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Done automatically with
> ast-grep -p '$A.background_executor().spawn($B)' -r
'$A.background_spawn($B)' --update-all --globs "\!crates/gpui"
Followed by:
* `cargo fmt`
* Unexpected need to remove some trailing whitespace.
* Manually adding imports of `gpui::{AppContext as _}` which provides
`background_spawn`
* Added `AppContext as _` to existing use of `AppContext`
Release Notes:
- N/A
Michael Sloan
created
f606b06
workspace: Prevent user from undoing persistent session deserialization (#25106)
Click to expand commit body
Closes #21846
Release Notes:
- Fixed a bug that made it possible to undo changes in dirty
deserialized buffer (with `restore_unsaved_buffers: true`)
Piotr Osiewicz
created
e5d8bd2
Issue response: pull team members from staff team (#25102)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
529c652
Revert gutter stripes as indicator of hunk staged status (#25089)
Click to expand commit body
We've decided to go in a different direction on indicating the staged
status of hunks, so go back for now to a world where we don't display
staged and unstaged hunks differently outside the (still gated) project
diff editor.
cc @iamnbutler
This reverts commit 8c202b3b09083e0b5430fce3631734de6112bbc0.
Release Notes:
- N/A
Cole Miller
created
737b177
Switch to columnar selection by pressing `alt-shift` while mouse is down (#25096)
Click to expand commit body
We begin a columnar selection when we drag the mouse while holding
`alt-shift`. This PR makes it possible to start the selection and then
turn it into columnar by pressing `alt-shift`.
Fixes #5372
Release Notes:
- Support switching to columnar selection by pressing `alt-shift` while
mouse is down
Agus Zubiaga
created
c10ac31
theme: Don't log errors for missing themes until extensions have loaded (#25098)
Click to expand commit body
This PR makes it so we don't log errors for missing themes or icon
themes until after the extensions have been loaded.
Currently, if you are using a theme that is defined in an extension it
is common to see one or more "theme not found" errors in the logs. This
is the result of us having to initialize the theme before the extensions
have actually finished loading.
This means that a theme that _may_ exist once extensions load is
considered non-existent before they have loaded.
To that end, we now wait until the extensions have loaded before we
start logging errors if we can't find the theme or icon theme.
Closes https://github.com/zed-industries/zed/issues/24539.
Release Notes:
- Reduced the number of "theme not found" and "icon theme not found"
errors in the logs for themes provided by extensions.
Marshall Bowers
created
1e255e4
assistant2: Show token count in the Prompt Editor view (#25091)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal
and
Agus Zubiaga
created
8a7565e
Add small improvement to the theme picker footer (#25088)
Click to expand commit body
- Always start a button's label with an imperative verb
- Use the `ArrowUpRight` icon when the button opens an external link
<img width="700" alt="Screenshot 2025-01-21 at 11 20 49 AM"
src="https://github.com/user-attachments/assets/383d9bad-2756-4e85-acad-4ed956f541cb"
/>
Release Notes:
- N/A
Danilo Leal
created
8e7cad7
theme: Return structured errors when a theme is not found (#25090)
Click to expand commit body
This PR updates the `ThemeRegistry` to return structured errors from the
`get` and `get_icon_theme` methods (which are used to retrieve themes
and icon themes, respectively).
We want to be able to carry the name of the theme that was not found as
state on the error, which is why we use a `Result` and not an `Option`.
However, we also want to be able to accurately identify when the error
case is "not found" so we can take appropriate action, based on the
circumstances.
By using a custom error type instead of an `anyhow::Error`, we get both.
There isn't any functional change in this PR. This just sets us up for
future improvements in this error.
Release Notes:
- N/A
Marshall Bowers
created
76f501a
git: Don't load shallow HEAD text of symlinks (#25058)
Click to expand commit body
For symlinks, return `None` from `load_committed_text` as we do from
`load_index_text` ever since #10037.
Release Notes:
- Fixed diff hunks appearing in unchanged symlinked files
Cole Miller
created
9ef0501
file_finder: Remove common segments of long paths in search results (#25049)
Click to expand commit body
This PR makes progress on #7711 by identifying any common prefix of the
paths in the file finder's search results, and replacing the "interior"
of that prefix---every path segment but the first and last---with `...`,
when a heuristic indicates that the longest path would otherwise
overflow the modal.
The elision is not applied to any segment that contains a match for the
search query.
There may be more work to do on #7711 in the case of long result paths
that do not share a significant common prefix.
Release Notes:
- Improved display of long paths in the file finder modal
Co-authored-by: Max <max@zed.dev>
Part of https://github.com/zed-industries/zed/issues/7371
Closes https://github.com/zed-industries/zed/issues/12853
Release Notes:
- Started to persist latest selections for editors, to restore those on
restart
Kirill Bulatov
created
b340378
terminal: Change context menu item label (#25085)
Click to expand commit body
Super subtle, but when I initially saw just "Close", I got weirded out
asking myself "why there's a menu item to close the context menu?", to
only then realize that it didn't close the menu, but the terminal _tab_.
Might be obvious, because that's how buffer tabs are labled, but I don't
know, it feels like the redundancy here is overall positive.
Release Notes:
- N/A
Danilo Leal
created
295e486
edit prediction: Update disabled globs link in the onboarding modal (#25084)
Some language servers report version 0 even if the buffer hasn't been
opened yet. We detect this case and treat it as if the version was
`None`.
Closes #23706
Release Notes:
- Fixed a bug that prevented renames for some languages.
Antonio Scandurra
created
b4fc127
editor: Disable "Open in Terminal" when it's not possible (#25059)
Click to expand commit body
When impossible to trigger action, the button should be disabled.
Release Notes:
- N/A
813d870
Bump Tree-sitter for bug fixes affecting YAML parser loaded via WASM (#25054)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/24742
Closes #24632
This PR bumps Tree-sitter to bring in bug fixes:
* https://github.com/tree-sitter/tree-sitter/pull/4218
* https://github.com/tree-sitter/tree-sitter/pull/4213
* https://github.com/tree-sitter/tree-sitter/pull/4210
I've also bumped Wasmtime and wit-bindgen, since the new Tree-sitter
uses a newer wasmtime.
Release Notes:
- Fixed a parsing bug that caused memory leaks and crashes when using
the Ansible extension
---------
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Max Brunsfeld
,
Anthony
, and
Anthony Eid
created
8942e65
add more tests to `editor::SelectAllMatches` (#25060)
This PR reverts two recent commits that changed our gutter highlights to
mark separately the deleted and added portions of an expanded
modification hunk. It returns to the previous status quo where the
gutter highlight for an expanded modification hunk has the same color
for the deleted and added portions.
Release Notes:
- N/A