9d2b7c8
agent: Dismiss the agent panel notification if window is closed (#34230)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/32951
Release Notes:
- agent: Fixed an issue where the agent panel notification would linger
on even after you closed the window.
Danilo Leal
created
c6603e4
Stop extensions' servers and message loops before removing their files (#34208)
Click to expand commit body
Fixes an issue that caused Windows to fail when removing extension's
directories, as Zed had never stop any related processes.
Now:
* Zed shuts down and waits until the end when the language servers are
shut down
* Adds `impl Drop for WasmExtension` where does
`self.tx.close_channel();` to stop a receiver loop that holds the "lock"
on the extension's work dir.
The extension was dropped, but the channel was not closed for some
reason.
* Does more unregistration to ensure `Arc<WasmExtension>` with the `tx`
does not leak further
* Tidies up the related errors which had never reported a problematic
path before
Release Notes:
- N/A
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Smit <smit@zed.dev>
d6bff27
settings_ui: Ensure selected keymap entry is properly updated (#34229)
Click to expand commit body
This change ensures that we more reliably deploy the context menu in the
keymap editor as well as highlight the selected row quicker.
Release Notes:
- N/A
Finn Evers
created
cfc9cfa
language_models: Refresh the list of models when the LLM token is refreshed (#34222)
Click to expand commit body
This PR makes it so we refresh the list of models whenever the LLM token
is refreshed.
This allows us to add or remove models based on the plan in the new
token.
Release Notes:
- Fixed model list not refreshing when subscribing to Zed Pro.
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Marshall Bowers
and
Bennet Bo Fenner
created
e2e529b
Remove redundant `autoscroll_horizontally` during editor prepaint (#34218)
Click to expand commit body
* Experimentally `scroll_manager.anchor()` appears to be the same before
and after this 2nd call of `autoscroll_horizontally`
* Nothing these depend on seem to be mutated between the calls (and
since this is prepaint, stuff within editor also shouldn't be mutated)
Release Notes:
- N/A
Co-authored-by: Finn <finn@zed.dev>
f8f8275
Remove default shell breadcrumbs on windows (#34198)
Click to expand commit body
Release Notes:
- N/A
localcc
created
36c325b
docs: Add GitHub Copilot Enterprise configuration example (#33902)
Click to expand commit body
### Context
This PR adds documentation for setting up GitHub Copilot Enterprise as
an edit prediction provider in Zed.
There was previously no documentation for this feature, which was
implemented in [PR
#32296](https://github.com/zed-industries/zed/pull/32296).
This follows up on [my
comment](https://github.com/zed-industries/zed/issues/22901#issuecomment-3034817471)
and the response from the[ Zed
team](https://github.com/zed-industries/zed/issues/22901#issuecomment-3034837282),
which clarified the required settings.
### What’s included
- Documents the `enterprise_uri` setting for Copilot Enterprise in
`edit-prediction.md`.
- Explains how to configure the setting and what to expect from the
sign-in flow.
### Notes
- This is a documentation-only change.
- No code or tests are affected.
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Nathan Brodin
and
Peter Tripp
created
f4106ad
collab: Send down new usage limits even when the user does not have any usage (#34217)
Click to expand commit body
This PR fixes an issue where the plan usage limits in Zed would not get
updated immediately after the plan has changed.
Previously we were only sending down the usage—which contains the
limits—if there was a usage record in the database. This would be absent
if the user had just changed their plan.
We now always send down the usage in order to update the limits on the
client side.
Release Notes:
- N/A
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Marshall Bowers
and
Bennet Bo Fenner
created
1583dd2
settings_ui: Ensure context menu is properly populated (#34213)
Click to expand commit body
This change fixes a small issue where the right-click context menu would
not be populdated on the first right click in the keymap editor and the
selection of the corresponding entry would be slightly delayed.
Release Notes:
- N/A
Finn Evers
created
d7fd924
settings_ui: Open keybinding editing modal on mouse double click (#34193)
Click to expand commit body
Whilst working on the keymap editor, I regularly find myself
double-clicking an entry just to find that nothing happens besides
selecting the given entry. This feels really unintuitive to me. I
checked back with VSCode and they also open the modal when
double-clicking an entry in the list.
Thus, this PR enables double-clicking an entry in the list to open the
editing modal.
Release Notes:
- N/A
51c24e2
Reorder items in the quick action bar (#34203)
Click to expand commit body
Namely, putting the diagnostics items in their own little section,
divider from the other "inline" and minimap/edit prediction items. I
feel like this is an easier to parse organization, even though all the
"inlines" made sense to be somewhat close together.
Release Notes:
- N/A
Danilo Leal
created
3169f06
windows: Don't show cmd window when remoting (#34187)
dc591fe
Hide unused extension types from the extension UI (#34166)
Click to expand commit body
This PR hides "slash commands" and "indexed docs providers" from the
extensions UI as these are virtually completely unused types of
extensions.
Release Notes:
- N/A
Danilo Leal
created
95784d5
agent: Fix edit bar's background color when zoomed in (#34163)
Click to expand commit body
When the panel was zoomed in, the edit bar's background color would have
a different color than the rest of the panel. This PR fixes it by using
the `panel_background` color token.
Release Notes:
- N/A
Danilo Leal
created
9b63ba6
gpui: Add `cx.intercept_keystrokes` API to intercept keystrokes before action dispatch (#34084)
Click to expand commit body
Closes #ISSUE
`cx.intercept_keystrokes` functions as a sibling API to
`cx.observe_keystrokes`. Under the hood the two API's are basically
identical, however, `cx.observe_keystrokes` runs _after_ all event
dispatch handling (including action dispatch) while
`cx.intercept_keystrokes` runs _before_. This allows for
`cx.stop_propagation()` calls within the `cx.intercept_keystrokes`
callback to prevent action dispatch.
The motivating example usage behind this API is also included in this
PR. It is used as part of a keystroke input component that needs to
intercept keystrokes before action dispatch to display them.
cc: @mikayla-maki
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
862e733
agent: Make all icons used for tool calls consistent (#34160)
Click to expand commit body
Starting to use the `Tool...` family of icons dedicated & designed for
the agent panel.
Release Notes:
- N/A
Danilo Leal
created
66dda8e
editor: Fix block comment with same prefix as line comment incorrectly extending on new line (#34156)
Click to expand commit body
Closes #33930
Release Notes:
- Fixed `--[[` incorrectly extending `--` upon a new line in Lua.
Smit Barmase
created
16d02cf
agent: Allow thinking in edit file tool (#34155)
Click to expand commit body
Follow up to #34141. As pointed out by @maan2003 changing the thinking
parameters invalidates the message cache
([Docs](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching#what-invalidates-the-cache)).
All the other places where `thinking_allowed ` is set to `false` should
be fine since we do not do any caching there.
Release Notes:
- N/A
9ab5e78
Add some UI adjustments to the keymap editor (#34152)
Click to expand commit body
Mostly simple things like spacing and colors.
Release Notes:
- N/A
Danilo Leal
created
e30e438
Add chevron icons to the dropdown menus in the LSP log pane (#34149)
Click to expand commit body
A bunch of dropdown menus in this pane that weren't clear that were
menus without chevrons in it. :)
<img
src="https://github.com/user-attachments/assets/fc701a5d-ed89-4de3-a76e-06d22ad9e366"
width="600"/>
Release Notes:
- N/A
Danilo Leal
created
de627ba
git_ui: Support "Open Pull Request" for more platforms (#33833)
Click to expand commit body
Hello! It would be great to be able to use the "Open Pull Request"
button that appears after pushing a branch via the git UI on more
platforms (I use Gitlab day to day). Would you be open to adding more
variations of the PR hint text?
I've added the text that Gitlab and Bitbucket use in their push logs
here.
Release Notes:
- Git UI: Support "Open Pull Request" for more platforms
Steve Hillier
created
80eed63
agent: Add menu in the plus icon button for creating a new thread (#34143)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Danilo Leal
and
Agus Zubiaga
created
974bc40
agent: Don't always render the markdown/scroll buttons (#34145)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Danilo Leal
and
Agus Zubiaga
created
642d8bb
Don't upload windows installer to preview releases for now (#34147)
Click to expand commit body
Release Notes:
- N/A
Max Brunsfeld
created
41fe2a2
agent: Disable thinking when using inline assistant/edit file tool (#34141)
Click to expand commit body
This introduces a new field `thinking_allowed` on `LanguageModelRequest`
which lets us control whether thinking should be enabled if the model
supports it.
We permit thinking in the Inline Assistant, Edit File tool and the Git
Commit message generator, this should make generation faster when using
a thinking model, e.g. `claude-sonnet-4-thinking`
Release Notes:
- N/A
Bennet Bo Fenner
created
96ff6d8
Fix autocomplete on settings.json after reload (#34142)
Click to expand commit body
Closes #31850
https://github.com/user-attachments/assets/6182ef64-3ce6-49ed-a91b-770c51cb6e94
Release Notes:
- Fixed autocomplete on settings.json after restarting Zed
Richard Feldman
created
6e57632
Simplify installer by removing a couple pages (#34144)
Fix inno dir for nightly builds
Release Notes:
- N/A
localcc
created
93bfae7
Show conflicts in the keymap editor (#34137)
Click to expand commit body
This PR shows conflicts in a user's keymap editor by adding an error
background to a conflicting row and allows users to filter the keymap
editor by conflicts.
A key binding is determined to have a conflict if any other binding has
the same context and key strokes. In the future, this could be further
improved upon by normalizing bindings’ context so it's not just a string
comparison.
Release Notes:
- N/A
---------
Co-authored-by: MrSubidubi <dev@bahn.sh>
Anthony Eid
and
MrSubidubi
created
171be7e
keymap_ui: Render `<no arguments>` for bindings that take arguments where none are provided (#34140)
Click to expand commit body
Closes #ISSUE
Adds a visual indicator to the `Arguments` column of the keymap table to
help distinguish between actions that don't take arguments, and actions
that take arguments but none were provided.
Currently, the `<no arguments>` indicator is rendered only in the latter
case, when no arguments are provided to an action that could take
arguments, as the inverse results in almost every row containing the
indicator which is quite noisy.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
d5cc1cb
title_bar: Add setting to always show menu for Linux and Windows (#34139)
Click to expand commit body
Closes #22869
Release Notes:
- Added `show_menus` setting to always show menu bar for Linux and
Windows.
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Smit Barmase
,
Cole Miller
, and
Danilo Leal
created
Adds support for creating new keybinds in the keymap UI. "Create" means
two different things for existing bindings, and unbound actions.
- For existing bindings, it is essentially a duplicate + edit
- For unbound actions, it is the creation of a binding
Release Notes:
- N/A
## Summary
This PR improves the documentation for diff hunk keyboard shortcuts to
make existing functionality more discoverable to users.
### Problem
Users were unaware that pressing **ESC** already collapses all expanded
diff hunks through the existing `Cancel` action. The functionality
exists but lacks discoverability:
- The `Cancel` action description was too generic: "Cancels the current
operation"
- No documentation existed for diff hunk keyboard shortcuts in the Git
docs
- Users would naturally expect a dedicated keybinding for collapsing
diff hunks
Release Notes:
- N/A
81cc1e8
project_panel: Improve last sticky item drifting logic (#34119)
Click to expand commit body
- Now instead of drifting directory along with last item of that
directory, it waits till last item is completely consumed.
Release Notes:
- N/A
Smit Barmase
created
7114a5c
Fix panic in context server configuration (#34118)
Click to expand commit body
Release Notes:
- Fixed a panic that could occur when configuring MCP servers
Bennet Bo Fenner
created
45d200f
Wrap back around in context menu properly (#34112)
Click to expand commit body
When navigating back in the context menu, it was not possible to get
past first element, if it was not selectable.
The other way around works, hence the fix.
Release Notes:
- N/A
When [`drag_and_drop_selection` is
true](https://zed.dev/docs/configuring-zed#drag-and-drop-selection),
users can make a selection in the buffer and then drag and drop it to a
new location. However, the editor forces users to wait 300ms after mouse
down before dragging. If users try to drag before this delay has
elapsed, they will create a new text selection instead, which can create
the impression that drag and drop does not work.
I made two changes to improve the UX of this feature:
* If users do not want a delay before drag and drop is enabled, they can
set the `drag_and_drop_selection.delay_ms` setting to 0.
* If the user has done a mouse down on a text selection, the cursor
changes to a copy affordance as soon as the configured delay has
elapsed, rather than waiting for them to start dragging. This way they
don't need to guess at when the delay has elapsed.
The default settings for this feature are now:
```
"drag_and_drop_selection": {
"enabled": true,
"delay_ms": 300
}
```
Closes #33915
Before:
https://github.com/user-attachments/assets/7b2f986f-9c67-4b2b-a10e-757c3e9c934b
After:
https://github.com/user-attachments/assets/726d0dbf-e58b-41ad-93d2-1a758640b422
Release Notes:
- Migrate `drag_and_drop_selection` setting to
`drag_and_drop_selection.enabled`.
- Add `drag_and_drop_selection.delay_ms` setting to configure the delay
that must elapse before drag and drop is allowed.
- Show a ready to drag cursor affordance as soon as the delay has
elapsed
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>