3b5d7d7
Minor cleanups
Richard Feldman created
3b5d7d7
Minor cleanups
Richard Feldman created
91f0113
Introduce DEBUG_ALLOW_UNPUBLISHED_AUTO_EXTENSIONS
Richard Feldman created
5fa5226
Remove llm_provider_authenticate()
Richard Feldman created
ae94007
Merge remote-tracking branch 'origin/main' into migrate-provider-extensions
Richard Feldman created
25d7448
Rework edit prediction CLI (#44562)
This PR restructures the commands of the Edit Prediction CLI (now called `ep`), to support some flows that are important for the training process: * generating zeta2 prompt and expected output, without running predictions * scoring outputs that are generated by a system other than the production code (to evaluate the model during training) To achieve this, we've restructured the CLI commands so that they all take as input, and produce as output, a consistent, uniform data format: a set of one or more `Example` structs, expressible either as the original markdown format, or as a JSON lines. The `Example` struct starts with the basic fields that are in human-readable eval format, but contain a number of optional fields that are filled in by different steps in the processing pipeline (`context`, `predict`, `format-prompt`, and `score`). ### To do * [x] Adjust the teacher model output parsing to use the full buffer contents * [x] Move udiff to cli * [x] Align `format-prompt` with Zeta2's production code * [x] Change score output to assume same provider * [x] Move pretty reporting to `eval` command * [x] Store cursor point in addition to cursor offset * [x] Rename `edit_prediction_cli2` -> `edit_prediction_cli` (nuke the old one) Release Notes: - N/A --------- Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev> Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Oleksiy Syvokon , Agus Zubiaga , and Ben Kunkle created
37077a8
git: Avoid calling `git help -a` on every commit (#44586)
Updates #43993 Release Notes: - N/A
Cole Miller created
7c4a85f
ci: Explicitly set git committer information in protobuf check (#44582)
This should hopefully fix the flakes for good. Release Notes: - N/A
Finn Evers created
d21628c
Revert "Increase askpass timeout for git operations (#42946)" (#44578)
This reverts commit a74aac88c95738b1e1c95ac583b116a253920fbf. cc @11happy, we need to do a bit more than just running `git hook pre-push` before pushing, as described [here](https://github.com/zed-industries/zed/pull/42946#issuecomment-3550570438). Right now this is also running the pre-push hook twice. Release Notes: - N/A
Cole Miller created
9e62850
git: Add tree view support to Git Panel (#44089)
Closes #35803 This PR adds tree view support to the git panel UI as an additional setting and moves git entry checkboxes to the right. Tree view only supports sorting by paths behavior since sorting by status can become noisy, due to having to duplicate directories that have entries with different statuses. ### Tree vs Flat View <img width="358" height="250" alt="image" src="https://github.com/user-attachments/assets/c6b95d57-12fc-4c5e-8537-ee129963e50c" /> <img width="362" height="152" alt="image" src="https://github.com/user-attachments/assets/0a69e00f-3878-4807-ae45-65e2d54174fc" /> #### Architecture changes Before this PR, `GitPanel::entries` represented all entries and all visible entries because both sets were equal to one another. However, this equality isn't true for tree view, because entries can be collapsed. To fix this, `TreeState` was added as a logical indices field that is used to filter out non-visible entries. A benefit of this field is that it could be used in the future to implement searching in the GitPanel. Another significant thing this PR changed was adding a HashMap field `entries_by_indices` on `GitPanel`. We did this because `entry_by_path` used binary search, which becomes overly complicated to implement for tree view. The performance of this function matters because it's a hot code path, so a linear search wasn't ideal either. The solution was using a hash map to improve time complexity from O(log n) to O(1), where n is the count of entries. #### Follow-ups In the future, we could use `ui::ListItem` to render entries in the tree view to improve UI consistency. Release Notes: - Added tree view for Git panel. Users are able to switch between Flat and Tree view in Git panel. --------- Co-authored-by: Anthony Eid <anthony@zed.dev> Co-authored-by: Remco Smits <djsmits12@gmail.com>
Xipeng Jin , Anthony Eid , and Remco Smits created
3a84ec3
Introduce MVP Dev Containers support (#44442)
Partially addresses #11473 MVP of dev containers with the following capabilities: - If in a project with `.devcontainer/devcontainer.json`, a pop-up notification will ask if you want to open the project in a dev container. This can be dismissed: <img width="1478" height="1191" alt="Screenshot 2025-12-08 at 3 15 23 PM" src="https://github.com/user-attachments/assets/ec2e20d6-28ec-4495-8f23-4c1d48a9ce78" /> - Similarly, if a `devcontainer.json` file is in the project, you can open a devcontainer (or go the devcontainer.json file for further editing) via the `open remote` modal: https://github.com/user-attachments/assets/61f2fdaa-2808-4efc-994c-7b444a92c0b1 *Limitations* This is a first release, and comes with some limitations: - Zed extensions are not managed in `devcontainer.json` yet. They will need to be installed either on host or in the container. Host + Container sync their extensions, so there is not currently a concept of what is installed in the container vs what is installed on host: they come from the same list of manifests - This implementation uses the [devcontainer CLI](https://github.com/devcontainers/cli) for its control plane. Hence, it does not yet support the `forwardPorts` directive. A single port can be opened with `appPort`. See reference in docs [here](https://github.com/devcontainers/cli/tree/main/example-usage#how-the-tool-examples-work) - Editing devcontainer.json does not automatically cause the dev container to be rebuilt. So if you add features, change images, etc, you will need to `docker kill` the existing dev container before proceeding. - Currently takes a hard dependency on `docker` being available in the user's `PATH`. Release Notes: - Added ability to Open a project in a DevContainer, provided a `.devcontainer/devcontainer.json` is present --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
KyleBarton , Danilo Leal , and Danilo Leal created
8f425a1
Fix unused arg
Richard Feldman created
743c414
Refresh models list after successful auth
Richard Feldman created
0fe335e
Revise Copilot auth
Richard Feldman created
a61bf33
Fix label copy for file history menu items (#44569)
Buttons and menu items should preferably always start with an infinitive verb that describes what will happen when you trigger them. Instead of just "File History", we should say "_View_ File History". Release Notes: - N/A
Danilo Leal created
36b95aa
Debugging extension loading timing and fallbacks
Richard Feldman created
b2df70a
Clean up extension markdown for settings
Richard Feldman created
d832012
Use shell to launch MCP and ACP servers (#42382)
`npx`, and any `npm install`-ed programs, exist as batch scripts/PowerShell scripts on the PATH. We have to use a shell to launch these programs. Fixes https://github.com/zed-industries/zed/issues/41435 Closes https://github.com/zed-industries/zed/pull/42651 Release Notes: - windows: Custom MCP and ACP servers installed through `npm` now launch correctly. --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
John Tur and Lukas Wirth created
8ee85ea
vim: Remove `ctrl-6` keybinding alias for `pane::AlternateFile` (#44560)
Closes #ISSUE
It seems that `ctrl-6` is used exclusively as an alias, as can be seen
in the [linked section of the vim
docs](https://vimhelp.org/editing.txt.html#CTRL-%5E) from the initial PR
that added it. This however conflicts with the `ctrl-{n}` bindings for
`pane::ActivateItem` on macOS, leading to confusing file selection when
`ctrl-6` is pressed.
Release Notes:
- vim(BREAKING): Removed a keybinding conflict between the default macOS
bindings for `pane::ActivateItem` and the `ctrl-6` alias
for`pane::AlternateFile` which is primarily bound to `ctrl-^`. `ctrl-6`
is no longer treated as an alias for `ctrl-^` in vim mode. If you'd like
to restore `ctrl-6` as a binding for `pane::AlternateFile`, paste the
following into your `keymap.json` file:
```
{
"context": "VimControl && !menu",
"bindings": {
"ctrl-6": "pane::AlternateFile"
}
}
```
Ben Kunkle created
5b309ef
acp: Better telemetry IDs for ACP agents (#44544)
We were defining these in multiple places and also weren't leveraging the ids the agents were already providing. This should make sure we use them consistently and avoid issues in the future. Release Notes: - N/A
Ben Brandt created
326ebb5
git: Fix failing commits when hook command is not available (#43993)
Mayank Verma created
f5babf9
agent_ui: Fix `project path not found` error when pasting code from other project (#44555)
The problem with inserting the absolute paths is that the agent will try to read them. However, we don't allow the agent to read files outside the current project. For now, we will only insert the crease in case the code that is getting pasted is from the same project Release Notes: - Fixed an issue where pasting code into the agent panel from another window would show an error
Bennet Bo Fenner created
f48aa25
Bump Zed to v0.218 (#44551)
Release Notes: - N/A
Joseph T. Lyons created
4106c8a
Disable OmniSharp by default for C# files (#44427)
In preparation for https://github.com/zed-extensions/csharp/pull/11. Do not merge before that PR is published. Release Notes: - Added support for Roslyn in C# files. Roslyn will now be the default language server for C#
Finn Evers created
21f7e6a
commit view: Fix layout shift while loading commit (#44548)
Fixes a few cases where the commit view would layout shift as the diff loaded. This was caused by: - Adding the commit message buffer after all the diff files - Using the gutter dimensions from the last frame for the avatar spacing Release Notes: - commit view: Fix layout shift while loading commit --------- Co-authored-by: MrSubidubi <dev@bahn.sh>
Agus Zubiaga and MrSubidubi created
dd43163
editor: Ensure completion menu scrollbar does not become stale (#44536)
Only by reusing the previous scroll handle, we can ensure that both the scrollbar remains usable and also that the scrollbar does not flicker. Previously, the scrollbar would hold the reference to an outdated handle. I tried invalidating the handle the scrollbar uses, but that leads to flickering, which is worse. Hence, let's just reuse the scrollbar here. Release Notes: - Fixed an issue where the scrollbar would become stale in the code completions menu after the items were updated.
Finn Evers created
511e51c
text: Replace some more release panics with graceful fallbacks (#44542)
Fixes ZED-3P7 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
0a816cb
edit prediction: Exclude whole-module definitions from context (#44414)
For qualified identifiers we end up requesting both the definition of the module and the item within it, but we only want the latter. At the moment, we can't skip the request altogether, because we can't tell them apart from the highlights query. However, we can tell from the target range length, because it should be small for individual definitions as it only covers their name, not the whole body. Release Notes: - N/A
Agus Zubiaga created
b1333b5
editor: Improve performance of `create_highlight_endpoints` (#44521)
We reallocate quite a bunch in this codepath even though we don't need to, we already roughly know what number of elements we are working with so we can reduce the required allocations to some degree. This also reduces the amount of anchor comparisons required. Came up in profiling for https://github.com/zed-industries/zed/issues/44503 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
30597a0
project_panel: Fix create entry with trailing dot duplicating on windows (#44524)
Release Notes: - Fixed an issue where creating a file through the project panel with a trailing dot in its name would duplicate the entries with and without the dot Co-authored by: Smit Barmase <smit@zed.dev>
Lukas Wirth created
a8e2dc2
Use agent name from extension (#44496)
Previously this rendered `mistral-vibe` and not `Mistral Vibe`: <img width="242" height="199" alt="Screenshot 2025-12-09 at 2 52 48 PM" src="https://github.com/user-attachments/assets/f85cbf20-91d1-4c05-8b3a-fa5b544acb1c" /> Release Notes: - Render agent display names from extension in menu
Richard Feldman created
fd2094f
Add inline prompt rating (#44230)
TODO: - [x] Add inline prompt rating buttons - [ ] Hook this into our other systems Release Notes: - N/A
Mikayla Maki created
22f1655
Add history to the command palette (#44517)
Co-Authored-By: Claude <ai+claude@zed.dev> Closes #ISSUE Release Notes: - Added history to the command palette (`up` will now show recently executed commands). This is particularly helpful in vim mode when you may mistype a complicated command and want to re-run a slightly different version thereof. --------- Co-authored-by: Claude <ai+claude@zed.dev>
Conrad Irwin and Claude created
7cbe25f
vim: Fix editor paste not using clipboard in visual mode (#44347)
Closes #44178 Release Notes: - Fixed editor paste not using clipboard when in Vim visual mode
Mayank Verma created
728f09f
vim: Fix buffer navigation with non-Editor items (#44350)
Closes #44348 Release Notes: - Fixed buffer navigation in Vim mode with non-Editor items
Mayank Verma created
4353b8e
Fix `--user-data-dir` (#44235)
Closes #40067 Release Notes: - The `--user-data-dir` flag now works on Windows and Linux, as well as macOS if you pass `--foreground`. --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Julia Ryan and Lukas Wirth created
736a712
Handle response error for ashpd fixing login edgecases (#44502)
Release Notes: - Fixed login fallbacks on Linux Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
David Kleingeld and Julia Ryan created
36293d7
Debugging
Richard Feldman created
3180f44
lsp: Do not drop lsp buffer handle from editor when a language change leads to buffer having a legit language (#44469)
Fixes a bug that led to us unnecessarily restarting a language server when we were looking at a single file of a given language. Release Notes: - Fixed a bug that led to Zed sometimes starting an excessive amount of language servers
Piotr Osiewicz created
3ae3e1f
Don't use a heuristic for icon path
Richard Feldman created
5dd8561
Fix DeepSeek Reasoner tool-call handling and add reasoning_content support (#44301)
## Closes #43887 ## Release Notes: ### Problem DeepSeek's reasoning mode API requires `reasoning_content` to be included in assistant messages that precede tool calls. Without it, the API returns a 400 error: ``` Missing `reasoning_content` field in the assistant message at message index 2 ``` ### Added/Fixed/Improved - Add `reasoning_content` field to `RequestMessage::Assistant` in `crates/deepseek/src/deepseek.rs` - Accumulate thinking content from `MessageContent::Thinking` and attach it to the next assistant/tool-call message - Wire reasoning content through the language model provider in `crates/language_models/src/provider/deepseek.rs` ### Testing - Verified with DeepSeek Reasoner model using tool calls - Confirmed reasoning content is properly included in API requests Fixes tool-call errors when using DeepSeek's reasoning mode. --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Peter König and Ben Brandt created
e5f1fc7
Fix some regressions
Richard Feldman created
a4f6076
Migrate to extensions with fallback to builtin
Richard Feldman created
bfab0b7
agent_ui: Fix panic in message editor (#44493)
Release Notes: - N/A
Bennet Bo Fenner created
04d9200
Remove reqwest dependency from gpui (#44424)
This was pulling in tokio which is pretty unfortunate. The solution is to do the `reqwest::Form` to `http::Reqwest` conversion in the reliability crate instead of our http client wrapper. Release Notes: - N/A
Julia Ryan created
20fa998
Revert "gpui: Update link to Ownership and data flow section" (#44492)
While this fixes the link in the Readme it breaks the one in the docs which is the more important one (we should probably just duplicate the readme and not include it into gpui.rs but that is annoying).
David Kleingeld created
43726b2
Restore ai_anthropic icon svg
Richard Feldman created
94980ff
Reduce duplication in compute_configured_providers
Richard Feldman created
22cc731
Remove some duplication from icon logic
Richard Feldman created
d939637
Eliminate more code duplication
Richard Feldman created
48002be
Use | instead of code duplication
Richard Feldman created