These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
Commit: | e5b4cff | |
---|---|---|
Author: | Piotr Osiewicz |
chore: cleanup debugger.proto
Commit: | f143227 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
language_models: Improve subscription states in the Agent configuration view (#30252) This PR improves the subscription states in the Agent configuration view to the new billing system. Zed Free (legacy): <img width="638" alt="Screenshot 2025-05-08 at 8 42 59 AM" src="https://github.com/user-attachments/assets/7b62d4c1-2a9c-4c6a-aa8f-060730b6d7b3" /> Zed Free (new): <img width="640" alt="Screenshot 2025-05-08 at 8 43 56 AM" src="https://github.com/user-attachments/assets/8a48448e-813e-4633-955d-623d3e6d603c" /> Zed Pro trial: <img width="641" alt="Screenshot 2025-05-08 at 8 45 52 AM" src="https://github.com/user-attachments/assets/1ec7ee62-e954-48e7-8447-4584527307c9" /> Zed Pro: <img width="636" alt="Screenshot 2025-05-08 at 8 47 21 AM" src="https://github.com/user-attachments/assets/f934b2e3-0943-4b78-b8dc-0a31e731d8fb" /> Release Notes: - agent: Improved the subscription-related information in the configuration view.
Commit: | 0490d25 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
language_models: Improve subscription states in the Agent configuration view (#30252) This PR improves the subscription states in the Agent configuration view to the new billing system. Zed Free (legacy): <img width="638" alt="Screenshot 2025-05-08 at 8 42 59 AM" src="https://github.com/user-attachments/assets/7b62d4c1-2a9c-4c6a-aa8f-060730b6d7b3" /> Zed Free (new): <img width="640" alt="Screenshot 2025-05-08 at 8 43 56 AM" src="https://github.com/user-attachments/assets/8a48448e-813e-4633-955d-623d3e6d603c" /> Zed Pro trial: <img width="641" alt="Screenshot 2025-05-08 at 8 45 52 AM" src="https://github.com/user-attachments/assets/1ec7ee62-e954-48e7-8447-4584527307c9" /> Zed Pro: <img width="636" alt="Screenshot 2025-05-08 at 8 47 21 AM" src="https://github.com/user-attachments/assets/f934b2e3-0943-4b78-b8dc-0a31e731d8fb" /> Release Notes: - agent: Improved the subscription-related information in the configuration view.
The documentation is generated from this commit.
Commit: | b343a8a | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
language_models: Improve subscription states in the Agent configuration view (#30252) This PR improves the subscription states in the Agent configuration view to the new billing system. Zed Free (legacy): <img width="638" alt="Screenshot 2025-05-08 at 8 42 59 AM" src="https://github.com/user-attachments/assets/7b62d4c1-2a9c-4c6a-aa8f-060730b6d7b3" /> Zed Free (new): <img width="640" alt="Screenshot 2025-05-08 at 8 43 56 AM" src="https://github.com/user-attachments/assets/8a48448e-813e-4633-955d-623d3e6d603c" /> Zed Pro trial: <img width="641" alt="Screenshot 2025-05-08 at 8 45 52 AM" src="https://github.com/user-attachments/assets/1ec7ee62-e954-48e7-8447-4584527307c9" /> Zed Pro: <img width="636" alt="Screenshot 2025-05-08 at 8 47 21 AM" src="https://github.com/user-attachments/assets/f934b2e3-0943-4b78-b8dc-0a31e731d8fb" /> Release Notes: - agent: Improved the subscription-related information in the configuration view.
The documentation is generated from this commit.
Commit: | bbfcd88 | |
---|---|---|
Author: | Piotr Osiewicz | |
Committer: | GitHub |
debugger: Allow locators to generate full debug scenarios (#30014) Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Remco Smits <djsmits12@gmail.com>
Commit: | 68793c0 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
Debug adapters log to console (#29957) Closes #ISSUE Release Notes: - N/A
Commit: | 7016127 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | Conrad Irwin |
Log debug adapter progress to the Console Fixes status updates from remote projects
Commit: | 185bd06 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
collab: Pass down billing information in `UpdatePlan` message (#29929) This PR updates the `UpdatePlan` message to include some additional information about the user's billing subscription usage. Release Notes: - N/A
Commit: | 10bdf39 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
collab: Pass down billing information in `UpdatePlan` message (#29929) This PR updates the `UpdatePlan` message to include some additional information about the user's billing subscription usage. Release Notes: - N/A
Commit: | 93f195c | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of e14d078f8ac04df578e1dab3c698d93c7533352a
Commit: | 6b325a4 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of e14d078f8ac04df578e1dab3c698d93c7533352a
Commit: | ba59305 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Use rust-analyzer's flycheck as source of cargo diagnostics (#29779) Follow-up of https://github.com/zed-industries/zed/pull/29706 Instead of doing `cargo check` manually, use rust-analyzer's flycheck: at the cost of more sophisticated check command configuration, we keep much less code in Zed, and get a proper progress report. User-facing UI does not change except `diagnostics_fetch_command` and `env` settings removed from the diagnostics settings. Release Notes: - N/A
Commit: | e1e3f2e | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
Improve handling of remote-tracking branches in the picker (#29744) Release Notes: - Changed the git branch picker to make remote-tracking branches less prominent --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Commit: | 2a319ef | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Add `editor::GoToParentModule` for rust-analyzer backed projects (#29755) Support rust-analyzer's "go to parent module" action https://rust-analyzer.github.io/book/contributing/lsp-extensions.html#parent-module Release Notes: - Added `editor::GoToParentModule` for rust-analyzer backed projects --------- Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Commit: | 55c7197 | |
---|---|---|
Author: | Cole Miller |
Don't show history matches for remote-tracking branches Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Commit: | e07ffe7 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Allow to fetch cargo diagnostics separately (#29706) Adjusts the way `cargo` and `rust-analyzer` diagnostics are fetched into Zed. Nothing is changed for defaults: in this mode, Zed does nothing but reports file updates, which trigger rust-analyzers' mechanisms: * generating internal diagnostics, which it is able to produce on the fly, without blocking cargo lock. Unfortunately, there are not that many diagnostics in r-a, and some of them have false-positives compared to rustc ones * running `cargo check --workspace --all-targets` on each file save, taking the cargo lock For large projects like Zed, this might take a while, reducing the ability to choose how to work with the project: e.g. it's impossible to save multiple times without long diagnostics refreshes (may happen automatically on e.g. focus loss), save the project and run it instantly without waiting for cargo check to finish, etc. In addition, it's relatively tricky to reconfigure r-a to run a different command, with different arguments and maybe different env vars: that would require a language server restart (and a large project reindex) and fiddling with multiple JSON fields. The new mode aims to separate out cargo diagnostics into its own loop so that all Zed diagnostics features are supported still. For that, an extra mode was introduced: ```jsonc "rust": { // When enabled, Zed runs `cargo check --message-format=json`-based commands and // collect cargo diagnostics instead of rust-analyzer. "fetch_cargo_diagnostics": false, // A command override for fetching the cargo diagnostics. // First argument is the command, followed by the arguments. "diagnostics_fetch_command": [ "cargo", "check", "--quiet", "--workspace", "--message-format=json", "--all-targets", "--keep-going" ], // Extra environment variables to pass to the diagnostics fetch command. "env": {} } ``` which calls to cargo, parses its output and mixes in with the existing diagnostics: https://github.com/user-attachments/assets/e986f955-b452-4995-8aac-3049683dd22c Release Notes: - Added a way to get diagnostics from cargo and rust-analyzer without mutually locking each other - Added `ctrl-r` binding to refresh diagnostics in the project diagnostics editor context
Commit: | 2d775b6 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | Kirill Bulatov |
Draft the diagnostics update process
Commit: | 19f0c2d | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | Mikayla Maki |
Tidy up diagnostics more (#29629) - Stop merging same row diagnostics - (for Rust) show code fragments surrounded by `'s in monospace Co-authored-by: Serge Radinovich <sergeradinovich@gmail.com> Closes #29362 Release Notes: - diagnostics: Diagnostics are no longer merged when they're on the same line - rust: Diagnostics now show code snippets in monospace font: <img width="551" alt="Screenshot 2025-04-29 at 16 13 45" src="https://github.com/user-attachments/assets/d289be31-717d-404f-a76a-a0cda3e96fbe" /> Co-authored-by: Serge Radinovich <sergeradinovich@gmail.com>
Commit: | e364e48 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
Tidy up diagnostics more (#29629) - Stop merging same row diagnostics - (for Rust) show code fragments surrounded by `'s in monospace Co-authored-by: Serge Radinovich <sergeradinovich@gmail.com> Closes #29362 Release Notes: - diagnostics: Diagnostics are no longer merged when they're on the same line - rust: Diagnostics now show code snippets in monospace font: <img width="551" alt="Screenshot 2025-04-29 at 16 13 45" src="https://github.com/user-attachments/assets/d289be31-717d-404f-a76a-a0cda3e96fbe" /> Co-authored-by: Serge Radinovich <sergeradinovich@gmail.com>
Commit: | 91f55b8 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | Kirill Bulatov |
Draft the diagnostics update process
Commit: | 93cf95f | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
collab: Remove `CountLanguageModelTokens` RPC message (#29314) This PR removes the `CountLanguageModelTokens` RPC message from collab. We were only using this for Google AI models through the Zed provider (which is only available to Zed staff). For now we're returning `0`, but will bring back soon. Release Notes: - N/A
Commit: | 8a68fad | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
collab: Remove code for embeddings (#29310) This PR removes the embeddings-related code from collab and the protocol, as we weren't using it anywhere. Release Notes: - N/A
Commit: | 67615b9 | |
---|---|---|
Author: | Piotr Osiewicz | |
Committer: | GitHub |
debugger/tasks: Remove TaskType enum (#29208) Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Conrad <conrad@zed.dev>
Commit: | 5e83839 | |
---|---|---|
Author: | Piotr Osiewicz |
Pass environment variables through to the debuggee
Commit: | bab9046 | |
---|---|---|
Author: | Piotr Osiewicz |
Pass through SpawnInTerminal, not tasktemplates
Commit: | d22c9a2 | |
---|---|---|
Author: | Piotr Osiewicz |
WIP Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Commit: | 644c7b6 | |
---|---|---|
Author: | Piotr Osiewicz |
Rework locators a bit so that all of them are queried.
Commit: | 2b1a220 | |
---|---|---|
Author: | Piotr Osiewicz |
Merge branch 'main' into remove-task-type
Commit: | 9d10489 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
Show diagnostic codes (#29296) Closes #28135 Closes #4388 Closes #28136 Release Notes: - diagnostics: Show the diagnostic code if available --------- Co-authored-by: Neo Nie <nihgwu@live.com> Co-authored-by: Zed AI <ai+claude-3.7@zed.dev>
Commit: | 74442b6 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
collab: Remove `CountLanguageModelTokens` RPC message (#29314) This PR removes the `CountLanguageModelTokens` RPC message from collab. We were only using this for Google AI models through the Zed provider (which is only available to Zed staff). For now we're returning `0`, but will bring back soon. Release Notes: - N/A
Commit: | ecc600a | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
collab: Remove code for embeddings (#29310) This PR removes the embeddings-related code from collab and the protocol, as we weren't using it anywhere. Release Notes: - N/A
Commit: | c00bf4e | |
---|---|---|
Author: | Smit Barmase | |
Committer: | GitHub |
sibling of ba588161d9e0f36efeffec313ad31172235ad4cb
Commit: | abf9798 | |
---|---|---|
Author: | Piotr Osiewicz |
Add Debug kind to settings
Commit: | 556f24f | |
---|---|---|
Author: | Conrad Irwin |
Show diagnostics codes This also updates the hover popover to use the same markdown as the block diagnostics
Commit: | a21a593 | |
---|---|---|
Author: | Piotr Osiewicz |
Another checkpoint
Commit: | 9d35f03 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
debugger: More tidy up for SSH (#28993) Split `locator` out of DebugTaskDefinition to make it clearer when location needs to happen. Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Cole Miller <m@cole-miller.net>
Commit: | 9330320 | |
---|---|---|
Author: | Nathan Sobo | |
Committer: | Joseph T. Lyons |
Rename regex search tool to grep and accept an include glob pattern (#29100) This PR renames the `regex_search` tool to `grep` because I think it conveys more meaning to the model, the idea of searching the filesystem with a regular expression. It's also one word and the model seems to be using it effectively after some additional prompt tuning. It also takes an include pattern to filter on the specific files we try to search. I'd like to encourage the model to scope its searches more aggressively, as in my testing, I'm only seeing it filter on file extension. Release Notes: - N/A
Commit: | 107d8ca | |
---|---|---|
Author: | Nathan Sobo | |
Committer: | GitHub |
Rename regex search tool to grep and accept an include glob pattern (#29100) This PR renames the `regex_search` tool to `grep` because I think it conveys more meaning to the model, the idea of searching the filesystem with a regular expression. It's also one word and the model seems to be using it effectively after some additional prompt tuning. It also takes an include pattern to filter on the specific files we try to search. I'd like to encourage the model to scope its searches more aggressively, as in my testing, I'm only seeing it filter on file extension. Release Notes: - N/A
Commit: | e68cae9 | |
---|---|---|
Author: | Conrad Irwin |
WIPWIPWIWP
Commit: | e45d293 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of 7badd6053ddc0371625fd6fdcb98c50e7f8427c4
Commit: | f181d59 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | Conrad Irwin |
Merge branch 'main' into debugger-ssh
Commit: | 1bdcf31 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Joseph T. Lyons |
proto: Add `ZedProTrial` to `Plan` (#28885) This PR adds the `ZedProTrial` member to the `Plan` enum. Release Notes: - N/A
Commit: | ba7f886 | |
---|---|---|
Author: | Smit Barmase | |
Committer: | GitHub |
project: Show detached head commit SHA in branch pickers (#29007) When Git is in a detached HEAD state, the branch is `None`, and we can't get any meaningful information from it. This PR adds a `head_commit` field to the snapshot, which is always populated with the HEAD details, even when the branch is `None`. This also pave path to fix: https://github.com/zed-industries/zed/issues/28736 git panel branch picker (before, after): <img width="197" alt="image" src="https://github.com/user-attachments/assets/0b6abbba-2988-4890-a708-bcd8aad84f26" /> <img width="198" alt="image" src="https://github.com/user-attachments/assets/4b08b1a8-5e79-4aa3-a44e-932249602c18" /> title bar branch picker (before, after): <img width="183" alt="image" src="https://github.com/user-attachments/assets/d94357f8-a4da-4d60-8ddd-fdd978b99fdf" /> <img width="228" alt="image" src="https://github.com/user-attachments/assets/d20824a1-9279-44d6-afd1-bf9319fc50e4" /> Release Notes: - Added head commit SHA information to the Git branch picker in the title bar and Git panel.
Commit: | f9a0782 | |
---|---|---|
Author: | Conrad Irwin |
TEMP
Commit: | 1e59dbb | |
---|---|---|
Author: | Anthony |
Fix some of the compiler errors
Commit: | 7f1fb6c | |
---|---|---|
Author: | Conrad Irwin |
MOAR
Commit: | 7e928dd | |
---|---|---|
Author: | Max Brunsfeld | |
Committer: | GitHub |
Implement dragging external files to remote projects (#28987) Release Notes: - Added the ability to copy external files into remote projects by dragging them onto the project panel. --------- Co-authored-by: Peter Tripp <petertripp@gmail.com>
Commit: | 29987f9 | |
---|---|---|
Author: | Conrad Irwin |
TEMP
Commit: | d791977 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
sibling of 040046ed2ac4b5051a9005f63d0aad6603bb9711
Commit: | 2eaddd4 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Thomas Mickley-Doyle |
proto: Add `ZedProTrial` to `Plan` (#28885) This PR adds the `ZedProTrial` member to the `Plan` enum. Release Notes: - N/A
Commit: | efcd97f | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | Thomas Mickley-Doyle |
proto: Add `ZedProTrial` to `Plan` (#28885) This PR adds the `ZedProTrial` member to the `Plan` enum. Release Notes: - N/A
Commit: | 97b044a | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
proto: Add `ZedProTrial` to `Plan` (#28885) This PR adds the `ZedProTrial` member to the `Plan` enum. Release Notes: - N/A
Commit: | 78ecc3c | |
---|---|---|
Author: | Smit Barmase | |
Committer: | GitHub |
git: Amend (#28187) Adds git amend support. - [x] Turn existing commit button into split button - [x] Clean up + Handle shortcuts/focus cases - [x] Test remote Release Notes: - Added git amend support. --------- Co-authored-by: Cole Miller <cole@zed.dev>
Commit: | 3c6b498 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
sibling of c2e3134963c92f26cff94c7cc29a08ea7e57b180
Commit: | 1609bf4 | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
sibling of 66b3e03baaa660d4ace61e76f65967a4f1ad3fad
Commit: | 8ede292 | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
sibling of b687a5e56dd1320dd9014b33edae160d5b1030b2
Commit: | b15ee1b | |
---|---|---|
Author: | João Marcos | |
Committer: | GitHub |
Add dedicated actions for `LSP` completions insertion mode (#28121) Adds actions so you can have customized keybindings for `insert` and `replace` modes. And add `shift-enter` as a default for `replace`, this will override the default setting `completions.lsp_insert_mode` which is set to `replace_suffix`, which tries to "smartly" decide whether to replace or insert based on the surrounding text. For those who come from VSCode, if you want to mimic their behavior, you only have to set `completions.lsp_insert_mode` to `insert`. If you want `tab` and `enter` to do different things, you need to remap them, here is an example: ```jsonc [ // ... { "context": "Editor && showing_completions", "bindings": { "enter": "editor::ConfirmCompletionInsert", "tab": "editor::ConfirmCompletionReplace" } }, ] ``` Closes #24577 - [x] Make LSP completion insertion mode decision in guest's machine (host is currently deciding it and not allowing guests to have their own setting for it) - [x] Add shift-enter as a hotkey for `replace` by default. - [x] Test actions. - [x] Respect the setting being specified per language, instead of using the "defaults". - [x] Move `insert_range` of `Completion` to the Lsp variant of `.source`. - [x] Fix broken default, forgotten after https://github.com/zed-industries/zed/pull/27453#pullrequestreview-2736906628, should be `replace_suffix` and not `insert`. Release Notes: - LSP completions: added actions `ConfirmCompletionInsert` and `ConfirmCompletionReplace` that control how completions are inserted, these override `completions.lsp_insert_mode`, by default, `shift-enter` triggers `ConfirmCompletionReplace` which replaces the whole word.
Commit: | 39c98ce | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Support tasks from rust-analyzer (#28359) (and any other LSP server in theory, if it exposes any LSP-ext endpoint for the same) Closes https://github.com/zed-industries/zed/issues/16160 * adds a way to disable tree-sitter tasks (the ones from the plugins, enabled by default) with ```json5 "languages": { "Rust": "tasks": { "enabled": false } } } ``` language settings * adds a way to disable LSP tasks (the ones from the rust-analyzer language server, enabled by default) with ```json5 "lsp": { "rust-analyzer": { "enable_lsp_tasks": false, } } ``` * adds rust-analyzer tasks into tasks modal and gutter: <img width="1728" alt="modal" src="https://github.com/user-attachments/assets/22b9cee1-4ffb-4c9e-b1f1-d01e80e72508" /> <img width="396" alt="gutter" src="https://github.com/user-attachments/assets/bd818079-e247-4332-bdb5-1b7cb1cce768" /> Release Notes: - Added tasks from rust-analyzer
Commit: | a90c10e | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of 1264e7a200e62f5f1df757aa9a2b0fd2ebeb231c
Commit: | 35ca1d1 | |
---|---|---|
Author: | João Marcos | |
Committer: | João Marcos |
add new actions, add insert_range send insert_range via grpc and decide between insert_range and replace_range in guest client make new actions take precedence over settings move decision check
Commit: | a4e5aa4 | |
---|---|---|
Author: | Max Brunsfeld | |
Committer: | Thomas Mickley-Doyle |
Split protobufs into separate files (#28130) The one big protobuf file was getting a bit difficult to navigate. I split it into separate topic-specific files that import each other. Release Notes: - N/A
Commit: | d2a665b | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | Thomas Mickley-Doyle |
Allow to temporarily stop LSP servers (#28034) Same as `editor::RestartLanguageServer`, now there's an `editor::StopLanguageServer` action that stops all language servers, related to the currently opened editor. Opening another singleton editor with the same language or changing selections in a multi buffer will bring the servers back up. Release Notes: - Added a way to temporarily stop LSP servers --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Commit: | 8ab252c | |
---|---|---|
Author: | Max Brunsfeld | |
Committer: | GitHub |
Split protobufs into separate files (#28130) The one big protobuf file was getting a bit difficult to navigate. I split it into separate topic-specific files that import each other. Release Notes: - N/A
Commit: | b0181b5 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of c674e8d62d1925668e4c18af01efd300d8630aa1
Commit: | 0c82541 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Allow to temporarily stop LSP servers (#28034) Same as `editor::RestartLanguageServer`, now there's an `editor::StopLanguageServer` action that stops all language servers, related to the currently opened editor. Opening another singleton editor with the same language or changing selections in a multi buffer will bring the servers back up. Release Notes: - Added a way to temporarily stop LSP servers --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Commit: | e7290df | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
Finish removing git repository state and scanning logic from worktrees (#27568) This PR completes the process of moving git repository state storage and scanning logic from the worktree crate to `project::git_store`. Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
Commit: | ada8b0f | |
---|---|---|
Author: | Max Brunsfeld | |
Committer: | GitHub |
Show commit author, not committer (#27856) Release Notes: - Fixed a bug where the git panel displayed a commit's committer in place of its author.
Commit: | 8546dc1 | |
---|---|---|
Author: | Max Brunsfeld | |
Committer: | GitHub |
Allow viewing past commits in Zed (#27636) This PR adds functionality for loading the diff for an arbitrary git commit, and displaying it in a tab. To retrieve the diff for the commit, I'm using a single `git cat-file --batch` invocation to efficiently load both the old and new versions of each file that was changed in the commit. Todo * Features * [x] Open the commit view when clicking the most recent commit message in the commit panel * [x] Open the commit view when clicking a SHA in a git blame column * [x] Open the commit view when clicking a SHA in a commit tooltip * [x] Make it work over RPC * [x] Allow buffer search in commit view * [x] Command palette action to open the commit for the current blame line * Styling * [x] Add a header that shows the author, timestamp, and the full commit message * [x] Remove stage/unstage buttons in commit view * [x] Truncate the commit message in the tab * Bugs * [x] Dedup commit tabs within a pane * [x] Add a tooltip to the tab Release Notes: - Added the ability to show past commits in Zed. You can view the most recent commit by clicking its message in the commit panel. And when viewing a git blame, you can show any commit by clicking its sha.
Commit: | d517a21 | |
---|---|---|
Author: | Anthony Eid | |
Committer: | GitHub |
Debugger: Add conditional and hit conditional breakpoint functionality (#27760) This PR adds conditional and hit condition breakpoint functionality cc @osiewicz Co-authored-by: Remco Smits: <djsmits12@gmail.com> Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Commit: | edf712d | |
---|---|---|
Author: | Piotr Osiewicz | |
Committer: | GitHub |
toolchains: Add support for relative paths (#27777) Closes #ISSUE Release Notes: - N/A
Commit: | e1e8c17 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Fix remote clients unable to query custom, lsp_ext, commands (#27775) Closes https://github.com/zed-industries/zed/issues/20583 Closes https://github.com/zed-industries/zed/issues/27133 A preparation for rust-analyzer's LSP tasks fetching, ensures all remote clients are able to query custom, lsp_ext, commands. Release Notes: - Fixed remote clients unable to query custom, lsp_ext, commands
Commit: | f86977e | |
---|---|---|
Author: | Piotr Osiewicz | |
Committer: | GitHub |
debugger: Touchups to log breakpoints (#27675) This is a slight refactor that flattens Breakpoint struct in anticipation of condition/hit breakpoints. It also adds a slight delay before breakpoints are shown on gutter hover to make breakpoints less attention grabbing. Release Notes: - N/A
Commit: | 94939e7 | |
---|---|---|
Author: | Smit Barmase | |
Committer: | GitHub |
sibling of 77856bf01758a0e51a52f65690f87f78b2ead290
Commit: | 6924720 | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
Move repository state RPC handlers to the GitStore (#27391) This is another in the series of PRs to make the GitStore own all repository state and enable better concurrency control for git repository scans. After this PR, the `RepositoryEntry`s stored in worktree snapshots are used only as a staging ground for local GitStores to pull from after git-related events; non-local worktrees don't store them at all, although this is not reflected in the types. GitTraversal and other places that need information about repositories get it from the GitStore. The GitStore also takes over handling of the new UpdateRepository and RemoveRepository messages. However, repositories are still discovered and scanned on a per-worktree basis, and we're still identifying them by the (worktree-specific) project entry ID of their working directory. - [x] Remove WorkDirectory from RepositoryEntry - [x] Remove worktree IDs from repository-related RPC messages - [x] Handle UpdateRepository and RemoveRepository RPCs from the GitStore Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Commit: | 72318df | |
---|---|---|
Author: | Bennet Bo Fenner | |
Committer: | GitHub |
lsp: Add support for `textDocument/documentSymbol` (#27488) This PR adds support for retrieving the outline of a specific buffer/document from the LSP. E.g. for this code (`crates/cli/src/cli.rs`): ```rs use collections::HashMap; pub use ipc_channel::ipc; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize)] pub struct IpcHandshake { pub requests: ipc::IpcSender<CliRequest>, pub responses: ipc::IpcReceiver<CliResponse>, } #[derive(Debug, Serialize, Deserialize)] pub enum CliRequest { Open { paths: Vec<String>, urls: Vec<String>, wait: bool, open_new_workspace: Option<bool>, env: Option<HashMap<String, String>>, }, } #[derive(Debug, Serialize, Deserialize)] pub enum CliResponse { Ping, Stdout { message: String }, Stderr { message: String }, Exit { status: i32 }, } /// When Zed started not as an *.app but as a binary (e.g. local development), /// there's a possibility to tell it to behave "regularly". pub const FORCE_CLI_MODE_ENV_VAR_NAME: &str = "ZED_FORCE_CLI_MODE"; ``` Rust-analyzer responds with: ``` Symbol: 'IpcHandshake' - Struct - (4:0-8:1) (5:11-5:23) Symbol: 'requests' - Field - (6:4-6:44) (6:8-6:16) Symbol: 'responses' - Field - (7:4-7:48) (7:8-7:17) Symbol: 'CliRequest' - Enum - (10:0-19:1) (11:9-11:19) Symbol: 'Open' - EnumMember - (12:4-18:5) (12:4-12:8) Symbol: 'paths' - Field - (13:8-13:26) (13:8-13:13) Symbol: 'urls' - Field - (14:8-14:25) (14:8-14:12) Symbol: 'wait' - Field - (15:8-15:18) (15:8-15:12) Symbol: 'open_new_workspace' - Field - (16:8-16:40) (16:8-16:26) Symbol: 'env' - Field - (17:8-17:44) (17:8-17:11) Symbol: 'CliResponse' - Enum - (21:0-27:1) (22:9-22:20) Symbol: 'Ping' - EnumMember - (23:4-23:8) (23:4-23:8) Symbol: 'Stdout' - EnumMember - (24:4-24:30) (24:4-24:10) Symbol: 'message' - Field - (24:13-24:28) (24:13-24:20) Symbol: 'Stderr' - EnumMember - (25:4-25:30) (25:4-25:10) Symbol: 'message' - Field - (25:13-25:28) (25:13-25:20) Symbol: 'Exit' - EnumMember - (26:4-26:24) (26:4-26:8) Symbol: 'status' - Field - (26:11-26:22) (26:11-26:17) Symbol: 'FORCE_CLI_MODE_ENV_VAR_NAME' - Constant - (29:0-31:67) (31:10-31:37) ``` We'll use this to reference specific symbols in assistant2 Release Notes: - N/A
Commit: | d70ac64 | |
---|---|---|
Author: | Anthony Eid | |
Committer: | GitHub |
Allow enabling/disabling breakpoints (#27280) This PR adds the ability to enable/disable breakpoints. It also fixes a bug where toggling a log breakpoint from the breakpoint context menu would add a standard breakpoint on top of the log breakpoint instead of deleting it. todo: - [x] Add `BreakpointState` field Breakpoint that manages if a breakpoint is active or not - [x] Don't send disabled breakpoints to DAP servers - in progress - [x] Half the opacity of disabled breakpoints - in progress - [x] Add `BreakpointState` to database - [x] Editor test for enabling/disabling breakpoints - [ ] Integration Test to make sure we don't send disabled breakpoints to DAP servers - [x] Database test to make sure we properly serialize/deserialize BreakpointState Release Notes: - N/A --------- Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Commit: | a709d4c | |
---|---|---|
Author: | Bennet Bo Fenner | |
Committer: | GitHub |
assistant: Add support for `claude-3-7-sonnet-thinking` (#27085) Closes #25671 Release Notes: - Added support for `claude-3-7-sonnet-thinking` in the assistant panel --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Agus Zubiaga <hi@aguz.me>
Commit: | bc1c0a2 | |
---|---|---|
Author: | Cole Miller | |
Committer: | GitHub |
Separate repository state synchronization from worktree synchronization (#27140) This PR updates our DB schemas and wire protocol to separate the synchronization of git statuses and other repository state from the synchronization of worktrees. This paves the way for moving the code that executes git status updates out of the `worktree` crate and onto the new `GitStore`. That end goal is motivated by two (related) points: - Disentangling git status updates from the worktree's `BackgroundScanner` will allow us to implement a simpler concurrency story for those updates, hopefully fixing some known but elusive bugs (upstream state not updating after push; statuses getting out of sync in remote projects). - By moving git repository state to the project-scoped `GitStore`, we can get rid of the duplication that currently happens when two worktrees are associated with the same git repository. Co-authored-by: Max <max@zed.dev> Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Commit: | d51cd15 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Remove an unused field in Diagnostic from zed.proto (#27091) Release Notes: - N/A
Commit: | 41a60ff | |
---|---|---|
Author: | Remco Smits | |
Committer: | GitHub |
Debugger implementation (#13433) ### 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>
Commit: | 8a31dca | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Use textDocument/codeLens data in the actions menu when applicable #2 (#26848) Re-applies what's been reverted in https://github.com/zed-industries/zed/pull/26832 with an action-related fix in https://github.com/zed-industries/zed/commit/64b5d37d324176cc7b819418f46724cd4c67393d Before, actions were resolved only if `data` is present and either of the possible fields is empty: https://github.com/zed-industries/zed/blob/e842b4eade368127f01944f1b442016edd6b292d/crates/project/src/lsp_store.rs#L1632-L1633 But Zed resolves completions and inlays once, unconditionally, and the reverted PR applied the same strategy to actions. That did not work despite the spec not forbidding `data`-less actions to be resolved. Soon, it starts to work due to https://github.com/rust-lang/rust-analyzer/pull/19369 but it seems safer to restore the original filtering code. Code lens have no issues with `data`-less resolves: https://github.com/rust-lang/rust-analyzer/blob/220d913cbcd05f9b7635179a98c685f31821a572/crates/rust-analyzer/src/handlers/request.rs#L1618-L1620 so the same approach as completions and inlays is kept: resolve once. Release Notes: - N/A
Commit: | 021d658 | |
---|---|---|
Author: | Marshall Bowers | |
Committer: | GitHub |
Revert "Use `textDocument/codeLens` data in the actions menu when applicable (#26811)" (#26832) This reverts commit b61171f1526f00c9916a5429af3d95b33d560d56. This PR reverts #26811, as it has broken `rust-analyzer` code actions. With this commit reverted my code actions are working again. Release Notes: - Community: Reverted https://github.com/zed-industries/zed/pull/26811.
Commit: | b61171f | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Use `textDocument/codeLens` data in the actions menu when applicable (#26811) Similar to how tasks are fetched via LSP, also queries for document's code lens and filters the ones with the commands, supported in server capabilities. Whatever's left and applicable to the range given, is added to the actions menu:  This way, Zed can get more actions to run, albeit neither r-a nor vtsls seem to provide anything by default. Currently, there are no plans to render code lens the way as in VSCode, it's just the extra actions that are show in the menu. ------------------ As part of the attempts to use rust-analyzer LSP data about the runnables, I've explored a way to get this data via standard LSP. When particular experimental client capabilities are enabled (similar to how clangd does this now), r-a starts to send back code lens with the data needed to run a cargo command: ``` {"jsonrpc":"2.0","id":48,"result":{"range":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}},"command":{"title":"▶︎ Run Tests","command":"rust-analyzer.runSingle","arguments":[{"label":"test-mod tests::ecparser","location":{"targetUri":"file:///Users/someonetoignore/work/ec4rs/src/tests/ecparser.rs","targetRange":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}},"targetSelectionRange":{"start":{"line":0,"character":0},"end":{"line":98,"character":0}}},"kind":"cargo","args":{"environment":{"RUSTC_TOOLCHAIN":"/Users/someonetoignore/.rustup/toolchains/1.85-aarch64-apple-darwin"},"cwd":"/Users/someonetoignore/work/ec4rs","overrideCargo":null,"workspaceRoot":"/Users/someonetoignore/work/ec4rs","cargoArgs":["test","--package","ec4rs","--lib"],"executableArgs":["tests::ecparser","--show-output"]}}]}}} ``` This data is passed as is to VSCode task processor, registered in https://github.com/rust-lang/rust-analyzer/blob/60cd01864a2d0d6e2231becee402ba063b59dfa1/editors/code/src/main.ts#L195 where it gets eventually executed as a VSCode's task, all handled by the r-a's extension code. rust-analyzer does not declare server capabilities for such tasks, and has no `workspace/executeCommand` handle, and Zed needs an interactive terminal output during the test runs, so we cannot ask rust-analyzer more than these descriptions. Given that Zed needs experimental capabilities set to get these lens: https://github.com/rust-lang/rust-analyzer/blob/60cd01864a2d0d6e2231becee402ba063b59dfa1/editors/code/src/client.ts#L318-L327 and that the lens may contain other odd tasks (e.g. docs opening or references lookup), a protocol extension to get runnables looks more preferred than lens: https://rust-analyzer.github.io/book/contributing/lsp-extensions.html#runnables This PR does not include any work on this direction, limiting to the general code lens support. As a proof of concept, it's possible to get the lens and even attempt to run it, to no avail:  Release Notes: - Used `textDocument/codeLens` data in the actions menu when applicable
Commit: | 55585e6 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of 5268e7431513b5fdcb5e65272d11db1aee683361
Commit: | 7fcc3d1 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
sibling of 8d6abf65375089b2aa2b1c4536802639c26cce23
Commit: | 766b1a1 | |
---|---|---|
Author: | Alex Ozer | |
Committer: | GitHub |
sibling of 0ec15d6b02f4c0775c11e0f5dc3be6959ce7a75a
Commit: | 7fc05b3 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
sibling of c8b782d87055f9024095b6cc13d5721f529be4bc
Commit: | 91c2099 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Support word-based completions (#26410) Closes https://github.com/zed-industries/zed/issues/4957 https://github.com/user-attachments/assets/ff491378-376d-48ec-b552-6cc80f74200b Adds `"completions"` language settings section, to configure LSP and word completions per language. Word-based completions may be turned on never, always (returned along with the LSP ones), and as a fallback if no LSP completion items were returned. Future work: * words are matched with the same fuzzy matching code that the rest of the completions are This might worsen the completion menu's usability even more, and will require work on better completion sorting. * completion entries currently have no icons or other ways to indicate those are coming from LSP or from word search, or from something else * we may work with language scopes more intelligently, group words by them and distinguish during completions Release Notes: - Supported word-based completions --------- Co-authored-by: Max Brunsfeld <max@zed.dev>
Commit: | 828dd3c | |
---|---|---|
Author: | Mikayla Maki | |
Committer: | Mikayla Maki |
Add git init button (#26522) Because why not Release Notes: - N/A
Commit: | 7ef10d5 | |
---|---|---|
Author: | Julia Ryan | |
Committer: | GitHub |
sibling of 2b94a35aaabc630ce6d89394085efb38935c58e8
Commit: | 1187e3d | |
---|---|---|
Author: | Mikayla Maki | |
Committer: | GitHub |
Add git init button (#26522) Because why not Release Notes: - N/A
Commit: | 036c123 | |
---|---|---|
Author: | Mikayla Maki | |
Committer: | GitHub |
Add git init button (#26522) Because why not Release Notes: - N/A
Commit: | 0e13906 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
sibling of ff1d78df3bf7ab8ef9e28c17a843a16d3b0126a2
Commit: | f4028ef | |
---|---|---|
Author: | gcp-cherry-pick-bot[bot] | |
Committer: | GitHub |
Unwind deprecated permalinks code (cherry-pick #26395) (#26426) Cherry-picked Unwind deprecated permalinks code (#26395) Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Commit: | c37d6d5 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
Unwind deprecated permalinks code (#26395) Release Notes: - N/A
Commit: | d81e768 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Use proper order of `Completion::Source` field to have sane default (#26416) Follow-up of https://github.com/zed-industries/zed/pull/26300 Release Notes: - N/A
Commit: | cad153a | |
---|---|---|
Author: | Nate Butler | |
Committer: | GitHub |
sibling of 976fc3ee977cdd6c395c6ea2211291b9fca3f2f7
Commit: | 4cfad48 | |
---|---|---|
Author: | Conrad Irwin | |
Committer: | GitHub |
sibling of 3891381d3e871838c78f0aa9e119bf49234d7bd4
Commit: | 8a7a78f | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Avoid modifying the LSP message before resolving it (#26347) Closes https://github.com/zed-industries/zed/issues/21277 To the left is current Zed, right is the improved version. 3rd message, from Zed, to resolve the item, does not have `textEdit` on the right side, and has one on the left. Seems to not influence the end result though, but at least Zed behaves more appropriate now. <img width="1727" alt="image" src="https://github.com/user-attachments/assets/ca1236fd-9ce2-41ba-88fe-1f3178cdcbde" /> Instead of modifying the original LSP completion item, store completion list defaults and apply them when the item is requested (except `data` defaults, needed for resolve). Now, the only place that can modify the completion items is this method, and Python impl seems to be the one doing it: https://github.com/zed-industries/zed/blob/ca9c3af56ffb05a789c2b946489f4406af2c8281/crates/languages/src/python.rs#L182-L204 Seems ok to leave untouched for now. Release Notes: - Fixed LSP completion items modified before resolve request
Commit: | 103ad63 | |
---|---|---|
Author: | Kirill Bulatov | |
Committer: | GitHub |
Refactor Completions to allow non-LSP ones better (#26300) A preparation for https://github.com/zed-industries/zed/issues/4957 that pushes all LSP-related data out from the basic completion item, so that it's possible to create completion items without any trace of LSP clearly. Release Notes: - N/A