4c28d2c
language: Improve auto-indentation when using round brackets in Python (#31260)
Click to expand commit body
Follow-up to #29625 and #30902
This PR reintroduces auto-intents for brackets in Python and fixes some
cases where an indentation would be triggered if it should not. For
example, upon typing
```python
a = []
```
and inserting a newline after, the next line would be indented although
it shoud not be.
Bracket auto-indentation was tested prior to #29625 but removed there
and the test updated accordingly. #30902 reintroduced this for all
brackets but `()`. I reintroduced this here, reverted the changes to the
test so that indents also happen after typing `()`. This is frequently
used for tuples and multiline statements in Python.
Release Notes:
- Improved auto-indentation when using round brackets in Python.
Finn Evers
created
a204510
editor: Add `toggle diagnostics` to command palette (#31358)
Click to expand commit body
Follow-up to #30316
This PR adds the `editor: toggle diagnostics` action to the comand
palette so that it can also be invoked that way.
I also ensures this, the `toggle inline diagnostics` and `toggle
minimap` actions are only registered if these are supported by the
current editor instance.
Release Notes:
- N/A
Finn Evers
created
34be783
editor: Do not start scroll when hovering the scroll thumb during dragging events (#30782)
Click to expand commit body
Closes #30756
Closes #30729
Follow-up to #28064
The issue arose because GPUI does still propagate mouse events to all
event handlers during dragging actions even if the dragging action does
not belong to the current handler. I forgot about this in the other PR.
This resulted in an incorrect hover being registered for the thumb,
which was sufficient to trigger scrolling in the next frame, since
`dragging_scrollbar_axis` did not consider the actual thumb state (this
was generally sufficient, but not with this incorrectly registered
hover).
Theoretically, either of the both commits would suffice for fixing the
issue. However, I think it is better to fix both issues at hand instead
of just one. Now, we will only start the scroll on actual scrollbar
clicks and not show a hover on the thumb if any other drag is currently
going on.
https://github.com/user-attachments/assets/6634ffa0-78fc-428f-99b2-7bc23a320676
Release Notes:
- Fixed an issue where editor scrollbars would start scrolling when
hovering over the thumb whilst already dragging something else.
Finn Evers
created
d312a13
ui: Fix content shift when selecting last tab (#31266)
Click to expand commit body
Follow-up to #29061
This PR ensures that the last tab does not flicker when either
selecting. It also fixes an issue where the layout would shift in the
new last tab when closing the last tab.
https://github.com/user-attachments/assets/529a2a92-f25c-4ced-a992-fb6b2d3b5f61
This happened because in #29061, the left padding was removed due to
issues with borders. However, the padding is relevant for the content to
not shift (we are basically doing border-box sizing manually here).
Instead, we need to remove the padding on the right side, as there is
already a border present on the right side and this padding would make
the last tab slightly larger than all other tabs.
https://github.com/user-attachments/assets/c3a10b3c-4a1d-4160-9b68-7538207bb46e
Release Notes:
- Removed a small flicker when selecting or closing the last tab in a
pane.
Finn Evers
created
20a0956
Do not underline unnecessary diagnostics (#31355)
Click to expand commit body
Closes
https://github.com/zed-industries/zed/pull/31229#issuecomment-2906946881
Follow
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnosticTag
> Clients are allowed to render diagnostics with this tag faded out
instead of having an error squiggle.
and do not underline any unnecessary diagnostic at all.
Release Notes:
- Fixed clangd's inactive regions diagnostics excessive highlights
Kirill Bulatov
created
6f918ed
debugger beta: Fix regression where we sent launch args twice to any dap (#31325)
Click to expand commit body
This regression happens because our tests weren't properly catching this
edge case anymore. I updated the tests to only send the raw config to
the Fake Adapter Client.
Release Notes:
- debugger beta: Fix bug where launch args were sent twice
This PR removes the `CloudModel` enum, as it is no longer needed after
#31316.
Release Notes:
- N/A
Marshall Bowers
created
fc8702a
agent: Don't show "Tools Unsupported" when no model is selected (#31321)
Click to expand commit body
This PR makes it so we don't show "Tools Unsupported" when no model is
selected.
Release Notes:
- N/A
Marshall Bowers
created
ab59982
Add initial element inspector for Zed development (#31315)
Click to expand commit body
Open inspector with `dev: toggle inspector` from command palette or
`cmd-alt-i` on mac or `ctrl-alt-i` on linux.
https://github.com/user-attachments/assets/54c43034-d40b-414e-ba9b-190bed2e6d2f
* Picking of elements via the mouse, with scroll wheel to inspect
occluded elements.
* Temporary manipulation of the selected element.
* Layout info and JSON-based style manipulation for `Div`.
* Navigation to code that constructed the element.
Big thanks to @as-cii and @maxdeviant for sorting out how to implement
the core of an inspector.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Federico Dionisi <code@fdionisi.me>
Michael Sloan
,
Antonio Scandurra
,
Marshall Bowers
, and
Federico Dionisi
created
685933b
language_models: Fetch Zed models from the server (#31316)
Click to expand commit body
This PR updates the Zed LLM provider to fetch the available models from
the server instead of hard-coding them in the binary.
Release Notes:
- Updated the Zed provider to fetch the list of available language
models from the server.
7341ab3
Keep file permissions when extracting zip archives on Unix (#31304)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/31080
Stop doing
```rs
#[cfg(not(windows))]
{
file.set_permissions(<fs::Permissions as fs::unix::PermissionsExt>::from_mode(
0o755,
))
.await?;
}
```
after extracting zip archives on Unix, and use an API that provides the
file permissions data for each archive entry.
Release Notes:
- N/A
- Rename current_user_account_too_young to account_too_young for
consistency
- Add has_overdue_invoices field to track billing status
- Block edit predictions when user has overdue invoices
- Add overdue invoice warning to inline completion menu
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Ben Brandt
and
Marshall Bowers
created
cb112a4
Have `edit_file_tool` respect `format_on_save` (#31047)
Click to expand commit body
Release Notes:
- Agents now automatically format after edits if `format_on_save` is
enabled.
Richard Feldman
created
f3c2e71
Update syn crate from 1.0.109 to 2.0.101 (#31301)
Click to expand commit body
Nearly all generated by Zed Agent + Claude Opus 4. I just wrote the test
`Args` struct and pointed it at the [2.0 release
notes](https://github.com/dtolnay/syn/releases/tag/2.0.0).
Release Notes:
- N/A
Michael Sloan
created
208f525
Don't always scroll to bottom on every new message (#31295)
Click to expand commit body
This is a partial reversion of
https://github.com/zed-industries/zed/pull/30878 - having it always
scroll to bottom whenever a new message is added makes it so that when
you're scrolled up, you don't have time to read what you're trying to
read before it autoscrolls to the end.
@danilo-leal when you're back, we can pair on addressing that in a
different way!
Release Notes:
- Fixed bug where scrolling up in the agent panel didn't prevent
automatic scroll-to-end whenever a new message arrived.
Richard Feldman
created
697c838
languages: Allow complete override for ESLint settings (#31302)
Click to expand commit body
Closes #17088
This PR allows users to override ESLint settings as they want instead of
depending on a few set of hardcoded keys.
Release Notes:
- Added support for configuring all ESLint server settings instead of
only a limited set of predefined options.
smit
created
1683e2f
collab: Prevent canceling the free plan (#31292)
Click to expand commit body
This PR makes it so the Zed Free plan cannot be canceled.
We were already preventing this on the zed.dev side, but this will make
it more airtight.
Release Notes:
- N/A
Marshall Bowers
created
2f1d928
debugger: Fix adapter names in initial-debug-tasks.json (#31283)
Click to expand commit body
Closes #31134
Release Notes:
- N/A
---------
Co-authored-by: Piotr <piotr@zed.dev>
This is needed for apples-to-apples comparison of different agent
models.
Another change is that now `cargo -p eval` accepts model names as
`provider_id/model_id` instead of separate `--provider` and `--model`
params.
Release Notes:
- N/A
Oleksiy Syvokon
created
3a1053b
Use shortened SHA when displaying version to install (#31281)
Click to expand commit body
This PR uses a shortened SHA when displaying the nightly version to
install in the update status, for nicer tooltip formatting.
Release Notes:
- N/A
Joseph T. Lyons
created
14d9a41
debugger beta: Auto download Delve (Go's DAP) & fix grammar errors in docs (#31273)
Click to expand commit body
Release Notes:
- debugger beta: Go's debug adapter will now automatically download if
not found on user's PATH
Co-authored-by: Remco Smits <djsmits12@gmail.com>
If gdb doesn't send a thread name we display the thread's process id in
the thread drop down menu instead now.
Co-authored-by: Remco Smits \<djsmits12@gmail.com\>
Release Notes:
- debugger beta: Handle bug where DAPs don't send thread names
Anthony Eid
created
9dba8e5
Ensure client reconnects after erroring during the handshake (#31278)
Click to expand commit body
Release Notes:
- Fixed a bug that prevented Zed from reconnecting after erroring during
the initial handshake with the server.
Antonio Scandurra
created
03ac3fb
editor: Fix issue where newline on `*` as prefix adds comment delimiter (#31271)
Click to expand commit body
Release Notes:
- Fixed issue where pressing Enter on a line starting with * incorrectly
added comment delimiter.
---------
Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
smit
,
Piotr Osiewicz
, and
Piotr Osiewicz
created
0201d1e
agent: Unfollow agent on completion cancellation (#31258)
Click to expand commit body
Handle unfollowing agent and clearing agent location when completion
is canceled.
Release Notes:
- N/A
Ben Brandt
created
f48b6b5
debugger: Change placeholder text for Custom/Run text input (#31264)
Part of https://github.com/zed-industries/zed/issues/31261
https://github.com/tamasfe/taplo/pull/598#issuecomment-2292984164
renamed all artifacts almost a year ago, and now had released it
finally.
Have to abide to that YOLO move.
Release Notes:
- N/A
- Make remembering focus work with `ActivatePaneDown` as well
- Tone down the console's focus-in behavior so clicking doesn't
misbehave
Release Notes:
- N/A
Cole Miller
created
26318b5
debugger: Detect debugpy from virtual env (#31211)
Click to expand commit body
Release Notes:
- Debugger Beta: Detect debugpy from virtual env
Remco Smits
created
4266f0d
terminal: Consume event during processing (#30869)
Click to expand commit body
By consuming the event during processing we save a few clones during
event processing.
Overall in this PR we save one Clone each during:
- Paste to the terminal
- Writing to the terminal
- Setting the title
- On every terminal transaction
- On every ViMotion when not using shift
Release Notes:
- N/A
tidely
created
c50093d
project: Use VecDeque in SearchHistory (#31224)
Click to expand commit body
`SearchHistory` internally enforced the max length of the search history
by popping elements from the front using `.remove(0)`. For a `Vec` this
is a `O(n)` operation. Use a `VecDeque` to make this `O(1)`
I also made it so the excess element is popped before the new one is
added, which keeps the allocation at the desired size.
Release Notes:
- N/A
Closes issue #31120.
https://github.com/user-attachments/assets/a4b3c86d-7358-49ac-b8d9-e9af50daf671
Release Notes:
- Added a code actions icon to the toolbar. This icon can be disabled by
setting `toolbar.code_actions` to `false`.
f435304
Use read-only access methods for read-only entity operations (#31254)
Click to expand commit body
This PR replaces some `update()` calls with either `read()` or
`read_with()` when the `update()` call performed read-only operations on
the entity.
Many more likely exist, will follow-up with more PRs.
Release Notes:
- N/A
Joseph T. Lyons
created
508ccde
Better messaging for accounts that are too young (#31212)
Click to expand commit body
Right now you find this out the first time you try and submit a
completion.
These changes communicate much earlier to the user what the issue is
with their account and what they can do about it.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Ben Brandt
and
Antonio Scandurra
created
9f7987c
Change default diagnostics_max_severity to 'hint' (#31229)
Click to expand commit body
Closes https://github.com/blopker/codebook/issues/79
Recently, the setting `diagnostics_max_severity` was changed from `null`
to `warning`in this PR: https://github.com/zed-industries/zed/pull/30316
This change has caused the various spell checking extensions to not work
as expected by default, most of which use the `hint` diagnostic. This
goes against user expectations when installing one of these extensions.
Without `hint` as the default, extension authors will either need to
change the diagnostic levels, or instruct users to add
`diagnostics_max_severity` to their settings as an additional step,
neither of which is a great user experience.
This PR sets the default `hint`, which is closer to the original
behavior before the aforementioned PR.
Release Notes:
- Changed `diagnostics_max_severity` to `hint` instead of `warning` by
default
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Bo Lopker
and
Kirill Bulatov
created
cb52acb
eval: Don't read the model from the user settings (#31230)
Click to expand commit body
This PR fixes an issue where the eval was incorrectly pulling the
provider/model from the user settings, which could cause problems when
running certain evals.
Was introduced in #30168 due to the restructuring after the removal of
the `assistant` crate.
Release Notes:
- N/A
Marshall Bowers
created
f8b997b
docs: Fix Claude Sonnet 4 model name (#31226)
Click to expand commit body
This PR fixes the model name for Claude Sonnet 4 to match Anthropic's
new ordering.
Release Notes:
- N/A
Marshall Bowers
created
73a5856
docs: Add Claude 4 Sonnet to docs (#31225)
Release Notes:
- AWS Bedrock: Added support for Claude 4.
Shardul Vaidya
created
ceb5164
agent: Remove last turn after a refusal (#31220)
Click to expand commit body
This is a follow-up to https://github.com/zed-industries/zed/pull/31217
that removes the last turn after we get a `refusal` stop reason, as
advised by the Anthropic docs.
Meant to include it in that PR, but accidentally merged it before
pushing these changes 🤦🏻♂️.
Release Notes:
- N/A
Marshall Bowers
created
24a108d
anthropic: Fix Claude 4 model display names to match official order (#31218)
Click to expand commit body
Release Notes:
- N/A
Umesh Yadav
created
5c0b161
Handle new `refusal` stop reason from Claude 4 models (#31217)
Click to expand commit body
This PR adds support for handling the new [`refusal` stop
reason](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/handle-streaming-refusals)
from Claude 4 models.
<img width="409" alt="Screenshot 2025-05-22 at 4 31 56 PM"
src="https://github.com/user-attachments/assets/707b04f5-5a52-4a19-95d9-cbd2be2dd86f"
/>
Release Notes:
- Added handling for `"stop_reason": "refusal"` from Claude 4 models.
Marshall Bowers
created
ad4645c
debugger: Fix environment variables not being substituted in debug tasks (#31198)
Click to expand commit body
Release Notes:
- Debugger Beta: Fixed a bug where environment variables were not
substituted in debug tasks in some cases.
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Cole Miller
,
Anthony Eid
, and
Remco Smits
created
37047a6
language_models: Update default/recommended Anthropic models to Claude Sonnet 4 (#31209)
Click to expand commit body
This PR updates the default/recommended models for the Anthropic and Zed
providers to be Claude Sonnet 4.
Release Notes:
- Updated default/recommended Anthropic models to Claude Sonnet 4.
Marshall Bowers
created
fc78408
language_model: Allow Max Mode for Claude 4 models (#31207)
Click to expand commit body
This PR adds the Claude 4 models to the list of models that support Max
Mode.
Release Notes:
- Added Max Mode support for Claude 4 models.