afa7003
docs: Fix a typo in text threads docs (#32417)
Behrang Saeedzadeh created
afa7003
docs: Fix a typo in text threads docs (#32417)
Behrang Saeedzadeh created
5d293ae
edit_file: Let agent specify locations of edit chunks (#32628)
These changes help the agent edit files when `<old_text>` matches more than one location. First, the agent can specify an optional `<old_text line=XX>` parameter. When this is provided and multiple matches exist, we use this hint to identify the best match. Second, when there is ambiguity in matches, we now return the agent a more helpful message listing the line numbers of all possible matches. Together, these changes should reduce the number of misplaced edits and agent confusion. I have ensured the LLM Worker works with these prompt changes. Release Notes: - Agent: Improved locating edits
Oleksiy Syvokon created
e8d4958
debugger: Select first stack frame with valid path (#32724)
This PR addresses an issue where we could get a stack frame list and automatically select a stack frame that didn't have a valid path. Causing a failure on Zed's end to select/update the active debug line. The fix for this is selecting the first non-subtle stack frame that has the optional path parameter. We also made subtle stack frames move into their own collapsable list as well. Release Notes: - debugger: Fix edge case where hitting a breakpoint wouldn't take you to the active debug line Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
baefec3
Move r-a status into the activity indicator (#32726)
Deals with the noisy pop-ups by moving r-a **status messages** into the activity indicator, where the rest of the LSP statuses is displayed. https://github.com/user-attachments/assets/e16fb374-d34d-4d03-b5f1-41f71f61c7c7 https://github.com/user-attachments/assets/67c611aa-8b73-4adb-a76d-b0c8ce3e2f94 Release Notes: - N/A *or* Added/Fixed/Improved ...
Kirill Bulatov created
1edaeeb
languages: Bump ESLint LSP server to version 3.0.10 (#32717)
Testing project: https://github.com/imumesh18/zed-testing
I have attached the logs from the eslint lsp server. Confirming that we
are indeed calling `textDocument/diagnostic` and we are receiving the
error response as well from lsp. Please check the attached log for it.
<details>
<summary>Server Log</summary>
```
// Send:
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"":{"validate":"on","rulesCustomizations":[],"run":"onType","nodePath":null,"workingDirectory":{"mode":"auto"},"workspaceFolder":{"uri":"/Users/umesh/code/zed-testing","name":"zed-testing"},"problems":{},"codeActionOnSave":{"enable":true},"codeAction":{"disableRuleComment":{"enable":true,"location":"separateLine"},"showDocumentation":{"enable":true}},"useFlatConfig":true}}}}
// Receive:
{"jsonrpc":"2.0","id":6,"method":"workspace/diagnostic/refresh"}
// Send:
{"jsonrpc":"2.0","id":6,"result":null}
// Send:
{"jsonrpc":"2.0","id":8,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":9,"character":3},"end":{"line":9,"character":3}},"context":{"diagnostics":[],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":7,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","section":""}]}}
// Send:
{"jsonrpc":"2.0","id":7,"result":[{"validate":"on","rulesCustomizations":[],"run":"onType","nodePath":null,"workingDirectory":{"mode":"auto"},"workspaceFolder":{"uri":"/Users/umesh/code/zed-testing","name":"zed-testing"},"problems":{},"codeActionOnSave":{"enable":true},"codeAction":{"disableRuleComment":{"enable":true,"location":"separateLine"},"showDocumentation":{"enable":true}},"useFlatConfig":true}]}
// Receive:
{"jsonrpc":"2.0","id":8,"result":[]}
// Send:
{"jsonrpc":"2.0","id":9,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":12,"character":20},"end":{"line":12,"character":20}},"context":{"diagnostics":[],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":9,"result":[]}
// Send:
{"jsonrpc":"2.0","id":10,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":11,"character":37},"end":{"line":11,"character":37}},"context":{"diagnostics":[],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":10,"result":[]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"}}}
// Send:
{"jsonrpc":"2.0","id":11,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":3,"character":0},"end":{"line":14,"character":0}},"context":{"diagnostics":[{"range":{"start":{"line":4,"character":8},"end":{"line":4,"character":22}},"severity":1,"code":"@typescript-eslint/no-unused-vars","source":"eslint","message":"'unusedVariable' is assigned a value but never used."},{"range":{"start":{"line":4,"character":8},"end":{"line":4,"character":22}},"severity":4,"code":6133,"source":"ts","message":"'unusedVariable' is declared but its value is never read."},{"range":{"start":{"line":7,"character":6},"end":{"line":7,"character":14}},"severity":1,"code":2367,"source":"ts","message":"This comparison appears to be unintentional because the types 'number' and 'string' have no overlap."},{"range":{"start":{"line":13,"character":2},"end":{"line":13,"character":52}},"severity":1,"code":"no-var","source":"eslint","message":"Unexpected var, use let or const instead."},{"range":{"start":{"line":13,"character":6},"end":{"line":13,"character":22}},"severity":1,"code":"@typescript-eslint/no-unused-vars","source":"eslint","message":"'oldStyleVariable' is assigned a value but never used."},{"range":{"start":{"line":13,"character":6},"end":{"line":13,"character":22}},"severity":4,"code":6133,"source":"ts","message":"'oldStyleVariable' is declared but its value is never read."}],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":11,"result":[{"title":"Disable @typescript-eslint/no-unused-vars for this line","command":{"title":"Disable @typescript-eslint/no-unused-vars for this line","command":"eslint.applyDisableLine","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Disable @typescript-eslint/no-unused-vars for the entire file","command":{"title":"Disable @typescript-eslint/no-unused-vars for the entire file","command":"eslint.applyDisableFile","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Show documentation for @typescript-eslint/no-unused-vars","command":{"title":"Show documentation for @typescript-eslint/no-unused-vars","command":"eslint.openRuleDoc","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Fix this no-var problem","command":{"title":"Fix this no-var problem","command":"eslint.applySingleFix","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"no-var"}]},"kind":"quickfix","diagnostics":[{"message":"Unexpected var, use let or const instead.","severity":1,"source":"eslint","range":{"start":{"line":13,"character":2},"end":{"line":13,"character":52}},"code":"no-var","codeDescription":{"href":"https://eslint.org/docs/latest/rules/no-var"}}],"isPreferred":true},{"title":"Disable no-var for this line","command":{"title":"Disable no-var for this line","command":"eslint.applyDisableLine","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Disable no-var for the entire file","command":{"title":"Disable no-var for the entire file","command":"eslint.applyDisableFile","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Show documentation for no-var","command":{"title":"Show documentation for no-var","command":"eslint.openRuleDoc","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Fix all auto-fixable problems","command":{"title":"Fix all auto-fixable problems","command":"eslint.applyAllFixes","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":0}]},"kind":"quickfix"}]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":1},"contentChanges":[{"range":{"start":{"line":3,"character":2},"end":{"line":3,"character":2}},"text":"// "},{"range":{"start":{"line":4,"character":2},"end":{"line":4,"character":2}},"text":"// "},{"range":{"start":{"line":6,"character":2},"end":{"line":6,"character":2}},"text":"// "},{"range":{"start":{"line":7,"character":2},"end":{"line":7,"character":2}},"text":"// "},{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":2}},"text":"// "},{"range":{"start":{"line":9,"character":2},"end":{"line":9,"character":2}},"text":"// "},{"range":{"start":{"line":11,"character":2},"end":{"line":11,"character":2}},"text":"// "},{"range":{"start":{"line":12,"character":2},"end":{"line":12,"character":2}},"text":"// "},{"range":{"start":{"line":13,"character":2},"end":{"line":13,"character":2}},"text":"// "}]}}
// Send:
{"jsonrpc":"2.0","id":12,"method":"textDocument/diagnostic","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"identifier":"eslint","previousResultId":null}}
// Receive:
{"jsonrpc":"2.0","method":"eslint/status","params":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","state":1,"validationTime":18}}
// Receive:
{"jsonrpc":"2.0","id":12,"result":{"kind":"full","items":[]}}
// Send:
{"jsonrpc":"2.0","id":13,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":3,"character":0},"end":{"line":14,"character":0}},"context":{"diagnostics":[{"range":{"start":{"line":4,"character":11},"end":{"line":4,"character":25}},"severity":4,"code":6133,"source":"ts","message":"'unusedVariable' is declared but its value is never read."},{"range":{"start":{"line":7,"character":9},"end":{"line":7,"character":17}},"severity":1,"code":2367,"source":"ts","message":"This comparison appears to be unintentional because the types 'number' and 'string' have no overlap."},{"range":{"start":{"line":13,"character":9},"end":{"line":13,"character":25}},"severity":4,"code":6133,"source":"ts","message":"'oldStyleVariable' is declared but its value is never read."}],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":13,"result":[]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"}}}
// Send:
{"jsonrpc":"2.0","id":14,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":13,"character":7},"end":{"line":13,"character":7}},"context":{"diagnostics":[],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":14,"result":[]}
// Send:
{"jsonrpc":"2.0","id":15,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":3,"character":0},"end":{"line":14,"character":0}},"context":{"diagnostics":[],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":15,"result":[]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2},"contentChanges":[{"range":{"start":{"line":3,"character":2},"end":{"line":3,"character":5}},"text":""},{"range":{"start":{"line":4,"character":2},"end":{"line":4,"character":5}},"text":""},{"range":{"start":{"line":6,"character":2},"end":{"line":6,"character":5}},"text":""},{"range":{"start":{"line":7,"character":2},"end":{"line":7,"character":5}},"text":""},{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":5}},"text":""},{"range":{"start":{"line":9,"character":2},"end":{"line":9,"character":5}},"text":""},{"range":{"start":{"line":11,"character":2},"end":{"line":11,"character":5}},"text":""},{"range":{"start":{"line":12,"character":2},"end":{"line":12,"character":5}},"text":""},{"range":{"start":{"line":13,"character":2},"end":{"line":13,"character":5}},"text":""}]}}
// Send:
{"jsonrpc":"2.0","id":16,"method":"textDocument/diagnostic","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"identifier":"eslint","previousResultId":null}}
// Receive:
{"jsonrpc":"2.0","method":"eslint/status","params":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","state":1,"validationTime":15}}
// Receive:
{"jsonrpc":"2.0","id":16,"result":{"kind":"full","items":[{"message":"'unusedVariable' is assigned a value but never used.","severity":1,"source":"eslint","range":{"start":{"line":4,"character":8},"end":{"line":4,"character":22}},"code":"@typescript-eslint/no-unused-vars","codeDescription":{"href":"https://typescript-eslint.io/rules/no-unused-vars"}},{"message":"Unexpected var, use let or const instead.","severity":1,"source":"eslint","range":{"start":{"line":13,"character":2},"end":{"line":13,"character":52}},"code":"no-var","codeDescription":{"href":"https://eslint.org/docs/latest/rules/no-var"}},{"message":"'oldStyleVariable' is assigned a value but never used.","severity":1,"source":"eslint","range":{"start":{"line":13,"character":6},"end":{"line":13,"character":22}},"code":"@typescript-eslint/no-unused-vars","codeDescription":{"href":"https://typescript-eslint.io/rules/no-unused-vars"}}]}}
// Send:
{"jsonrpc":"2.0","id":17,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"},"range":{"start":{"line":3,"character":0},"end":{"line":14,"character":0}},"context":{"diagnostics":[{"range":{"start":{"line":4,"character":8},"end":{"line":4,"character":22}},"severity":1,"code":"@typescript-eslint/no-unused-vars","source":"eslint","message":"'unusedVariable' is assigned a value but never used."},{"range":{"start":{"line":13,"character":2},"end":{"line":13,"character":52}},"severity":1,"code":"no-var","source":"eslint","message":"Unexpected var, use let or const instead."},{"range":{"start":{"line":13,"character":6},"end":{"line":13,"character":22}},"severity":1,"code":"@typescript-eslint/no-unused-vars","source":"eslint","message":"'oldStyleVariable' is assigned a value but never used."}],"only":["quickfix","source.fixAll.eslint"]}}}
// Receive:
{"jsonrpc":"2.0","id":17,"result":[{"title":"Disable @typescript-eslint/no-unused-vars for this line","command":{"title":"Disable @typescript-eslint/no-unused-vars for this line","command":"eslint.applyDisableLine","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Disable @typescript-eslint/no-unused-vars for the entire file","command":{"title":"Disable @typescript-eslint/no-unused-vars for the entire file","command":"eslint.applyDisableFile","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Show documentation for @typescript-eslint/no-unused-vars","command":{"title":"Show documentation for @typescript-eslint/no-unused-vars","command":"eslint.openRuleDoc","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"@typescript-eslint/no-unused-vars"}]},"kind":"quickfix"},{"title":"Fix this no-var problem","command":{"title":"Fix this no-var problem","command":"eslint.applySingleFix","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"no-var"}]},"kind":"quickfix","diagnostics":[{"message":"Unexpected var, use let or const instead.","severity":1,"source":"eslint","range":{"start":{"line":13,"character":2},"end":{"line":13,"character":52}},"code":"no-var","codeDescription":{"href":"https://eslint.org/docs/latest/rules/no-var"}}],"isPreferred":true},{"title":"Disable no-var for this line","command":{"title":"Disable no-var for this line","command":"eslint.applyDisableLine","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Disable no-var for the entire file","command":{"title":"Disable no-var for the entire file","command":"eslint.applyDisableFile","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Show documentation for no-var","command":{"title":"Show documentation for no-var","command":"eslint.openRuleDoc","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2,"ruleId":"no-var"}]},"kind":"quickfix"},{"title":"Fix all auto-fixable problems","command":{"title":"Fix all auto-fixable problems","command":"eslint.applyAllFixes","arguments":[{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx","version":2}]},"kind":"quickfix"}]}
// Send:
{"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///Users/umesh/code/zed-testing/src/app/page.tsx"}}}
```
</details>
Release Notes:
- Bump ESLint LSP server to version 3.0.10
Umesh Yadav created
dc475dd
debugger: Use the right adapter for `type: node-terminal` (#32723)
Closes #32690 Release Notes: - Debugger Beta: fixed `node-terminal` JavaScript configurations from launch.json not working.
Cole Miller created
feef68b
debugger: Add support for label presentation hints for stack frames (#32719)
Release Notes: - debugger: Add support for `Label` stack frame kinds Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
6650be8
debugger: Improve logging of debug sessions (#32718)
This PR fixes a common issue where a debug session won't start up and user's weren't able to get any logs from the debug session. We now do these three things 1. We know store a history of debug sessions 2. We added a new option to only look at the initialization sequence 3. We default to selecting a session in dap log view in stead of none Release Notes: - debugger: Add history to debug session logging --------- Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid , Cole Miller , and Remco Smits created
4425d58
Revert "Hide the notifications panel by default (#32705)" (#32707)
This reverts commit aabce921e321efa9c9b14d68367d69a0c43c175b. Release Notes: - N/A
Kirill Bulatov created
29fa6d1
Regroup result_ids (#32710)
Do not cleanup the result_id data on buffer drop, as this data is meant to be stored between buffer reopens. Use `LanguageServerId` as keys as this way it's simpler to access the data. Follow-up of https://github.com/zed-industries/zed/pull/32403 Release Notes: - N/A
Kirill Bulatov created
aabce92
Hide the notifications panel by default (#32705)
Release Notes: - The notifications panel is hidden by default now Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Kirill Bulatov and Conrad Irwin created
2948e18
Fix shell environment loading for Zed installations with spaces in path (#32702)
Follow-up to: https://github.com/zed-industries/zed/pull/32637 When Zed is installed in a path containing spaces (e.g., `/Applications/Zed Nightly.app/Contents/MacOS/zed`), environment variable loading fails and leaves this in the Zed log: ``` login shell exited with exit status: 127. stdout: "", stderr: "Nightly.app/Contents/MacOS/zed --printenv >&0: /Applications/Zed: No such file or directory" ``` This was not part a release (only broke in nightly), but fixes it the issue in any case when the path to the Zed.app bundle has a space (e.g. "Zed Nightly.app") Release Notes: - N/A
Kyle Kelley created
1c135f9
Update documentation about account email addresses (#32703)
Release Notes: - N/A
Michael Sloan created
4370628
debugger: Focus child sessions if parent has never stopped (#32693)
Closes #ISSUE Release Notes: - When debugging JavaScript, Zed will now preselect child sessions by default.
Piotr Osiewicz created
e59fb2e
copilot: Remove an unwrap in URI parsing code (#32698)
Closes #32630 Release Notes: - Fixed a potential crash when opening active modules in a debugger session (with Copilot enabled).
Piotr Osiewicz created
cf129aa
Silence failed auto update checks (#32696)
Don't immediately show "auto-update failed" errors in the status bar when launching zed offline or when a periodic auto-update check is triggered when you are offline. Manual checks (via menu or action) or errors after the initial version check succeeds (download/extraction failure) are unchanged. Supersedes: https://github.com/zed-industries/zed/pull/32643 Release Notes: - N/A Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Peter Tripp and Joseph T. Lyons created
628f91d
Disallow running CLI with root privileges (#32583)
In #31331, I made a change that prevents Zed from running with root privileges, but I forgot about the CLI. So if you run the CLI without the `--foreground` flag, it just freezes without any messages. This PR fixes that. Release Notes: - N/A
Yaroslav Pietukhov created
3fb28f6
ci: Require check_docs (#32470)
Previously, broken `check_docs` would not prevent merge/automerge. Introduced in: - https://github.com/zed-industries/zed/pull/31073 Release Notes: - N/A
Peter Tripp created
2aa79a0
editor: Fix diff hunk controls not shown until buffer interaction (#32692)
Similar to https://github.com/zed-industries/zed/pull/32683, checking mouse hovered in `mouse_move` instead of `prepaint` for diff hunk controls. Release Notes: - Fixed issue where diff hunk controls were not visible on mouse hover when `cursor_blink` is `false`.
Smit Barmase created
71dbe88
Replace environment variable parser with `zed --printenv` outputting JSON (#32637)
Closes: https://github.com/zed-industries/zed/issues/32445 Follow-up to: https://github.com/zed-industries/zed/pull/31799 Release Notes: - Improved handling of environment variables --------- Co-authored-by: Conrad Irwin <conrad@zed.dev>
Peter Tripp and Conrad Irwin created
d280c95
agent: Suggest turning burn mode on when close to the context window limit (#32691)
Previously, upon getting close to reaching the context window, we'd just suggest creating a new thread using the summary of the current one. Now, we also suggest turning burn mode on as an alternative action to solve the context window problem. Release Notes: - agent: Added a suggestion to turn burn mode on when getting close to the context window limit.
Danilo Leal created
fcf5042
anthropic: Reorder `Model` variants in descending order (#32689)
This PR reorders the `Model` variants in the `anthropic` crate in descending order. Newer/more powerful models at the top -> older/less powerful models at the bottom. Release Notes: - N/A
Marshall Bowers created
cb9beb8
anthropic: Refactor a bit (#32685)
This PR applies some refactorings made in our other repos to this version of the `anthropic` crate. Release Notes: - N/A
Marshall Bowers created
29f3e62
ui: Refactor the Callout component (#32684)
What motivated me to refactor this component was the fact that I wanted a new variant to allow having _two CTAs_ instead of just one. This variant should work with either a single or multiline description. But, given we were using a `Callout::single_line` and `Callout::multi_line` API, I'd then need to have both `Callout::single_line_one_button` and `Callout::single_line_two_buttons` type of variants, which just points to a combinatorial problem. With this refactor, the Callout now follows the same structure of the Banner component, where it's all `Callout::new` and every method is passed as if they were props in a React component, allowing for a more flexible design where you can customize button styles. Also made it slightly more robust for wrapping and removed the top border as that should be defined by the place it is being used in. Release Notes: - N/A
Danilo Leal created
aa1cb9c
editor: Fix inline blame show/hide not working until buffer interaction (#32683)
We recently fixed the issue of `cx.notify` on every mouse move event https://github.com/zed-industries/zed/pull/32408. As this perf bug was there for a long time, we made some not-optimal choices for checking things like if the mouse is hovering over an element in the prepaint phase rather than the `mouse_move` listener. After the mentioned fix, it regressed these code paths as prepaint is not being called for every other frame, and hence the mouse hovering logic never triggers. This bug is directly noticeable when the "cursor_blink" setting is turned off, which notifies the editor on every second. This PR fixes that for git inline blame popover by moving logic to show/hide in `mouse_move` instead of prepaint phase. `cx.notify` is only get called only when popover is shown or hidden. Release Notes: - Fixed git inline blame not correctly showing in Editor on hover when `cursor_blink` is `false`.
Smit Barmase created
d5b8c21
debugger: Mark DapLocator::create_scenario as an async function (#32680)
Paves way for locators in extensions. Release Notes: - N/A
Piotr Osiewicz created
2c491d3
debugger: Fix regression in rendering of stack frame list (#32682)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
9427833
Distinguish between missing models and registries in error messages (#32678)
Consolidates configuration error handling by moving the error type and logic from assistant_context_editor to language_model::registry. The registry now provides a single method to check for configuration errors, making the error handling more consistent across the agent panel and context editor. This also now checks if the issue is that we don't have any providers, or if we just can't find the model. Previously, an incorrect model name showed up as having no providers, which is very confusing. Release Notes: - N/A
Ben Brandt created
fc7c106
chore: Use workspace `tiny_http` (#32672)
Release Notes: - N/A
张小白 created
83cd1d2
Improve logging of prettier errors (#32665)
In particular, seems like the error message and the message sent to prettier were mixed up before Release Notes: - N/A
Michael Sloan created
bc68455
client: Fix an issue where non-IP proxy URLs didn’t resolve correctly (#32664)
If the proxy URL is in the form of `example.com` instead of a raw IP address, and `example.com` isn't a well-known domain, then the default URL resolution can fail. The test setup: A Linux machine runs a CoreDNS server with a custom entry: `10.254.7.38 example.com`. On a Windows machine, if the proxy URL is set to `example.com`, the resolved address does **not** end up being `10.254.7.38`. Using `hickory_resolver` for more advanced DNS resolution fixes this issue. Release Notes: - Fixed proxy URL resolution when using custom DNS entries.
张小白 created
20793fc
Autoformat `prettier_server.js` (#32661)
Formatted via format-on-save in Zed with prettier version 3.5.3 Release Notes: - N/A
Michael Sloan created
cb57317
project_panel: Allow collapse all from workspace context (#32660)
Closes #4385 Allow action `project_panel::CollapseAllEntries` to trigger from workspace context without focusing the project panel. Release Notes: - Added a way to collapse all entries in the Project Panel without having to focus it. This can be done by using the `project_panel::CollapseAllEntries` action.
Smit Barmase created
9cc8221
Remove `separator!` macro and make `path!` handle relative paths (#32527)
Release Notes: - N/A
Michael Sloan created
babf846
Fix newlines in language server logs when switching log types + misc (#32659)
Mistake in #31863 where the stored log entries no longer had a format that could simply have `\n` added after each entry. Also fixes a potential crash in the long line folding logic if unicode was in the logs - introduced in #22996. Also updates the log line truncation logic to never exceed the pre-allocated capacity Release Notes: - N/A
Michael Sloan created
9a6e8a1
vim: Add horizontal scrolling support in vim mode (#32558)
Release Notes:
- Added initial support for both `z l` and `z h` in vim mode
These changes relate to #17219 but don't yet close the issue, as this
Pull Request is simply adding support for horizontal scrolling in vim
mode and actually moving the cursor to the correct column in the current
row will be handled in a different Pull Request.
Some notes on these changes:
- 2 new default keybindings added to vim's keymap
- `z l` which triggers the new `vim::ColumnRight` action
- `z h` which triggers the new `vim::ColumnLeft` action
- Introduced a new `ScrollAmount` variant, `ScrollAmount::Column(f32)`
to represent horizontal scrolling
- Replaced usage of `em_width` with `em_advance` to actually scroll by
the width of the cursor, instead of the width of the character
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
f63ae43
debugger: Show errors loading stack (#32658)
- **TEMP** - **Show errors loading stack frames** - **Stop cloning every DAP response unnecessarily** Closes #ISSUE Release Notes: - debugger: Show errors loading stack frames. <img width="1840" alt="Screenshot 2025-06-12 at 23 53 42" src="https://github.com/user-attachments/assets/310d3046-f34c-4964-acef-f9742441c9db" />
Conrad Irwin created
bcd7933
debugger: Fix running JS tests when worktree root and package root do not coincide (#32644)
- construct the correct path to the test library based on the location of package.json - run scripts from the package root where they were defined - run tests in the directory of the defining file Release Notes: - Debugger Beta: fixed running JS tests when the worktree root is above the location of package.json. --------- Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cole Miller , Anthony , and Conrad Irwin created
9166e66
Disable nav history in vim scrolls (#32656)
Reland of #30345 to fix merge conflicts with the new skip-completions option Fixes #29431 Fixes #17592 Release Notes: - vim: Scrolls are no longer added to the jumplist
Conrad Irwin created
0fe35f4
vim: Exit temporary normal after scroll (#32653)
Closes #ISSUE Release Notes: - vim: Exit temporary normal after scrolling
Conrad Irwin created
f227c2f
debugger: Add an action to copy debuggee info and initialization args (#32647)
Release Notes: - Debugger Beta: added the `dev: copy debug adapter arguments` action to help troubleshoot debug configurations.
Cole Miller created
1078f92
Update names of collab auth functions to clarify behavior (#32648)
Release Notes: - N/A
Michael Sloan created
cef0c41
Don't autosave unmodified buffers (#32626)
Closes https://github.com/zed-industries/zed/issues/12091 Proper redo of https://github.com/zed-industries/zed/pull/32603 Release Notes: - Fixed formatting effects not triggered when saving unmodified singleton buffers --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Cole Miller <m@cole-miller.net>
Kirill Bulatov , Max Brunsfeld , and Cole Miller created
cd018da
docs: Fix headings in debugger docs (#32641)
Reported by calebmeyer on Discord. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
d725371
debugger: Pass --nocapture to cargo tests when building debug tasks with locator (#32633)
Release Notes: - Add --nocapture as a default argument when debugging rust tests Co-authored-by: Cole Miller <m@cole-miller.net>
Anthony Eid and Cole Miller created
7d708c1
Use `git config --global user.email` for email address in automatic `Co-authored-by` (#32624)
Release Notes: - Automatic population of `Co-authored-by` now uses `git config --global user.email` --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
Michael Sloan , Conrad Irwin , and Conrad created
e56a027
Store `result_id`s per language server (#32631)
Follow-up of https://github.com/zed-industries/zed/pull/32403 Release Notes: - N/A
Kirill Bulatov created
1e244f4
debugger: Do not swallow `port` property when converting launch.json (#32621)
with JavaScript scenarios. Closes #32187 Release Notes: - Fixed `port` property not being respected in debug scenarios converted from VSC's launch.json Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Piotr Osiewicz and Ben Kunkle created
c13be16
Add `git: open modified files` action (#32347)
Ported over a vscode/cursor command that I like using : ) Release Notes: - Added "open modified files" command
Gabe Shahbazian created
0ee6a90
Update invisibles' default.json docs (#32601)
Follow-up of https://github.com/zed-industries/zed/pull/32329 Release Notes: - N/A
Kirill Bulatov created