4823508
agent: Fix fetch of cloud models before TOS is accepted
Michael Sloan created
4823508
agent: Fix fetch of cloud models before TOS is accepted
Michael Sloan created
f022a13
Add `#[serde(deny_unknown_fields)]` to action structs that didn't have it (#33679)
Release Notes: - N/A
Michael Sloan created
c74ecb4
Warn about unknown fields when editing settings json (#33678)
Closes #30017 * While generating the settings JSON schema, defaults all schema definitions to reject unknown fields via `additionalProperties: false`. * Uses `unevaluatedProperties: false` at the top level to check fields that remain after the settings field names + release stage override field names. * Changes json schema version from `draft07` to `draft_2019_09` to have support for `unevaluatedProperties`. Release Notes: - Added warnings for unknown fields when editing `settings.json`.
Michael Sloan created
7609ca7
Sketch in a table for the keybindings UI (#32436)
Adds the initial semblance of a keymap UI. It is currently gated behind the `settings-ui` feature flag. Follow up PRs will add polish and missing features. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Anthony <anthony@zed.dev>
Mikayla Maki , Ben Kunkle , and Anthony created
32906bf
Update Cargo.lock (#33667)
Followup to: https://github.com/zed-industries/zed/pull/32208 Release Notes: - N/A
Umesh Yadav created
5fafab6
Migrate to schemars version 1.0 (#33635)
The major change in schemars 1.0 is that now schemas are represented as plain json values instead of specialized datatypes. This allows for more concise construction and manipulation. This change also improves how settings schemas are generated. Each top level settings type was being generated as a full root schema including the definitions it references, and then these were merged. This meant generating all shared definitions multiple times, and might have bugs in cases where there are two types with the same names. Now instead the schemar generator's `definitions` are built up as they normally are and the `Settings` trait no longer has a special `json_schema` method. To handle types that have schema that vary at runtime (`FontFamilyName`, `ThemeName`, etc), values of `ParameterizedJsonSchema` are collected by `inventory`, and the schema definitions for these types are replaced. To help check that this doesn't break anything, I tried to minimize the overall [schema diff](https://gist.github.com/mgsloan/1de549def20399d6f37943a3c1583ee7) with some patches to make the order more consistent + schemas also sorted with `jq -S .`. A skim of the diff shows that the diffs come from: * `enum: ["value"]` turning into `const: "value"` * Differences in handling of newlines for "description" * Schemas for generic types no longer including the parameter name, now all disambiguation is with numeric suffixes * Enums now using `oneOf` instead of `anyOf`. Release Notes: - N/A
Michael Sloan created
a2e786e
Allow repeat in visual mode (#33569)
Release Notes: - vim: Allow `.` in visual mode.
Conrad Irwin created
b0086b4
Fix an interaction between vim's linewise yank and editor's paste (#33555)
Closes #32397 This PR fixes an issue when pasting text with the `editor::Paste` command that was copied with `vim::Yank`'s linewise selection. The change stops setting the `is_entire_line` setting when copying from with vim linewise selections (<kbd>⇧v</kbd>) and motions (i.e. <kbd>y2j</kbd>). This flag is used when cutting/copying text without being selected (so, place a cursor on line without selecting anything, and press <kbd>⌘X</kbd>). When cutting/copying text in this manner, [the editor pastes the text above the cursor](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/editor/src/editor.rs#L11936-L11947). However, this behaviour is not needed when cutting/copying with vim motions. Pasting with vim operations is not affected by this change. [They are handled elsewhere](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/vim/src/normal/paste.rs) and they don't consider the `is_entire_line` flag at all. Note for maintainers: I'm not familiar with this codebase 🙃. This change fixes the issue. I don't see anything breaking... but let me know if it's not the case and a more thorough change is needed. **Before:** The text is copied above the first line, before the cursor. https://github.com/user-attachments/assets/0c2f111a-5da0-4775-a7a0-2e4fb6f78bfc **After:** The text is copied at the cursor location: https://github.com/user-attachments/assets/60a17985-fe8b-4149-a77b-d72bf531bf85 Release Notes: - Fixed an issue when pasting text that was yanked with vim's linewise selections.
Alejandro Fernández Gómez created
d10cc13
helix: Add more tests (#33582)
These tests cover more edge cases Release Notes: - N/A
fantacell created
2680a78
Support vim-mode in git commit editor (#33222)
Release Notes: - Added support for vim-mode on git commit editor (modal included) Side notes: - Maybe in the future (or even on this PR) a config could be added to let the user choose whether to enable vim-mode on this editor or not? And on the agent message editor as well.
Alvaro Parker created
1978289
Properly register initialized default prettier (#33669)
Stop doing useless prettier-related work when doing a project search. Before, project search might cause <img width="1728" alt="not_pretty" src="https://github.com/user-attachments/assets/5f8b935f-962d-488e-984f-50dfbaee97ba" /> but now we debounce the prettier-related task first, and actually set the "installed" state for the default prettier, when there's no install needed. Release Notes: - N/A
Kirill Bulatov created
7c4da37
emmet: Fix expansion for HEEx and H sigil files (#32208)
Closes #14149 Release Notes: - Added support for the Emmet LSP in Elixir heex files
Conrad Taylor created
ce164f5
Remove ruby debug adapter (#33541)
Now that the extension version has been bumped we can remove our in-tree one to avoid having duplicate debug adapters. Release Notes: - The ruby debug adapter has been moved to the [ruby extension](https://github.com/zed-extensions/ruby), if you have any saved debug scenarios you'll need to change `"adapter": "Ruby"` to `"adapter": "rdbg"`.
Julia Ryan created
42c5901
debugger: Fix global debug tasks not being picked up (#33664)
Release Notes: - Fixed a bug which caused global debug scenarios (from global .zed/debug.json) to not be picked up.
Piotr Osiewicz created
3db452e
agent: Use a banner for the auto-retry message (#33661)
Follow-up to https://github.com/zed-industries/zed/pull/33275 so we use the Banner component to display the auto-retry messages in the thread. Release Notes: - N/A
Danilo Leal created
6e77e84
Revert "languages: Bump ESLint LSP server to version 3.0.10 (#32717)" (#33659)
This reverts commit 1edaeebae5b0f1b67cdad1a994b88a3c11f75705. Based on an elevated number of ESLint-related issues, reverting the upgrade. Many people upvoted the issues and did not share any repro details, so cannot be certain what's more broken: seems relatively generic as related to *.ts ESLint configs. Checked the revert on 2 projects from the issues below: Closes https://github.com/zed-industries/zed/issues/33425 With https://github.com/adamhl8/zed-33425 as an example repo: there, both eslint configurations worked for me when I stopped Zed and opened a project. Somehow, switching various Zed's with different vscode-eslint package versions, eventually I get `Error: Cannot find module '~/.local/share/zed/languages/eslint/vscode-eslint-3.0.10/vscode-eslint/server/out/eslintServer.js'`-ish error. Not very related to issues with newer vscode-eslint integration, but worth mentioning as is related to the package updates. Closes https://github.com/zed-industries/zed/issues/33648 With a good example of https://github.com/florian-lackner365/zed-eslint-bug monorepo project. The monorepo part seems not to be related, but somehow, `eslint.config.js` is involved as the newer vscode-eslint fails to find a config. Works well with the older vscode-eslint. Release Notes: - Downgraded to vscode-eslint-2.4.4 as a ESLint language server
Kirill Bulatov created
465f64d
Make the preview button the same as the other buttons (#33658)
This fixes a tiny visual defect I noticed today. The "Preview" button is slightly smaller and has less padding than the other buttons in the quick action bar. **Before:** Note how there is a small gap between the black guides and the button. https://github.com/user-attachments/assets/04d3d83a-9193-47b1-80d8-94a5d1fbd750 **After:** https://github.com/user-attachments/assets/98f878cc-c5e3-491c-abe9-9ef0d5cf678a Release Notes: - N/A
Alejandro Fernández Gómez created
e5a8cc7
debugger: Fix DAP Logs mangling sessions across multiple Zed windows (#33656)
Release Notes: - Fixed an issue with Debug Adapter log showing sessions from other Zed windows in the dropdown.
Piotr Osiewicz created
bdf29bf
Allow disabling tools when 'enable_all_context_servers = true' (#33536)
Closes https://github.com/zed-industries/zed/issues/33519 Release Notes: - agent: Improved support for explicitly disabling individual tools when `enable_all_context_servers` is true. (e.g. enable all tools except XYZ).
Peter Tripp created
402c61c
Add small UI tweak to the inline color preview square (#33655)
Follow-up to https://github.com/zed-industries/zed/pull/33605 so it is just a bit more subtle and smaller. Release Notes: - N/A
Danilo Leal created
59e88ce
Show regex query error under the search bar (#33638)
Closes #17223 Release Notes: - Show regex parsing errors under the search bar for buffer and project search. --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Mikal Sande and Danilo Leal created
22ab4c5
R docs: Remove non-working configuration (#33654)
This config was meant to be commented out in #33594 because it does not work. Release Notes: - N/A
Peter Tripp created
f106ea7
docs: Update custom MCP format template (#33649)
To match the new format added in https://github.com/zed-industries/zed/pull/33539. Release Notes: - N/A
Danilo Leal created
e37ef2a
Use more generic error messages in gpui (#33651)
Follow-up of https://github.com/zed-industries/zed/pull/32537 Release Notes: - N/A
Kirill Bulatov created
1c05062
agent: Always focus on to the active model in the picker (#33567)
Release Notes: - agent: Improved the model selector by ensuring the active model is always focused on open.
Danilo Leal created
8c04f12
debugger: Tighten up breakpoint list (#33645)
Release Notes: - N/A
Piotr Osiewicz created
aa7ccec
agent: Reduce log spam for context servers (#33644)
Previously we would always run `maintain_servers` even if the settings did not change. While this would not cause any MCP servers to restart, we would still go through all configured servers and call the `command(...)` function on each installed MCP extension. This can cause lots of logs to show up when an MCP server is not configured correctly. Release Notes: - N/A
Bennet Bo Fenner created
f4aeeda
script: Fix license symlink and path in `new-crate.sh` (#33620)
While creating a new crate I realised the License symlink and path are broken. The symlink was broken for LICENSE-GPL. Also the file created in the new crate was not using the expected file name as per the check-license script which was failing due to wrong filename in the new crate. I fixed that as well. Release Notes: - N/A Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
ca0bd53
agent: Fix an issue with messages containing trailing whitespace (#33643)
Seeing this come up in our server logs when sending requests to Anthropic: `final assistant content cannot end with trailing whitespace`. Release Notes: - agent: Fixed an issue where Anthropic requests would sometimes fail because of malformed assistant messages
Bennet Bo Fenner created
ae62371
Further improve color inlay hints in multi buffers (#33642)
Follow-up of https://github.com/zed-industries/zed/pull/33605 Release Notes: - N/A
Kirill Bulatov created
ac3328a
agent: Fix issue where web search could return 401 (#33639)
Closes #33524 Release Notes: - agent: Fix an issue where performing a web search request would sometimes fail
Bennet Bo Fenner created
d63909c
agent: Use standardized MCP configuration format in settings (#33539)
Changes our MCP settings from:
```json
{
"context_servers": {
"some-mcp-server": {
"source": "custom",
"command": {
"path": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--read-only",
"--project-ref=<project-ref>",
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
},
},
},
},
}
```
to:
```json
{
"context_servers": {
"some-mcp-server": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--read-only",
"--project-ref=<project-ref>",
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
},
},
},
}
```
Which seems to be somewhat of a standard now (VSCode, Cursor, Windsurf,
...)
Release Notes:
- agent: Use standardised format for configuring MCP Servers
Bennet Bo Fenner created
c3d0230
docs: Adjust heading sizes (#33628)
Just fine-tuning some heading sizes that were off, particularly h4s and h5s. Release Notes: - N/A
Danilo Leal created
bc5927d
debugger: Fix spec violation with threads request being issued before debug session is initialized (#33627)
Follow-up to #32852. This time we'll check if the debug session is initialized before querying threads. Release Notes: - Fix Zed's debugger issuing threads request before it is allowed to do so per DAP specification.
Piotr Osiewicz created
d2cf995
debugger: Tweak layout of debug landing page in vertical dock position (#33625)
Release Notes: - Reorganized layout of a debug panel without any sessions for a vertical dock position. - Moved parent directories of source breakpoints into a tooltip.
Piotr Osiewicz created
86161aa
Use refs to deduplicate settings JSON schema (~1.7mb to ~0.26mb) (#33618)
Release Notes: - N/A
Michael Sloan created
a602b4b
Improve R documentation (#33594)
Release Notes: - N/A
Peter Tripp created
047d515
Rework color indicators visual representation (#33605)
Use a div-based rendering code instead of using a text Closes https://github.com/zed-industries/zed/discussions/33507 Before: <img width="410" alt="before_dark" src="https://github.com/user-attachments/assets/66ad63ae-7836-4dc7-8176-a2ff5a38bcd4" /> After: <img width="407" alt="after_dark" src="https://github.com/user-attachments/assets/0b627da8-461b-4f19-b236-4a69bf5952a0" /> Before: <img width="409" alt="before_light" src="https://github.com/user-attachments/assets/ebcfabec-fcda-4b63-aee6-c702888f0db4" /> After: <img width="410" alt="after_light" src="https://github.com/user-attachments/assets/c0da42a1-d6b3-4e08-a56c-9966c07e442d" /> The border is not that contrast as in VSCode examples in the issue, but I'm supposed to use the right thing in https://github.com/zed-industries/zed/blob/1e11de48eeba01dc12761ec1274f8b0963de5514/crates/editor/src/display_map/inlay_map.rs#L357 based on https://github.com/zed-industries/zed/blob/41583fb066629d1e54d600e930be068a68984c5c/crates/theme/src/styles/colors.rs#L16-L17 Another oddity is that the border starts to shrink on `cmd-=` (`zed::IncreaseBufferFontSize`): <img width="1244" alt="image" src="https://github.com/user-attachments/assets/f424edc0-ca0c-4b02-96d4-6da7bf70449a" /> but that needs a different part of code to be adjusted hence skipped. Tailwind CSS example: <img width="1108" alt="image" src="https://github.com/user-attachments/assets/10ada4dc-ea8c-46d3-b285-d895bbd6a619" /> Release Notes: - Reworked color indicators visual representation
Kirill Bulatov created
e5bcd72
debugger: Add UI for tweaking breakpoint properties directly from breakpoint list (#33097)
Release Notes: - debugger: Breakpoint properties (log/hit condition/condition) can now be set directly from breakpoint list.
Piotr Osiewicz created
41583fb
Fix document colors issues with other inlays and multi buffers (#33598)
Closes https://github.com/zed-industries/zed/issues/33575 * Fixes inlay colors spoiled after document color displayed * Optimizes the query pattern for large multi buffers Release Notes: - Fixed document colors issues with other inlays and multi buffers
Kirill Bulatov created
521a223
Add `editor::Rewrap` binding to Emacs keymaps (#33588)
`M-q` is `fill-paragraph` which is like `editor::Rewrap`. Release Notes: - emacs: Bound `alt-q` to `editor::Rewrap` (like `M-q` or `M-x fill-paragraph`)
Cole Miller created
c8c6468
vim: Non-interactive shell (#33568)
Closes #33144 Release Notes: - vim: Run r! in a non-interactive shell
Conrad Irwin created
3f4098e
open_ai: Make OpenAI error message generic (#33383)
Context: In this PR: https://github.com/zed-industries/zed/pull/33362,
we started to use underlying open_ai crate for making api calls for
vercel as well. Now whenever we get the error we get something like the
below. Where on part of the error mentions OpenAI but the rest of the
error returns the actual error from provider. This PR tries to make the
error generic for now so that people don't get confused seeing OpenAI in
their v0 integration.
```
Error interacting with language model
Failed to connect to OpenAI API: 403 Forbidden {"success":false,"error":"Premium or Team plan required to access the v0 API: https://v0.dev/chat/settings/billing"}
```
Release Notes:
- N/A
Umesh Yadav created
1d684c8
Add shadow back for blurred/transparent window on macOS (#27403)
Closes #15383 Closes #10993 `NSVisualEffectView` is an official API for implementing blur effects and, by traversing the layers, we **can remove the background color** that comes with the view. This avoids using private APIs and aligns better with macOS’s native design. Currently, `GPUIView` serves as the content view of the window. To add the blurred view, `GPUIView` is downgraded to a subview of the content view, placed at the same level as the blurred view. Release Notes: - Fixed the missing shadow for blurred-background windows on macOS. --------- Co-authored-by: Peter Tripp <peter@zed.dev>
alphaArgon and Peter Tripp created
97c5c5a
vim: Respect count for paragraphs (#33489)
Closes #32462 Release Notes: - vim: Paragraph objects now support counts (`d2ap`, `v2ap`, etc.) --------- Co-authored-by: Rift <no@e.mail> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Rift , Rift , and Conrad Irwin created
ba4fc1b
vim: Add debug panel ex command (#33560)
Added :Debug to open debug panel, also added [:display](https://neovim.io/doc/user/change.html#%3Adisplay), alias to :reg Release Notes: - N/A
5brian created
bbf16bd
editor: Improve rewrap to respect indent and prefix boundaries (#33566)
1. Fixes bug where this would not rewrap:
```rs
// This is the first long comment block to be wrapped.
fn my_func(a: u32);
// This is the second long comment block to be wrapped.
```
2. Comment prefix boundaries (Notice now they don't merge between
different comment prefix):
Initial text:
```rs
// A regular long long comment to be wrapped.
// A second regular long comment to be wrapped.
/// A documentation long comment to be wrapped.
```
Upon rewrap:
```rs
// A regular long long comment to be
// wrapped. A second regular long
// comment to be wrapped.
/// A documentation long comment to be
/// wrapped.
```
3. Indent boundaries (Notice now they don't merge between different
indentation):
Initial text:
```rs
fn foo() {
// This is a long comment at the base indent.
// This is a long comment at the base indent.
// This is a long comment at the next indent.
// This is a long comment at the next indent.
// This is a long comment at the base indent.
}
```
Upon rewrap:
```rs
fn foo() {
// This is a long comment at the base
// indent. This is a long comment at the
// base indent.
// This is a long comment at the
// next indent. This is a long
// comment at the next indent.
// This is a long comment at the base
// indent.
}
```
Release Notes:
- Fixed an issue where rewrap would not work with selection when two
comment blocks are separated with line of code.
- Improved rewrap to respect changes in indentation or comment prefix
(e.g. `//` vs `///`) as boundaries so that it doesn't merge them into
one mangled text.
Smit Barmase created
c56b890
Prevent branch name overflow in git panel selection (#33529)
Closes #33527 Release Notes: - Fixed long branch names overflowing to multiple lines in git panel branch selector --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
ddoemonn and Danilo Leal created
695118d
agent: Show provider icon in model selectors (#30595)
I often switch between models, and I believe many people do. Currently, it is difficult to determine which provider offers the selected model because the same models are available from different providers. I propose a simple change to the selector so that users can distinguish between providers from the model they have chosen. As a side note, I would actually prefer to have a text label with the provider’s name next to the model name in the selector. However, I understand that this is too opinionated and takes up too much space. | Before | After | | ------ | ------ | |  |  | |  |  | |  |  | Release Notes: - The model selector has been improved with a provider icon, making it easier to distinguish between providers. --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Artem Loenko , Danilo Leal , and Danilo Leal created
a675ca7
Remove `into SelectionEffects` from .change_selections (#33554)
In #32656 I generalized the argument to change selections to allow controling both the scroll and the nav history (and the completion trigger). To avoid conflicting with ongoing debugger cherry-picks I left the argument as an `impl Into<>`, but I think it's clearer to make callers specify what they want here. I converted a lot of `None` arguments to `SelectionEffects::no_scroll()` to be exactly compatible; but I think many people used none as an "i don't care" value in which case Default::default() might be more appropraite Closes #ISSUE Release Notes: - N/A
Conrad Irwin created