610cc1b
edit prediction cli: Cargo-style progress output (#44675)
Click to expand commit body
Release Notes: - N/A
Agus Zubiaga created
610cc1b
edit prediction cli: Cargo-style progress output (#44675)
Release Notes: - N/A
Agus Zubiaga created
a07ea1a
util: Avoid redundant Arc allocation in SanitizedPath::from_arc (#44479)
Release Notes: - N/A Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
e03fa11
remote: Remove unnecessary and incorrect single quote in `MasterProcess` (#44697)
Closes https://github.com/zed-industries/zed/issues/43992 Release Notes: - Fixed remoting not working on some linux and mac systems
Lukas Wirth created
17db7b0
Add keymap field to bug report issue template (#44564)
Update the issue template used for "Report a bug" to include a field specifically for the user's keymap file, as we've seen multiple cases where we end up asking the users for their custom keymap, to ensure that they're not overriding existing defaults. Release Notes: - N/A
Dino created
1afe294
Move servers back from the background thread (#44696)
Partial revert of https://github.com/zed-industries/zed/pull/44631 With this and `sccache` enabled, I get <img width="3456" height="1096" alt="image" src="https://github.com/user-attachments/assets/937760fb-8b53-49f8-ae63-4df1d31b292b" /> and r-a infinitely hangs waiting on this. Release Notes: - N/A
Kirill Bulatov created
a8aa762
util: Fix shell builder quoting regressions (#44685)
Follow up to https://github.com/zed-industries/zed/pull/42382 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a66854e
commit view: Reuse avatar asset (#44554)
Agus Zubiaga created
12073e1
Fix missing buffer font features in Blame UI, Hover Popover and Markdown Preview (#44657)
- Fix missing font features in `git_ui::blame_ui::GitBlameRenderer.render_blame_entry` - Fix missing buffer font features in `markdown_preview::markdown_renderer` - Update the way that the markdown style is built for hover popovers so that, for code blocks, the buffer font features are used. - Introduce `gpui::Styled.font_features` to allow callers to also set the font's features, similar to how `gpui::Styled.font_family` already exists. Relates to #44209 Release Notes: - Fixed wrong font features in Blame UI, Hover Popover and Markdown Preview
Dino created
1186b50
git_ui: Fix commit and amend not working via keybinds in commit modal (#44690)
Closes #41567 We were using the git panel editor to check the focus where the commit modal has its only editor. Release Notes: - Fixed an issue where commit and amend actions wouldn’t trigger when using keybinds in the commit modal.
Smit Barmase created
65130a9
windows: Fix more VSCode keybinds (#44684)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
23d18fd
git_ui: Always use latest commit message on amend (#44553)
Update the behavior of `git::Amend` to ensure that the latest head commit message, if available, is always loaded into the commit message editor, regardless of its state. The previous text, if any, is now also restored after the amend is finished. - Update `FakeGitRepository.show` to include a message in the returned `CommitDetails` so we can assert that this specific commit message is set in the commit message editor. - Add default implementation for `FakeGitRepository.commit` and `FakeGitRepository.run_hook` to ensure that tests are able to run and don't panic on `unimplemented!()` - Refactor `GitPanel.load_last_commit_message_if_empty` to `GitPanel.load_last_commit_message`, ensuring that the head commit message is always loaded, regardless of whether the commit message editor is empty. - Update `GitPanel.commit_changes` to ensure that the pending amend state is only updated if the editor managed to actually commit the changes. This also ensures that we don't restore the commit message editor's contents when amending a commit, before the amend is actually processed. - Update `CommitModal.amend`, removing the call to `GitPanel.set_amend_pending` as that is now handled by the background task created in `GitPanel.commit_changes`. - Split the `commit` and `amend` methods from the event handlers so that the methods can be called directly, as is now being done by `CommitModal.on_commit` and `CommitModal.on_amend`. Release Notes: - Updated the `git: amend` command to always load the latest head commit message, and to restore any previously entered text in the commit message editor after the amend completes
Dino created
332c0d0
Terminal regex perf improvements (#44679)
Closes #44510 Release Notes: - Improve performance of terminal link matching even more
Conrad Irwin created
b871130
Restructure concurrency in EP CLI to allow running many examples in big rust repos (#44673)
Release Notes: - N/A
Max Brunsfeld created
5af73dc
fix some test cases
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Cole Miller and cameron created
0a1e5f9
Allow triggering after release workflow manually (#44671)
Release Notes: - N/A
Conrad Irwin created
8d0fff6
rust: Change cwd of `cargo run`-esque tasks to use package root, not dirname of current file as cwd (#44672)
This also applies to `cargo clean` one. Closes #20873 Release Notes: - rust: Changed cwd of tasks that spawn a binary target to the root of a current package (which used to be a directory of the current source file).
Piotr Osiewicz created
717d898
Show an underlying reason on file opening (#44664)
Based on the debug attempt from https://github.com/zed-industries/zed/issues/44370 Release Notes: - N/A
Kirill Bulatov created
1cd7563
Add ep distill command, for generating edit prediction training examples (#44670)
Release Notes: - N/A --------- Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev> Co-authored-by: Agus Zubiaga <agus@zed.dev>
Max Brunsfeld , Oleksiy Syvokon , and Agus Zubiaga created
fc6ca38
edit prediction cli: Improve language server reliability (#44666)
We weren't waiting for ALL language servers of a buffer to start, only the first one. Release Notes: - N/A
Agus Zubiaga created
1029a8f
Add support for manual spans, expand instrumentation (#44663)
Release Notes: - N/A --------- Co-authored-by: Cameron <cameron@zed.dev>
Yara 🏳️⚧️ and Cameron created
07748b7
Add scrolling functionality to markdown preview mode (#44585)
Closes #21324 Adds four new commands: - `markdown::MoveUp`, `markdown::MoveDown` - these scroll up and down in markdown preview mode, by no more than the height of a large headline. - `markdown::MoveUpByItem`, and `markdown::MoveDownByItem` - these scroll up and down by the height of the item at the top of the markdown preview window. So headlines and large codeblocks, for instance, scroll further than individual paragraph lines. Also attempts to create sensible defaults: `down` -> `markdown::ScrollDown` `up` -> `markdown::ScrollUp` `alt-down` -> `markdown::ScrollDownByItem` `alt-up` -> `markdown::ScrollUpByItem` And in Vim: `ctrl-u` -> `markdown::ScrollPageUp` `ctrl-d` -> `markdown::ScrollPageDown` `ctrl-e` -> `markdown::ScrollDown` `ctrl-y` -> `markdown::ScrollUp` Release Notes: - Added commands `markdown::ScrollUp`, `markdown::ScrollDown`, `markdown::ScrollUpByItem`, and `markdown::ScrollDownByItem` - Changed commands `markdown::MovePageUp` to `markdown::ScrollPageUp` and `markdown::MovePageDown` to `markdown::ScrollPageDown`
KyleBarton created
37f2ac2
edit prediction cli: Skip worktree scan (#44658)
Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Agus Zubiaga and Max Brunsfeld created
b5a0a33
Add GPT-5.2 support (#44656)
<img width="429" height="188" alt="Screenshot 2025-12-11 at 3 45 26 PM" src="https://github.com/user-attachments/assets/fe9f1b86-7268-4c63-a8c2-75ac671012c9" /> Release Notes: - Added GPT-5.2 support when using your own OpenAI key
Richard Feldman created
eb7da26
Disable word completions in markdown and plaintext files (#44654)
Reformat on save had also added trailing commas. Release Notes: - Disable word completions in plaintext and markdown files, see https://zed.dev/docs/configuring-zed?highlight=word%20completio#words on how to enable it back in the language settings
Kirill Bulatov created
9c099e7
Update file vs folder open keymaps on macos/linux to match windows (#44598)
Closes #44597 Matches what was done here: https://github.com/zed-industries/zed/pull/44409/commits/55dfbaca685fc466efedace55527b9d12ab67950#diff-cc832e840d61526768bb4acec7645a71e8b160a65a30e7ce9e9c51762b58199a Release Notes: - Standardize Cmd-O = open file, Cmd-K Cmd-O = open folder across operating systems. --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Zachiah Sawyer and Lukas Wirth created
7669b05
image viewer: Make image metadata not a button (#44651)
Tiny thing I noticed; the image metadata showing on the status bar was previously a button, but given that nothing happens when you click it, it doesn't need to be one. Having hover, active, and all other states was confusing. Release Notes: - N/A
Danilo Leal created
2098b67
edit prediction: Respect enabled settings when refreshing from diagnostics (#44640)
Release Notes: - N/A
Agus Zubiaga created
5a6198c
language: Spawn language servers on background threads (#44631)
Closes https://github.com/zed-industries/zed/issues/39056 Leverages a new `await_on_background` API that spawns the future on the background but blocks the current task, allowing to borrow from the surrounding scope. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
cda78c1
git: Make permalinks aware of current diffs (#41915)
Addressing #22546, we want git permalinks to be aware of the current changes within the buffer. This change calculates how many lines have been added/deleted between the start and end of the selection and uses those values to offset the selection. This is done within `Editor::get_permalink_to_line` so that it can be passed to any git_store. Example: <img width="284" height="316" alt="image" src="https://github.com/user-attachments/assets/268043a0-2fc8-41c1-b094-d650fd4e0ae0" /> Where this selections permalink would previously return L3-L9, it now returns L2-L7. Release Notes: - git: make permalinks aware of current diffs Closes #22546 --- This is my first PR into the zed repository so very happy for any feedback on how I've implemented this. Thanks!
Siame Rafiq created
f437867
editor: Fix auto-indent cases in Markdown (#44616)
Builds on https://github.com/zed-industries/zed/pull/40794 and https://github.com/zed-industries/zed/pull/44381 - Fixes the case where creating a new line inside a nested list puts the cursor correctly under that nested list item. - Fixes the case where typing a new list item at the expected indent no longer auto-indents or outdents incorrectly. Release Notes: - Fixed an issue in Markdown where new list items weren’t respecting the expected indentation on type.
Smit Barmase created
ecb8d3d
Revert "Multiple priority scheduler" (#44637)
Reverts zed-industries/zed#44575
Yara 🏳️⚧️ created
95dbc0e
Multiple priority scheduler (#44575)
Improves the scheduler by allowing tasks to have a set priority which will significantly improve responsiveness. Release notes: - N/A --------- Co-authored-by: Yara <git@yara.blue>
localcc and Yara created
8572c19
Improve TS/TSX/JS syntax highlighting for parameters, types, and punctuation (#44532)
Relands https://github.com/zed-industries/zed/pull/43437 Release Notes: - Refined syntax highlighting in JavaScript and TypeScript for better visual distinction of types, parameters, and JSDoc elements --------- Co-authored-by: MrSubidubi <dev@bahn.sh> Co-authored-by: Clay Tercek <30105080+claytercek@users.noreply.github.com>
Gaauwe Rombouts , MrSubidubi , and Clay Tercek created
045c145
util: Honor shell args for shell env fetching on windows (#44615)
Closes https://github.com/zed-industries/zed/issues/40464 Release Notes: - Fixed shell environment fetching on windows discarding specified arguments in settings
Lukas Wirth created
0ff3b68
windows: Fix incorrect cursor insertion keybinds (#44608)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a6b9524
gpui: Retain maximized and fullscreen state for new windows derived from previous windows (#44605)
Release Notes: - Fixed new windows underflowing the taskbar on windows - Improved new windows spawned from maximized or fullscreened windows by copying the maximized and fullscreened states
Lukas Wirth created
91f1481
work on randomized test
Cole Miller created
7ed5d42
git: Fix git hook hang with `prek` (#44212)
Fix git hook hang when using with `prek`. Can see [comments](https://github.com/zed-industries/zed/issues/44057#issuecomment-3606837089), this is easy test, should using release build, debug build sometimes not hang. The issue existing long time, see issue #37293 , and then in commit #42239 this issue had fixed. but in commit #43285 broken again. So I reference the implementation in #42239, then this code work. I MUST CLAIM, I really don't known what happend, and why this code work. But it worked. Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
CharlesChen0823 and Cole Miller created
c705ce7
wip
Cole Miller 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
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
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