10af3c7
debugger: Fix misleading error logs (#31293)
Click to expand commit body
Release Notes: - N/A
Cole Miller created
10af3c7
debugger: Fix misleading error logs (#31293)
Release Notes: - N/A
Cole Miller created
c0aa8f6
zlog: Replace usages of `env_logger` in tests with `zlog` (#31436)
Also fixes: https://github.com/zed-industries/zed/pull/31400#issuecomment-2908165249 Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
0c27aae
docs: Bedrock Configuration docs (#31043)
Release Notes: - Added documentation for Amazon Bedrock --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Shardul Vaidya and Danilo Leal created
8e5d50b
agent: Add a setting choose the default view (#31353)
Related discussions #30240 #30596
Release Notes:
- Added an option on the settings file to choose either the `agent`
panel or the `thread` panel as the default assistant panel when you
first open it. On `settings.json`:
```json
{
"agent": {
"default_view": "thread", // default is agent
}
}
```
Alvaro Parker created
625bf09
editor: Inline Code Actions Indicator (#31432)
Follow up to https://github.com/zed-industries/zed/pull/30140 and https://github.com/zed-industries/zed/pull/31236 This PR introduces an inline code action indicator that shows up at the start of a buffer line when there's enough space. If space is tight, it adjusts to lines above or below instead. It also adjusts when cursor is near indicator. The indicator won't appear if there's no space within about 8 rows in either direction, and it also stays hidden for folded ranges. It also won't show up in case there is not space in multi buffer excerpt. These cases account for very little because practically all languages do have indents. https://github.com/user-attachments/assets/1363ee8a-3178-4665-89a7-c86c733f2885 This PR also sets the existing `toolbar.code_actions` setting to `false` in favor of this. Release Notes: - Added code action indicator which shows up inline at the start of the row. This can be disabled by setting `inline_code_actions` to `false`.
Smit Barmase created
5a0a8ce
extension: Update to wasm32-wasip2 target (#30953)
Cleans things up now that wasm32-wasip2 is a supported target. Before we merge, I will need to test against the current extensions to make sure this is fine. However, since our wit world isn't using any wasi package imports, this shouldn't be a breaking change. Release Notes: - N/A
Ben Brandt created
d9a5dc2
windows: Using `ctrl+drag` to copy in windows platform (#31433)
Closes #31328 > There should be other places in Zed that were supposed to handle mouse modifiers differently based on the platform, might worth checking for them. reference [comments](https://github.com/zed-industries/zed/pull/29921#issuecomment-2908922764) Release Notes: - N/A
CharlesChen0823 created
d492662
snippets: Add icons and file names to snippet scope selector (#30212)
I added the language icons to the snippet scope selector so that it matches the language selector. The file names are displayed for each scope where there is a existing snippets file since it wasn't clear if a scope had a file already or not. | Before | After | | - | - | | |  | Release Notes: - Added language icons and file names to snippet scope selector --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
loczek and Kirill Bulatov created
2a97310
pane: Add functional clone on drop with `control` modifier (#29921)
Release Notes: - Added a way to split and clone tab on with alt (macOS) / ctrl-mouse drop
CharlesChen0823 created
2e62f16
gpui: Apply cfg at compile time (#31428)
- Use compile time `cfg` macro instead of a runtime check - Use `Modifiers` instead of a bunch of `bool` when parsing a `Keystroke`. Release Notes: - N/A
tidely created
f2601ce
Fix text wrapping in commit message editors (#31030)
Don't hard wrap interactively; instead, soft wrap in `Bounded` mode (editor width or 72 chars, whichever is smaller), and then hard wrap before sending the commit message to git. This also makes the soft wrap mode and width for commit messages configurable in language settings. Previously we didn't support soft wrap modes other than `EditorWidth` in auto-height editors; I tried to add support for this by analogy with code that was already there, and it seems to work pretty well. Closes #27508 Release Notes: - Fixed confusing wrapping behavior in commit message editors.
Cole Miller created
a58c48f
Fix a clippy issue (#31429)
A cherry-pick from `main`, https://github.com/zed-industries/zed/pull/31425 , failed with a clippy error: https://github.com/zed-industries/zed/actions/runs/15253598167/job/42895919271 Release Notes: - N/A
Kirill Bulatov created
ddbcab2
picker: Improve input padding (#31422)
This is a tiny PR to make the picker input padding match the list item results horizontal spacing. They were previously misaligned and it was getting to me. 😬 | Before | After | |--------|--------| |  |  | Release Notes: - N/A
Danilo Leal created
7497def
agent: Add a whitespace after inserting @-mention to allow for continuous typing (#30381)
Release Notes: - agent: Added a space after @-mentioning something in the message editor to allow for continuous typing. --------- Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Patrick Leibersperger , Peter Tripp , and Danilo Leal created
e78b726
Remove the ability to book onboarding (#31404)
Closes: https://github.com/zed-industries/zed/issues/31394 Onboarding has been valuable, but we're moving into a new phase as our user base grows, and our ability to chat with everyone who books a call will not scale linearly. For now, we are removing the option to book a call from the application. Release Notes: - N/A
Joseph T. Lyons created
998542b
language_models: Add support for tool use to LM Studio provider (#30589)
Closes #30004 **Quick demo:** https://github.com/user-attachments/assets/0ac93851-81d7-4128-a34b-1f3ae4bcff6d **Additional notes:** I've tried to stick to existing code in OpenAI provider as much as possible without changing much to keep the diff small. This PR is done in collaboration with @yagil from LM Studio. We agreed upon the format in which LM Studio will return information about tool use support for the model in the upcoming version. As of current stable version nothing is going to change for the users, but once they update to a newer LM Studio tool use gets automatically enabled for them. I think this is much better UX then defaulting to true right now. Release Notes: - Added support for tool calls to LM Studio provider --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Fedor Nezhivoi and Ben Brandt created
6363fda
editor: Do not offset text in single line editors by default (#30599)
Follow-up to #30138 In the linked PR, I enabled the content offset for all editors by default. However, this introduced a small regression: There are some editors where we do not want the text to be offset, most notably the rename and the filename editor. This PR adds a method to disable the content offset for specific editors. I specifically decided on an opt-out approach, since I think that having the small offset for most editors is actually a benefit instead of a disadvantage. However, open to change that or to disable the offset for all editors but full mode editors by default if that should be preferred. | `main` | This PR | | --- | --- | |  |  | Release Notes: - N/A
Finn Evers created
e6f5196
open_ai: Fix parallel tools issue (#30467)
There is no ISSUE opened on this topic Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Adrian Furo , Peter Tripp , and Ben Brandt created
9da9ef8
agent: Don't track large and common binary files (#31352)
## Issue
The agent may run very slowly on projects that contain many or large
binary files not listed in `.gitignore`.
## Solution
Temporarily rewrite `.git/info/exludes` to ignore:
- Common binary files based on the extension
- Files larger than 2 MB
## Benchmark
I measure the time between sending an agent message in UI ("hitting
Enter") and actually sending it to an LLM. Ideally, it should be
instant. Numbers for a 7.7 GB Rust project with no .gitignore.
Filter | Time
----------------------------------|-----
No filter (= before this change) | 62 s
Exclude common file types only | 1.46 s
Exclude files >2MB only | 1.16 s
Exclude both | 0.10 s
## Planned changes:
- [x] Exclude common binary file types
- [x] Exclude large files
- [ ] Track files added by agent so we could delete them (we can't rely
on git for that anymore)
- [ ] Don't block on waiting for a checkpoint to complete until we
really need it
- [ ] Only `git add` files that are about to change
Closes #ISSUE
Release Notes:
- Improved agent latency on repositories containing many files or large
files
Oleksiy Syvokon created
134463f
markdown: Fix parse inline `code` display (#30937)
inline code startswith "\`", "\`\`", "\`\`\`", should all valid. current implement only work with startswith "\`". Release Notes: - N/A
CharlesChen0823 created
a47fd1d
Ensure horizontal scrollbars show as needed (#30964)
This PR fixes an issue where the horizontal scrollbar was sometimes not rendered despite being needed for the outline and project panels. The issue occured since `self.width` does not neccessarily have to be set when the scrollbar is rendered (it is only set on panel resize). However, the check for a `width` is not needed at all since the scrollbar constructor determines whether a scrollbar has to be rendered or not. Hence, this does not need to be special-cased. Furthermore, since `Scrollbar::horizontal()` returns `Some(...)` when a scrollbar needs to be rendered, we do not have to check for this seperately on the scroll handle and can just map on the option. This simplifies the code a bit. | `main` | This PR | | --- | --- | |  |  | Release Notes: - Fixed an issue where the horizontal scrollbar would not render in the project and outline panels.
Finn Evers created
ef0e1cb
open_ai: Make Assistant message content optional (#31418)
Fixes regression caused by: https://github.com/zed-industries/zed/pull/30639 Assistant messages can come back with no content, and we no longer allowed that in the deserialization. Release Notes: - open_ai: fixed deserialization issue if assistant content was empty
Ben Brandt created
c73af0a
gpui: Add more shapes for `PathBuilder` (#30904)
- Add `arc` for drawing elliptical arc. - Add `polygon` support. <img width="1136" alt="image" src="https://github.com/user-attachments/assets/97032b02-e6ff-4985-a587-3689500bfd56" /> Release Notes: - N/A
Floyd Wang created
e42cf21
Default to fast model first for commit messages (#31385)
I was surprised to see this being done for thread summaries, but not commit messages. I believe it's a better default as most people would want a faster commit message generation without spending premium requests. Considering how the default fast model for copilot is set to the base one, this is ideal for me (and likely many others), as opposed to tweaking the configuration every time the base model changes. Release Notes: - git: Default to fast model first if not configured for generating commit messages
Abdelhakim Qbaich created
2c114f7
docs: Include slimmer C++ build tools only installation for Windows (#31107)
Edit:
This PR adds docs for a slimmer build tools only installation for
compiling Zed on Windows.
The disk space required is 7 GB for the builds tools vs 8GB with the
editor.
<details>
<summary>Old description</summary>
Fixes the incorrect Visual Studio configuration faced by many people.
#29899
#29901
I have added the required workload in Visual Studio.
Can someone please confirm the minimum config required to compile on
Windows?
https://github.com/zed-industries/zed/blob/c8f56e38b11096e5b036a9c5fee5790a9903204c/docs/src/development/windows.md?plain=1#L20-L32
After installing the Desktop C++ build tools as [outlined in the rustup
website](https://rust-lang.github.io/rustup/installation/windows-msvc.html#walkthrough-installing-visual-studio-2022),
I have this config now:
```json
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.CoreEditor",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.26100",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.ASAN",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre"
],
"extensions": []
}
```
</details>
Release Notes:
- N/A
Nitin K. M. created
49f3ec7
context_server: Fix casing of `mimeType` in tool responses (#30703)
Closes #30243 Release Notes: - Fixed wrong casing for the `mimeType` field when parsing MCP server image responses.
Jonathan LEI created
7488405
Update terminal file icon associations in "FILE_SUFFIX_BY_ICON_KEY" (#31110)
This PR updates terminal file icon associations in icon_theme.rs I've added a `bash_login` file as mentioned in the gnu docs for bash startup files. For zsh I updated the startup files to more accurately reflect the zsh startup file documentation such as adding `zlogin` and removing `zsh_profile` in favor of `zprofile`. I also added the default `zsh_history` file that is set on MacOS. Sources: - [bash docs - Bash Startup Files](https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html) - [zsh docs - Startup Files](https://zsh.sourceforge.io/Intro/intro_3.html) Release Notes: - Improved file icon associations in icon_theme.rs to support more shell configuration files
Luke Janssen created
8b59776
gpui: Remove unnecessary String (#31314)
Replaces a `String` with `&'static str` Release Notes: - N/A
tidely created
206be2b
Make sure GoPlsAdapter produces output that can be rendered as Markdown (#30911)
Closes [#30695](https://github.com/zed-industries/zed/issues/30695) Adds `diagnostic_message_to_markdown()` to GoLspAdapter to ensure that Go diagnostic messages are considered Markdown formatted and leading whitespace is removed to get the Markdown to display properly. Before: <img width="805" alt="image" src="https://github.com/user-attachments/assets/8a09276a-1f45-42de-9744-d7e620d5ebb6" /> After: <img width="805" alt="image" src="https://github.com/user-attachments/assets/bbe4aeaf-a3c6-4e85-bb10-89b3f4e27965" /> Release Notes: - Fixed display of Go diagnostics, it should be displayed as Markdown not as escaped string.
Mikal Sande created
51b25b5
agent: Ensure context meter updates when context is cleared (#30320)
Addresses an issue where the agent context token meter in the panel toolbar (showing usage like "X / Y tokens") failed to update its count after the user cleared the current context via the context editor UI. While the meter updated correctly when adding items, clearing them left the display showing the old count. The root cause was traced to the `ContextStore::clear` method in `crates/agent/src/context_store.rs`. This method correctly cleared the internal data structures holding the context items but neglected to call `cx.notify()` to inform listeners of the state change. Consequently, the UI components responsible for displaying the token count were not triggered to re-render with the new (presumably lower) count. This PR fixes the issue by adding the missing `cx.notify()` call to the `ContextStore::clear` method. This ensures listeners are notified when the context set is cleared, allowing the token meter UI to update correctly. Release Notes: - Fixed an issue where the agent context token meter did not update when the context was cleared.
Mani Rash Ahmadi created
2f274b2
vim: Document ctrl-s override (#30803)
Closes https://github.com/zed-industries/zed/issues/30559 Release Notes: - N/A
5brian created
88fb623
Display the correct git push flag when force-pushing (#30818)
When I force pushed via the Git panel and noticed that `git push --force` command got logged at the bottom. I wanted to add an option to use `--force-with-lease` instead. However, upon investigation, it seems `--force-with-lease` is already being used for the executed command: https://github.com/zed-industries/zed/blob/5112fcebeb365fab385b90b0954fe0bcb338ce63/crates/git/src/repository.rs#L1100 And there is a mismatch with the displayed message: https://github.com/zed-industries/zed/blob/5112fcebeb365fab385b90b0954fe0bcb338ce63/crates/project/src/git_store.rs#L3555 Release Notes: - Fixed the displayed flag name when force pushing
Tymoteusz Makowski created
df98d94
gpui: Activate the window example along with the Quit action (#30790)
Make the gpui examples more consistent by activating the window upon startup. Most of the examples have ```rust activate(true) ``` so this one should as well. Make it easier to exit the example with the `cmd-q` KeyBinding Release Notes: - N/A
Michael Angerman created
c7da628
gpui: Fix typo in doc comment (#31397)
Release Notes: - N/A
waffle created
7ceb792
Revert having edit_file_tool format on save (#31403)
An unintended consequence of format on save is that we start (correctly) informing the model that the file changed on disk every time the formatter changes anything, which in turn can lead the model to things like extra reads. Until we have a solution in place to prevent this downside, we're going back to not formatting on save by reverting cb112a4012433e33066273fc92c42cbe11c4c572. Release Notes: - N/A
Richard Feldman created
83af7b3
Add `agent: chat with follow` action (experimental) (#31401)
This PR introduces a new `agent: chat with follow` action that automatically enables "Follow Agent" when submitting a chat message with `cmd-enter` or `ctrl-enter`. This is experimental. I'm not super thrilled with the name, but the root action to submit a chat is called `agent: chat`, so I'm following that wording. I'm also unsure if the binding feels right or not. Release Notes: - Added an `agent: chat with follow` action via `cmd-enter` on macOS and `ctrl-enter` on Linux
Joseph T. Lyons created
3d0147a
Preserve selection direction when running an `editor: open selections in multibuffer` (#31399)
Release Notes: - Preserve selection direction when running an `editor: open selections in multibuffer`
Joseph T. Lyons created
1b3f20b
docs: Refine a few AI pages (#31381)
Mostly sharpening the words, simplifying, and removing duplicate content. Release Notes: - N/A
Danilo Leal created
4c28d2c
language: Improve auto-indentation when using round brackets in Python (#31260)
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)
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)
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)
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)
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)
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
Anthony Eid created
7fb9569
language_model: Remove `CloudModel` enum (#31322)
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)
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)
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)
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.
Marshall Bowers created
172e0df
Remove duplicate ThreadHistory key binding object (#31309)
Release Notes: - N/A
Joseph T. Lyons created
7341ab3
Keep file permissions when extracting zip archives on Unix (#31304)
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
Kirill Bulatov created