1139904
Remove unnecessary conditional definition of `FS_WATCH_LATENCY` (#26967)
Click to expand commit body
This was added in #8343 to make it only visible for tests. #9189 then
made it visible regardless of `test-support`, so the definitions became
identical.
Release Notes:
- N/A
88907ee
git: Always zero panel's entry counts when clearing entries (#26924)
Click to expand commit body
Keep the panel's state consistent even when we transition to having no
active repository.
Release Notes:
- N/A
Cole Miller
created
cd5d7e8
collab: Make account age-related fields required in `LlmTokenClaims` (#26959)
Click to expand commit body
This PR makes the account age-related fields required in
`LlmTokenClaims`.
We've also removed the account age check from the LLM token issuance
endpoint, instead having it solely be enforced in the `POST /completion`
endpoint.
This change will be safe to deploy at ~8:01PM EDT.
Release Notes:
- N/A
Marshall Bowers
created
0851842
collab: Defer account age check to `POST /completion` endpoint (#26956)
Click to expand commit body
This PR defers the account age check to the `POST /completion` endpoint
instead of doing it when an LLM token is generated.
This will allow us to lift the account age restriction for using Edit
Prediction.
Note: We're still temporarily performing the account age check when
issuing the LLM token until this change is deployed and the LLM tokens
have had a chance to cycle.
Release Notes:
- N/A
Marshall Bowers
created
1397e01
collab: Clean up LLM token creation (#26955)
Click to expand commit body
This PR cleans up the LLM token creation a bit.
We now pass in the entire list of feature flags to the
`LlmTokenClaims::create` method to prevent having a bunch of confusable
`bool` parameters.
Release Notes:
- N/A
Marshall Bowers
created
2b2b9c1
Make repo and branch popovers extend up from their trigger buttons (#26950)
Click to expand commit body
Previously, when clicking on the branch, the popover would obscure the
button you just clicked, which was awkward.
Release Notes:
- Improved the placement of the repo and branch picker popovers in the
git panel.
- Added a 'SelectRepo' action that opens the repository selector in a
modal.
Max Brunsfeld
created
a05066c
assistant edit tool: Track read buffers and notify model of user edits (#26952)
Click to expand commit body
When the model reads file, we'll track the version it read, and let it
know if the user makes edits to the buffer. This helps prevent edit
failures because it'll know to re-read the file before.
Release Notes:
- N/A
Agus Zubiaga
created
cb439e6
editor: Fix navigate back for locations opened via preview item (#26943)
Click to expand commit body
Closes #25458
When navigating code from a preview tab with
`enable_preview_from_code_navigation` set to `true`, "Go Back" from a
newly opened tab could focus on the tab to the right instead of
returning to the original preview tab.
Before, we killed the existing preview tab before opening a new one,
which breaking history as the new tab had no reference to the old one.
This caused navigation to shift to the next tab on the right.
Now, we first add the new tab at the preview index, and then kill the
existing preview tab. This preserves the history by linking new preview
tab to existing tab.
Release Notes:
- Fixes an issue where navigating code from a preview tab with
`enable_preview_from_code_navigation` set to `true`, "Go Back" from a
newly opened tab could focus on the tab to the right instead of
returning to the original preview tab.
Smit Barmase
created
6b0a282
docs: Fix wrong html-like tags shortcut for Vim (#26792)
Click to expand commit body
Release Notes:
- N/A
Mostafa Mahmoud
created
25772b8
Fix sticky header in last buffer of a multibuffer (#26944)
Click to expand commit body
This also simplifies our code to stop generating a last excerpt boundary
that we always ignore.
Closes #ISSUE
Release Notes:
- N/A
Conrad Irwin
created
94b6380
assistant edit tool: Fuzzy match search block (#26935)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Antonio Scandurra <me@as-cii.com>
I thought it might be just `test_file_status` this time, but it seems to
be all four of the tests that we were previously seeing issues with.
Release Notes:
- N/A
Cole Miller
created
db1d2de
Sync git button states between project diff & git panel (#26938)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Git action buttons are now synced between the project diff and git
panel
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Anthony Eid
,
Conrad Irwin
, and
Piotr Osiewicz
created
430bd83
Don't open the commit editor when staging last hunk (#26939)
Click to expand commit body
Closes #26880
Release Notes:
- Removed a behavior where staging the last hunk in the project diff
would open the commit modal.
Max Brunsfeld
created
dbe5399
Remove disabling effect on the stage and unstage toolbar buttons (#26936)
ddc210a
Add website docs for the hunk_style variants (#26937)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/26816
Release Notes:
- N/A
Mikayla Maki
created
65994c0
Add `git.hunk_style` setting for gutter hollow hunk behavior (#26816)
Click to expand commit body
This is a follow up to #26809, introducing `git.hunk_style` setting to
control whether staged or unstaged hunks are shown as hollow.
Reused `GitHunkStyleSetting` which was left over from #26504.
Release Notes:
- Added `git.hunk_style` setting to control whether staged or unstaged
hunks are hollow.
Jakub Charvat
created
011f823
Move buffer diff storage from `BufferStore` to `GitStore` (#26795)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: max <max@zed.dev>
Just a small docs pull request to remove the duplicate `indent_guides`
setting in the Project panel options section of the docs. There is also
another `indent_guides` on
[L2585](https://github.com/zed-industries/zed/pull/26927/files#diff-c2decf822f3085926bd23bdf175700222dfd8193d48ea39908d4bb1d1a7c6240R2584).
~~Let me know if you prefer to remove the other instance, thank you!~~
Edit: I just realized it's the old setting, `indent_guides` now expects
a object.
Marco Roth
created
1f62274
assistant edit tool: Return applied actions back to main model (#26810)
Click to expand commit body
We'll now include the search/replace block that got applied as part of
the tool output. We think this will help the model have a better idea of
how the file changed and prevent later edit failures.
Release Notes:
- N/A
Agus Zubiaga
created
c2f62d2
Disable flaky file status test again (#26925)
Click to expand commit body
Failure on an unrelated commit:
https://github.com/zed-industries/zed/actions/runs/13903012863/job/38899239052
Release Notes:
- N/A
Cole Miller
created
7d433a3
git_hosting_providers: Allow configuring additional hosting providers via settings (#26879)
Click to expand commit body
Release Notes:
- Added a new `git_hosting_providers` setting for configuring custom Git
hosting providers.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
khayyam
and
Marshall Bowers
created
52567f4
Eliminate unnecessary macros in languages crate (#26813)
Click to expand commit body
I vibe coded this in Zed, dawg.
This avoids a number of cases where we created multiple copies of the
same lsp adapter. Now we clone the Arcs.
Release Notes:
- N/A
Max Brunsfeld
created
a0ee84d
Use the main thread less on search tool (#26732)
Click to expand commit body
Release Notes:
- N/A
Richard Feldman
created
6cac0b3
docs: Add marker to signal which languages are built into Zed (#26913)
Click to expand commit body
I saw over the weekend some social media posts that indicated people
didn't know which languages are included in Zed by default. We do say
that on each language-specific page, but I figured having this
high-level view on the languages page wouldn't hurt.
Release Notes:
- N/A
This PR refactors the constructors for the various Git hosting providers
to facilitate adding support for more self-hosted variants.
Release Notes:
- N/A
Marshall Bowers
created
8ba6ce4
git_hosting_providers: Fix incorrect name for SourceHut (#26915)
Click to expand commit body
This PR fixes an issue where the SourceHut Git hosting provider was
using the wrong name.
Release Notes:
- N/A
Without this, we running into the following error:
```
Running into this when running tests. Is this
dyld[45041]: Library not loaded: @rpath/WebRTC.framework/WebRTC
Referenced from: <B2EA63A5-994E-3FB0-A74B-C9C4F7E5C1EF> /Users/aguz/zed/zed/target/debug/deps/assistant_tools-522d7745dd439dfb
Reason: no LC_RPATH's found
```
Thanks Piotr!
Release Notes:
- N/A
Agus Zubiaga
created
22d905d
nix: Allow auto-update in the devshell (#26911)
Click to expand commit body
Our direnv integration was making zed refuse to auto-update when you had
the zed repo open with the devshell active. This was happening even when
you used a non-nix build of zed, which actually should be able to
auto-update.
I'm a bit unsure of why we check for the `ZED_UPDATE_EXPLANATION` env
var [both at build time _and_ at
runtime](https://github.com/zed-industries/zed/blob/2828dcb67b0427bb64dd7c350896673ff6a14782/crates/auto_update/src/auto_update.rs#L149),
but I can see an argument for why people might want that so I'll just do
the less intrusive change for now and leave the var out of the devshell.
Release Notes:
- N/A
Julia Ryan
created
bf735da
Support extended keys on Mac (F20-F35) (#26899)
Click to expand commit body
Closes #4640
About the support limit of Fn:
Mac F1-F35
Win F1-F24
Linux F1-F35
Terminal F1-F20
Release Notes:
- Improved support for extended keyboards on Mac (F20-F35)
http-client pulled in rustls which in turn meant that gpui depended on
rustls/aws-lc-sys. This commit extracts http-client-tls crate to
separate the http-client and tls dependencies.
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
d5bb126
Delete tool uses paths instead of globs (#26715)
Click to expand commit body
Also made `run` avoid doing work on the main thread.
Release Notes:
- N/A
Richard Feldman
created
8a31dca
Use textDocument/codeLens data in the actions menu when applicable #2 (#26848)
Click to expand commit body
Re-applies what's been reverted in
https://github.com/zed-industries/zed/pull/26832 with an action-related
fix in
https://github.com/zed-industries/zed/commit/64b5d37d324176cc7b819418f46724cd4c67393d
Before, actions were resolved only if `data` is present and either of
the possible fields is empty:
https://github.com/zed-industries/zed/blob/e842b4eade368127f01944f1b442016edd6b292d/crates/project/src/lsp_store.rs#L1632-L1633
But Zed resolves completions and inlays once, unconditionally, and the
reverted PR applied the same strategy to actions.
That did not work despite the spec not forbidding `data`-less actions to
be resolved.
Soon, it starts to work due to
https://github.com/rust-lang/rust-analyzer/pull/19369 but it seems safer
to restore the original filtering code.
Code lens have no issues with `data`-less resolves:
https://github.com/rust-lang/rust-analyzer/blob/220d913cbcd05f9b7635179a98c685f31821a572/crates/rust-analyzer/src/handlers/request.rs#L1618-L1620
so the same approach as completions and inlays is kept: resolve once.
Release Notes:
- N/A
Kirill Bulatov
created
ef91e7a
Minor optimization of line number length logic (#26845)
Click to expand commit body
In `layout_excerpt_gutter`, compute max line number length once instead
of for every row
In `max_line_number_width`, use ilog10 instead of converting to floats
and back
Release Notes:
- N/A
Michael Sloan
created
c220fb3
Fix panic when providing 0 to ilog10 in line number length logic (#26844)
Click to expand commit body
Introduced in #24428
Release Notes:
- N/A
Michael Sloan
created
adbde21
termina: Fix text selection for first line scrolls up (#26842)
Click to expand commit body
Closes #21626
Now scroll will only happen when cursor goes beyond the bounds of
terminal.
Before:
https://github.com/user-attachments/assets/9ac48e80-d0e0-44c9-87ad-14ed748de78d
After:
https://github.com/user-attachments/assets/c697c1fc-a6d2-4b9a-aad4-5b0c79837c2a
Release Notes:
- Fixed an issue where selecting the first line in the terminal would
cause it to scroll.
Release Notes:
- N/A
Fix #24721 mistake to make sure underline width same as the text.
## Before

## After
<img width="912" alt="image"
src="https://github.com/user-attachments/assets/222b5dcb-c0fb-4ec1-8e23-d68247621375"
/>
c282acb
terminal: Don’t include line breaks for soft wrap in Assistant terminal context (#25415)
Click to expand commit body
> Detects and combines wrapped lines into single logical lines, more
accurately representing the actual terminal content.
```shell
perl -i -pe \
's/"vscode-languageserver(\/node)?"/"\@zed-industries\/vscode-languageserver$1"/g' packages/css/lib/node/cssServerMain.js
```
<img width="518" alt="image"
src="https://github.com/user-attachments/assets/52d9327c-c381-4e5f-a676-0cf84c824388"
/>
<img width="1314" alt="image"
src="https://github.com/user-attachments/assets/0a32e1f9-7e95-482e-9beb-2e8a6c40584c"
/>
Closes https://github.com/zed-industries/zed/issues/25341
Release Notes:
- Fixed a bug where context for the terminal assistant would add line
breaks in the presence of soft wrapped lines.
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Richard Hao
and
Peter Tripp
created
021d658
Revert "Use `textDocument/codeLens` data in the actions menu when applicable (#26811)" (#26832)
Click to expand commit body
This reverts commit b61171f1526f00c9916a5429af3d95b33d560d56.
This PR reverts #26811, as it has broken `rust-analyzer` code actions.
With this commit reverted my code actions are working again.
Release Notes:
- Community: Reverted https://github.com/zed-industries/zed/pull/26811.
Marshall Bowers
created
b547cd1
ci: Remove `migration_checks` as a required check (#26833)
Click to expand commit body
This PR removes the `migration_checks` job as a required check.
This was not required before, and we shouldn't make it required, as
there are cases where we need to bypass it, as is the case in
https://github.com/zed-industries/zed/pull/26832.
Release Notes:
- N/A
This PR reverts some of the changes made to `Cargo.lock` in #25702. In
that PR, several crate versions were unintentionally downgraded,
including `aws-lc-rs`, which has caused release builds to fail on
Windows again.
Release Notes:
- N/A
张小白
created
4b153e7
gpui: Fix `line_through`, `underline` position when used text center or right (#24721)
Click to expand commit body
Release Notes:
- N/A
---
| Before | After |
| --- | --- |
| <img width="912" alt="image"
src="https://github.com/user-attachments/assets/0640ac85-ee5d-4707-b866-997e36608c18"
/> | <img width="912" alt="image"
src="https://github.com/user-attachments/assets/caf84477-a7bc-4c22-a9e6-f44c3b6f86ef"
/> |
And fix the `line_through` doc link.
Jason Lee
created
b61171f
Use `textDocument/codeLens` data in the actions menu when applicable (#26811)
Click to expand commit body
Similar to how tasks are fetched via LSP, also queries for document's
code lens and filters the ones with the commands, supported in server
capabilities.
Whatever's left and applicable to the range given, is added to the
actions menu:

This way, Zed can get more actions to run, albeit neither r-a nor vtsls
seem to provide anything by default.
Currently, there are no plans to render code lens the way as in VSCode,
it's just the extra actions that are show in the menu.
------------------
As part of the attempts to use rust-analyzer LSP data about the
runnables, I've explored a way to get this data via standard LSP.
When particular experimental client capabilities are enabled (similar to
how clangd does this now), r-a starts to send back code lens with the
data needed to run a cargo command:
```
{"jsonrpc":"2.0","id":48,"result":{"range":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}},"command":{"title":"▶︎ Run Tests","command":"rust-analyzer.runSingle","arguments":[{"label":"test-mod tests::ecparser","location":{"targetUri":"file:///Users/someonetoignore/work/ec4rs/src/tests/ecparser.rs","targetRange":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}},"targetSelectionRange":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}}},"kind":"cargo","args":{"environment":{"RUSTC_TOOLCHAIN":"/Users/someonetoignore/.rustup/toolchains/1.85-aarch64-apple-darwin"},"cwd":"/Users/someonetoignore/work/ec4rs","overrideCargo":null,"workspaceRoot":"/Users/someonetoignore/work/ec4rs","cargoArgs":["test","--package","ec4rs","--lib"],"executableArgs":["tests::ecparser","--show-output"]}}]}}}
```
This data is passed as is to VSCode task processor, registered in
https://github.com/rust-lang/rust-analyzer/blob/60cd01864a2d0d6e2231becee402ba063b59dfa1/editors/code/src/main.ts#L195
where it gets eventually executed as a VSCode's task, all handled by the
r-a's extension code.
rust-analyzer does not declare server capabilities for such tasks, and
has no `workspace/executeCommand` handle, and Zed needs an interactive
terminal output during the test runs, so we cannot ask rust-analyzer
more than these descriptions.
Given that Zed needs experimental capabilities set to get these lens:
https://github.com/rust-lang/rust-analyzer/blob/60cd01864a2d0d6e2231becee402ba063b59dfa1/editors/code/src/client.ts#L318-L327
and that the lens may contain other odd tasks (e.g. docs opening or
references lookup), a protocol extension to get runnables looks more
preferred than lens:
https://rust-analyzer.github.io/book/contributing/lsp-extensions.html#runnables
This PR does not include any work on this direction, limiting to the
general code lens support.
As a proof of concept, it's possible to get the lens and even attempt to
run it, to no avail:

Release Notes:
- Used `textDocument/codeLens` data in the actions menu when applicable
Kirill Bulatov
created
0b492c1
Use `line_endings` macro for the edit tool tests (#26642)
Click to expand commit body
This aligns with how we handle other tests on Windows.
Release Notes:
- N/A
Closes https://github.com/zed-industries/zed/issues/13111
Release Notes:
- vim: Added global marks `'[A-Z]`
- vim: Added persistence for global (and local) marks. When re-opening
the same workspace your previous marks will be available.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>