9377ef9
feature_flags: Do not enable feature flags by default in dev builds (#27065)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
c3b5046
editor: Do not use breakpoint color for run indicators (#27063)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
44fff08
util: Include path to asset in panic message from asset_str (#27059)
Click to expand commit body
Somebody on Discord ran into issues with running the debugger which goes
down to an unwrap in asset_str. Let's print a path that was accessed.
Release Notes:
- N/A
Piotr Osiewicz
created
d4daa0a
Show debug console evaluation response (#27050)
Click to expand commit body
We weren't incrementing the output token when getting responses from the
debug evaluation request which caused some output to not be displayed.
(Usually the evaluation response, but that could cascade into other
output events not showing)
Release Notes:
- N/A
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Anthony Eid
,
Remco Smits
, and
Max Brunsfeld
created
81582cd
Don't render breakpoint indicators on top of expand arrows (#27048)
Click to expand commit body
Closes #ISSUE
cc @Anthony-Eid. One thing I noticed while doing this is that we do an
invalid cast here from DisplayPoint.row to MultiBufferRow. These are not
the same if you have soft-wrap enabled (or anything else in the display
map that's not in the editor).
Release Notes:
- N/A
Conrad Irwin
created
0f5a3af
Support built-in Zed prompts for all platforms (#26201)
Click to expand commit body
This pull request does two things:
1. Adds a setting to force Zed to use the built-in prompts, instead of
the system provided ones. I've personally found the system prompts on
macOS often fail to respond to keyboard input, are slow to render
initially, and don't match Zed's style.
2. Makes the previously Linux-only Zed provided prompts available to
everybody using the above setting.
Release Notes:
- Added support for a built-in prompting system, regardless of platform.
Use the new `use_system_prompts` setting to control whether to use the
system provided prompts or Zed's built-in system. Note that on Linux,
this setting has no effect, as Linux doesn't have a system prompting
mechanism.
Ryan Hawkins
created
382f9f6
language_tools: Fix buffer search keeping focusing when pressing enter in vim mode (#26266)
Click to expand commit body
Closes #25643
Release Notes:
- Fixed buffer search keep focus when pressing enter in vim mode
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
CharlesChen0823
and
Conrad Irwin
created
15d2420
`workspace::Open`: Fix trapped cursor/selection on update (#25402)
Click to expand commit body
Closes #ISSUE
Issue: Selection index does not reset when the matches update, which can
lead to the selection getting trapped when that index does not exist in
the next matches.
https://github.com/user-attachments/assets/d3fab23f-750c-47fb-bd3b-a0c42f214c83
This is in workspace::Open with "use_system_path_prompts": false
Release Notes:
- N/A
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
5brian
and
Conrad Irwin
created
026c727
workspace: Add function to save new file in directory nearest tab (#22563)
Click to expand commit body
Closes #15685
Release Notes:
- save new file in directory neasrest tab
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
CharlesChen0823
and
Conrad Irwin
created
1aefa51
Move "async move" a few characters to the left in cx.spawn() (#26758)
Click to expand commit body
This is the core change:
https://github.com/zed-industries/zed/pull/26758/files#diff-044302c0d57147af17e68a0009fee3e8dcdfb4f32c27a915e70cfa80e987f765R1052
TODO:
- [x] Use AsyncFn instead of Fn() -> Future in GPUI spawn methods
- [x] Implement it in the whole app
- [x] Implement it in the debugger
- [x] Glance at the RPC crate, and see if those box future methods can
be switched over. Answer: It can't directly, as you can't make an
AsyncFn* into a trait object. There's ways around that, but they're all
more complex than just keeping the code as is.
- [ ] Fix platform specific code
Release Notes:
- N/A
This PR adds a failing test `test_staging_hunks_with_delayed_fs_event`
and makes it pass
Also skips a queued read for git diff states if another read was
requested (less work)
This still doesn't catch all race conditions, but the PR is getting long
so I'll yield this and start another branch
Release Notes:
- N/A
João Marcos
created
68a5728
assistant edit tool: Improve bad search output (#27012)
Click to expand commit body
When we failed to match a search string, we were reporting the replace
string as not found, this confuses the model and can make it go into a
doom loop. This PR fixes that improves the error output in general to
help it recover faster.
Release Notes:
- N/A
Agus Zubiaga
created
c042a02
debugger: First slight pass at UI (#27034)
Click to expand commit body
- Collapse Launch and Attach into a single split button
- Fix code actions indicator being colored red.
Release Notes:
- N/A
By default stdenv strips all unused rpaths, but we use a few libraries
that are `dlopen`'d so we need to stop it from removing those. The
[`dontPatchELF`
flag](https://ryantm.github.io/nixpkgs/stdenv/stdenv/#var-stdenv-dontPatchELF)
disables that and makes the nix build work on wayland again.
Fix #26905
Close #26864
Release Notes:
- N/A
Julia Ryan
created
2269f99
Add more shortcuts for delete/restore in Git Panel (#27004)
This PR removes the debug logging added in
https://github.com/zed-industries/zed/pull/23722, as we no longer need
it.
Release Notes:
- N/A
Marshall Bowers
created
a2ae6a1
assistant2: Add tool lists for each context server (#27029)
Click to expand commit body
This PR updates the list of context servers with the ability to view the
tools provided by the context server:
<img width="1394" alt="Screenshot 2025-03-18 at 5 53 05 PM"
src="https://github.com/user-attachments/assets/4ffe93dd-f9e9-44e7-877f-656ebf45a326"
/>
Release Notes:
- N/A
Marshall Bowers
created
985ac4e
gpui: Reduce `window.refresh` to improve cache hit of the cached views (#25009)
Click to expand commit body
Release Notes:
- Improved performance when using the scroll wheel and some other mouse
interactions.
Based on some cache details about GPUI `AnyView::cached` that I found in
the discussion of
https://github.com/zed-industries/zed/discussions/24260#discussioncomment-12135749,
and combined with the optimization points found in actual applications.
This change may have some scenarios that I have not considered, so I
just make a draft to put forward my ideas first for discussion.
From my analysis, `AnyView::cached` will always invalid by Div's mouse
events, because of it called `window.refresh`. I understand that (mouse
move event) this is because the interface changes related to hover and
mouse_move will be affected style, so `window.refresh` is required.
Since Div does not have the `entity_id` of View, it is impossible to
know which View should be refreshed, so the entire window can only be
refreshed.
With this change, we can reduce a lot of `render` method calls on
ScrollWheel or Mouse Event.
Tried adding a custom debugging tasks to discover two more required
properties missing from the docs.
Release Notes:
- N/A
Kirill Bulatov
created
1d4afe6
assistant2: Add context server list to configuration view (#27028)
Click to expand commit body
This PR adds a context server list to the configuration view in
Assistant2:
<img width="1394" alt="Screenshot 2025-03-18 at 5 26 23 PM"
src="https://github.com/user-attachments/assets/58bf3920-1e35-4cb8-a32a-5ae9f98ce387"
/>
Release Notes:
- N/A
Marshall Bowers
created
777c88b
Clean up community_release_actions file (#27027)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
959a024
Omit `json-language-server` from the `scope_opt_in_language_servers` (#27023)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26574/files
After that PR, settings.json stopped giving completions when `"` was
typed as a key:
https://github.com/user-attachments/assets/5ff03863-024c-4c28-a7cd-8ef48a1695d8
This goes down to
https://github.com/zed-industries/zed/blob/fb12863999e601c4ffc9afbded036e4f1f064369/crates/language/src/language.rs#L1736-L1748
which was empty before the PR, hence leading to lower `true` branch.
Now, when typing `"`, there's no scope according to
https://github.com/zed-industries/zed/blob/fb12863999e601c4ffc9afbded036e4f1f064369/crates/project/src/lsp_store.rs#L4529-L4532
return result.
Removing `json-language-server` from `scope_opt_in_language_servers`
seems to preserve the `:` fix and restore the completions behavior.
Release Notes:
- N/A
It looks like:
- https://github.com/zed-industries/zed/pull/26780
accidentally added a new event type, `AssistantThreadFeedback`, using
the old event system, that it didn't end up actually using, as the code
actually relies on using the newer (preferred) `telemetry::event!()`.
Release Notes:
- N/A
Joseph T. Lyons
created
674c572
ci: Run stalebot checks multiple times to ensure completion (#27017)
Click to expand commit body
Stalebot has a maximum operations-per-run which is set at 1000. As a
result it may require multiple runs to successfully complete.
This morning it took [three
runs](https://github.com/zed-industries/zed/actions/runs/13921563707/attempts/1)
so set it to run three times two hours apart to avoid hitting github API
limits.
Release Notes:
- N/A
Peter Tripp
created
4a39fc2
gpui: Provide workaround for AMD Linux driver bug (#26890)
Click to expand commit body
There apparently is some amdgpu/radv bug that rendering with
multisample anti-aliasing (MSAA) results in a crash when the bounds
of a triangle list exceed 1024px, which in Zed happens with the default
buffer font size when you select a line with more than 144 characters.
This crash has been reported as #26143.
This commit introduces a workaround: you can set the
ZED_PATH_SAMPLE_COUNT=0
environment variable to disable MSAA and the error message we print
when a GPU crash is encountered with radv now suggests trying this
environment
variable as a workaround and links the respective issue.
Sidenote: MSAA was introduced in
f08b1d78ec1655a56b07c5efcd74d225d2a4b7d5
so you didn't run into this driver bug with versions < 0.173.8.
Release Notes:
- Added a workaround for an AMD Linux driver bug that causes Zed to
crash when selecting long lines.
Martin Fischer
created
48fe134
assistant edit tool: Create file when search/replace is empty (#27009)
Click to expand commit body
We used to fail when this happened, but we saw the model use it as a way
to create empty files, which makes sense.
Release Notes:
- N/A
Agus Zubiaga
created
22b8662
Fix syntax highlighting of git commit messages (#26988)
Click to expand commit body
- Load syntax colors into commit message editors
- Fix name mismatches that were preventing the git commit grammar and
language config from being matched up
Release Notes:
- Fixed git commit messages not being syntax-highlighted
Cole Miller
created
cc36cd9
extensions_ui: Add ability to filter extensions by category (#27005)
Click to expand commit body
This PR adds the ability to filter the list of extensions by category:
https://github.com/user-attachments/assets/ea7b518e-4769-4e2e-8bbe-e75f9f01edf9
Release Notes:
- Added the ability to filter the list of extensions by category.
Marshall Bowers
created
628a61d
docs: Specify the command for activating prompt library from the command palette (#27007)
Click to expand commit body
Quickfix of the docs as I read through and get familiar with the
assistant interface.
`prompt-library: toggle` does not appear to be a live command in
`cmd-shift-p` - instead I see `assistant: deploy prompt library`. This
change to the docs reflects that. It also notes that this command can
only be activated from within the assistant panel (the command is not
accessible from a standard editor panel).
Release Notes:
- N/A
KyleBarton
created
7f23875
Fold git merge messages into commit editor placeholder text (#26992)
Click to expand commit body
This PR changes the git commit message editors to surface git's
suggested merge message, if any, as placeholder text, as opposed to
"real" buffer text as was previously the case.
Release Notes:
- Changed git commit message editors to use placeholder text for git's
suggested merge messages
Cole Miller
created
e7bba1c
Improvements to interactive hard wrap behavior (#26953)
Click to expand commit body
Release Notes:
- Fixed involuntary joining of lines when typing in the commit message
editor
- Fixed being unable to type whitespace after a comment character at the
start of a line in the commit message editor
### DISCLAIMER
> As of 6th March 2025, debugger is still in development. We plan to
merge it behind a staff-only feature flag for staff use only, followed
by non-public release and then finally a public one (akin to how Git
panel release was handled). This is done to ensure the best experience
when it gets released.
### END OF DISCLAIMER
**The current state of the debugger implementation:**
https://github.com/user-attachments/assets/c4deff07-80dd-4dc6-ad2e-0c252a478fe9
https://github.com/user-attachments/assets/e1ed2345-b750-4bb6-9c97-50961b76904f
----
All the todo's are in the following channel, so it's easier to work on
this together:
https://zed.dev/channel/zed-debugger-11370
If you are on Linux, you can use the following command to join the
channel:
```cli
zed https://zed.dev/channel/zed-debugger-11370
```
## Current Features
- Collab
- Breakpoints
- Sync when you (re)join a project
- Sync when you add/remove a breakpoint
- Sync active debug line
- Stack frames
- Click on stack frame
- View variables that belong to the stack frame
- Visit the source file
- Restart stack frame (if adapter supports this)
- Variables
- Loaded sources
- Modules
- Controls
- Continue
- Step back
- Stepping granularity (configurable)
- Step into
- Stepping granularity (configurable)
- Step over
- Stepping granularity (configurable)
- Step out
- Stepping granularity (configurable)
- Debug console
- Breakpoints
- Log breakpoints
- line breakpoints
- Persistent between zed sessions (configurable)
- Multi buffer support
- Toggle disable/enable all breakpoints
- Stack frames
- Click on stack frame
- View variables that belong to the stack frame
- Visit the source file
- Show collapsed stack frames
- Restart stack frame (if adapter supports this)
- Loaded sources
- View all used loaded sources if supported by adapter.
- Modules
- View all used modules (if adapter supports this)
- Variables
- Copy value
- Copy name
- Copy memory reference
- Set value (if adapter supports this)
- keyboard navigation
- Debug Console
- See logs
- View output that was sent from debug adapter
- Output grouping
- Evaluate code
- Updates the variable list
- Auto completion
- If not supported by adapter, we will show auto-completion for existing
variables
- Debug Terminal
- Run custom commands and change env values right inside your Zed
terminal
- Attach to process (if adapter supports this)
- Process picker
- Controls
- Continue
- Step back
- Stepping granularity (configurable)
- Step into
- Stepping granularity (configurable)
- Step over
- Stepping granularity (configurable)
- Step out
- Stepping granularity (configurable)
- Disconnect
- Restart
- Stop
- Warning when a debug session exited without hitting any breakpoint
- Debug view to see Adapter/RPC log messages
- Testing
- Fake debug adapter
- Fake requests & events
---
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Co-authored-by: Piotr <piotr@zed.dev>
Remco Smits
,
Piotr Osiewicz
,
Anthony Eid
,
Anthony
,
Piotr Osiewicz
, and
Piotr
created
This PR adds a new `fetch` tool to the set of tools the Assistant has
available.
This tool accepts a URL and fetches the content as Markdown.
<img width="1394" alt="Screenshot 2025-03-18 at 11 52 21 AM"
src="https://github.com/user-attachments/assets/e5bcde14-a0dd-4835-9d42-8f45def68f4d"
/>
<img width="1394" alt="Screenshot 2025-03-18 at 11 52 37 AM"
src="https://github.com/user-attachments/assets/3bcce4f5-f61b-40d7-8b30-2c673ce3c06a"
/>
Release Notes:
- N/A
Marshall Bowers
created
baaafdd
worktree: Fix tracking of git status scans and re-enable tests (#26926)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Cole Miller
created
b70f21c
assistant_tools: Rename `RegexSearchTool` module to match the others (#27001)
Click to expand commit body
This PR renames the `RegexSearchTool` module to `regex_search_tool.rs`
to match the other tools.
Release Notes:
- N/A
#26935 is leading to bad edits, so let's revert it for now. I'll bring
back a version of this, but it'll likely just focus on indentation
instead of making the whole search fuzzy.
Release Notes:
- N/A
Agus Zubiaga
created
06e9f0e
Paginate regex and path search tools (#26997)
41a2be7
assistant2: Keep the tool selector open when toggling tools (#26994)
Click to expand commit body
This PR makes it so the tool selector will stay open when toggling tools
instead of closing after each selection:
https://github.com/user-attachments/assets/eb987785-cfb5-4b07-8d63-510fbd9d9bf1
This involved making a change to `ContextMenu` to allow it to rebuild
its menu items after each confirmation in order for them to reflect
their selected/unselected status. I intend to clean up the `ContextMenu`
API a bit at a later point, but that is out of scope for this PR.
Release Notes:
- N/A
68bb3bd
Add more shortcuts for `editor::OrganizeImports` (#26932)
Click to expand commit body
Follow-up to:
- https://github.com/zed-industries/zed/pull/25793
Release Notes:
- N/A
Peter Tripp
created
122e73f
Allow read-file tool to read a subset of a file (#26966)
Click to expand commit body
Release Notes:
- N/A
Richard Feldman
created
4b77550
migrator: Fix case where users see migration banner despite no diff changes (#26982)
Click to expand commit body
Fixes edge case where after carrying out all migrations if final text is
same as existing text, we don't need to ask user to do anything, despite
migrations edits are being applied internally. E.g. A -> B - > C -> A
Release Notes:
- N/A
Smit Barmase
created
a9f7c05
docs: Use correct name for Intelephense license file (#26986)
Click to expand commit body
This PR updates the Intelephense section of the PHP docs to use the
correct name for the license file.
Intelephense uses British English:
<img width="1185" alt="Screenshot 2025-03-18 at 8 30 20 AM"
src="https://github.com/user-attachments/assets/a675e854-bedf-4f70-bf8f-90488d196242"
/>
Release Notes:
- N/A
Marshall Bowers
created
ac617e2
Keep and filter word completions on input, if the menu is open (#26979)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26410
Release Notes:
- N/A
In the process of adding `@mentions` we realized that we do not want to
make a distinction between Files & Directories in the UI, therefore this
PR combines the File & Directory pickers into a unified version
https://github.com/user-attachments/assets/f3bf189c-8b69-4f5f-90ce-0b83b12dbca3
(Ignore the `@mentions`, they are broken also on main)
Release Notes:
- N/A
Bennet Bo Fenner
created
fdcacb3
typescript: Add highlighting for Angular inline components (#26553)
Makes multibuffer headers less close to the top of the file.
Moves multibuffer line numbers one em to the right to make space for the
expand excerpt button on large line numbers.
Release Notes:
- N/A
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>