e3b13b5
title_bar: Merge Linux only code into `platform_linux` (#32401)
Click to expand commit body
Release Notes: - N/A
Jason Lee created
e3b13b5
title_bar: Merge Linux only code into `platform_linux` (#32401)
Release Notes: - N/A
Jason Lee created
2c5d2a5
Do not skip punctuation characters with `alt-arrow` if next character is `\n` (#32368)
Closes #32356 Release Notes: - N/A
Tommy D. Rossi created
3485b77
Update GitHub Issue Templates (June 2025) (#32399)
- Remove git/edit predictions templates - Rename Agent to AI related (include edit predictions, copilot, etc) - Other minor adjustments Release Notes: - N/A
Peter Tripp created
6801b91
context_server: Make notifications type safe (#32396)
Follow up to #32254 Release Notes: - N/A
Bennet Bo Fenner created
3853e83
git_ui: Improve error handling in commit message generation (#29005)
After and Before video of the issue and solution. https://github.com/user-attachments/assets/40508f20-5549-4b3d-9331-85b8192a5b5a Closes #27319 Release Notes: - Provide Feedback on commit message generation error --------- Signed-off-by: Umesh Yadav <umesh4257@gmail.com> Co-authored-by: Cole Miller <cole@zed.dev>
Umesh Yadav and Cole Miller created
047a7f5
Decrease the size of the branch picker icon (#32387)
<img width="323" alt="image" src="https://github.com/user-attachments/assets/0060eaf3-35f9-4f0f-b9b6-e26ffad853c2" /> <img width="323" alt="image" src="https://github.com/user-attachments/assets/57b66dae-2a74-401f-82c1-8fc730a98fb0 " /> Release Notes: - Adjusted size of the icon inside the title bar's branch picker when that's turned on.
Ben Hamment created
8332e60
language: Don't add final newline on format for an empty buffer (#32320)
Closes #32313 Release Notes: - Fixed newline getting added on format to empty files
Evan Simkowitz created
afab4b5
agent: Add tests for thread serialization code (#32383)
This adds some unit tests to ensure that the `update(...)`/migration path to the latest versions works correctly Release Notes: - N/A
Bennet Bo Fenner created
0cb7dd2
git_panel: Persist dock size (#32111)
Closes #32054 The dock size for the git panel wasn't being persisted across Zed restarts. This was because the git panel lacked the serialization pattern used by other panels. Please let me know if you have any sort of feedback or anything, as i'm still trying to learn :] Release Notes: - Fixed Git Panel dock size not being remembered across Zed restarts ## TODO - [x] Update/fix tests that may be broken by the GitPanel constructor changes
vipex created
387281f
project_panel: Add `hide_root` when only one folder in the project (#25289)
Closes #24188 Todo: - [x] Hide root when only one worktree - [x] Basic tests - [x] Docs - [x] Fix `select_first` + tests - [x] Fix auto collapse dir + tests - [x] Fix file / dir creation + tests - [x] Fix root rename case | Show root | Hide root | |--------|--------| | <img width="272" alt="Screenshot 2025-02-20 alle 22 35 55" src="https://github.com/user-attachments/assets/361d93c7-e1ad-4419-a5f4-be62c9632807" /> | <img width="269" alt="Screenshot 2025-02-20 alle 22 36 11" src="https://github.com/user-attachments/assets/62011f76-a24b-4297-9734-f5c3b9f75760" /> | | <img width="275" alt="Screenshot 2025-02-20 alle 22 56 33" src="https://github.com/user-attachments/assets/77e7e6e6-3dfe-4e88-b4b0-b620cb809d2b" /> | <img width="267" alt="Screenshot 2025-02-20 alle 22 55 53" src="https://github.com/user-attachments/assets/fa1099c8-7ed0-45ef-a7cf-aeb54b8283b1" /> | Release Notes: - Added support to hide the root entry of the Project Panel when there’s only one folder in the project. This can be enabled by setting `hide_root` to `true` in the `project_panel` config. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Angelk90 and Smit Barmase created
72bcb0b
chore: Fix warnings for Rust 1.89 (#32378)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
4ff41ba
context_server: Update types to reflect latest protocol version (`2025-03-26`) (#32377)
This updates the `types.rs` file to reflect the latest version of the MCP spec. Next up is making use of some of these new capabilities. Would also be great to add support for [Streamable HTTP Transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) Release Notes: - N/A
Bennet Bo Fenner created
16e901f
docs: Remove reference to outdated Gemini models (#32379)
Release Notes: - N/A
Bennet Bo Fenner created
54b4587
Add bound checks for resizing right dock (#32246)
Closes #30293 [Before](https://github.com/user-attachments/assets/0b95e317-391a-4d90-ba78-ed3d4f10871d) | [After](https://github.com/user-attachments/assets/23002a73-103c-4a4f-a7a1-70950372c9d9) Release Notes: - Fixed right panel expanding in backwards, when dragged out of its intended bounds, by adding a bounds check to ensure its size never gets to high.
smaster created
1fe1011
Add GitHub token environment variable support for Copilot (#31392)
Add support for environment variables as authentication alternatives to OAuth flow for Copilot. Closes #31172 We can include the token in HTTPS request headers to hopefully resolve the rate limiting issue in #9483. This change will be part of a separate PR. Release Notes: - Added support for manually providing an OAuth token for GitHub Copilot Chat by assigning the GH_COPILOT_TOKEN environment variable --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Clauses Kim and Bennet Bo Fenner created
78fd268
gemini: Fix edge case when transforming MCP tool schema (#32373)
Closes #31766 Release Notes: - Fixed an issue where some MCP tools would not work when using Gemini
Bennet Bo Fenner created
da9e958
ruby: Update documentation (#32345)
Hi! This pull request updates the Ruby extension documentation for [the upcoming v0.9.0 upgrade](https://github.com/zed-extensions/ruby/pull/106): - Added documentation for two newly added language servers: `sorbet` and `steep`. - Updated documentation on using the `ZED_CUSTOM_RUBY_TEST_NAME` symbol for tasks. Thanks! Release Notes: - N/A
Vitaly Slobodin created
3908ca9
docs: Add JavaScript configuration to the example setup of Deno (#32104)
When using Deno with the example configuration as described here, duplicate lsp information is displayed in Javascript files. This pull request solves that issue by adding Javascript to the configuration. Release Notes: - Improve LSP support when using Deno with Javascript using the default configuration.
dannybunschoten created
6fe58a2
Allow to run dynamic TypeScript and JavaScript tests (#31499)
First of all thank you for such a fast editor! I realized that the existing support for detecting runnable test cases for typescript/javascript is not full. Meanwhile I can run most of test by pressing "run button": <img width="713" alt="image" src="https://github.com/user-attachments/assets/e8bb1cb1-f0a5-4eb1-b9a6-7188a9fa47ae" /> I can't run dynamic tests: <img width="703" alt="image" src="https://github.com/user-attachments/assets/d7eef1bc-e99a-4f05-9d62-ec49b8194959" /> I was curious whether I can improve it on my own and created this pr. I edited schemas and added minor changes in `TaskTemplate` to allow to replace '%s' with regexp pattern, so it can match test cases: <img width="772" alt="image" src="https://github.com/user-attachments/assets/db3a6fe0-ad90-4853-8e98-4215e41dfe88" /> Release Notes: - Allow to run dynamic TypeScript/JavaScript tests --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Alexander and Piotr Osiewicz created
79e7ccc
vim: Handle case sensitive search editor setting (#32276)
Update the `vim::normal::search::Vim.search` method in order to correctly set the search bar's case sensitive search option if the `search.case_sensitive` setting is enabled. Closes #32172 Release Notes: - vim: Fixed a bug where the `search.case_sensitive` setting was not respected when activating search with <kbd>/</kbd> (`vim::Search`)
Dino created
0bc9478
language_models: Add support for images to Mistral models (#32154)
Tested with following models. Hallucinates with whites outline images like white lined zed logo but works fine with zed black outlined logo: Pixtral 12B (pixtral-12b-latest) Pixtral Large (pixtral-large-latest) Mistral Medium (mistral-medium-latest) Mistral Small (mistral-small-latest) After this PR, almost all of the zed's llm provider who support images are now supported. Only remaining one is LMStudio. Hopefully we will get that one as well soon. Release Notes: - Add support for images to mistral models --------- Signed-off-by: Umesh Yadav <git@umesh.dev> Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de> Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Umesh Yadav , Bennet Bo Fenner , and Bennet Bo Fenner created
4ac7935
language_models: Add thinking support to LM Studio provider (#32337)
It works similar to how deepseek works where the thinking is returned as reasoning_content and we don't have to send the reasoning_content back in the request. This is a experiment feature which can be enabled from settings like this: <img width="1381" alt="Screenshot 2025-06-08 at 4 26 06 PM" src="https://github.com/user-attachments/assets/d2f60f3c-0f93-45fc-bae2-4ded42981820" /> Here is how it looks to use(tested with `deepseek/deepseek-r1-0528-qwen3-8b` <img width="528" alt="Screenshot 2025-06-08 at 5 12 33 PM" src="https://github.com/user-attachments/assets/f7716f52-5417-4f14-82b8-e853de054f63" /> Release Notes: - Add thinking support to LM Studio provider
Umesh Yadav created
c75ad2f
language_models: Add thinking support to DeepSeek provider (#32338)
For DeepSeek provider thinking is returned as reasoning_content and we don't have to send the reasoning_content back in the request. Release Notes: - Add thinking support to DeepSeek provider
Umesh Yadav created
365997d
docs: Remove duplicate Clang-Format link (#32359)
Release Notes: - N/A
andrewkolda created
c57a626
editor: Fix select when click on existing selection (#32365)
Follow-up for https://github.com/zed-industries/zed/pull/30671 Now, when clicking on an existing selection, the cursor will change on `mouse_up` when `drag_and_drop_selection` is `true`. When `drag_and_drop_selection` is `false`, it will change on `mouse_down` (previous default). Release Notes: - N/A
Smit Barmase created
ebea734
Coalesce consecutive spaces in new buffer tab titles (#32363)
VS Code has a behavior where it coalesces consecutive spaces in new buffer tab titles, which I quite like. This presents the content better and allows more meaningful content to be displayed, as consecutive spaces don't count towards the 40 character limit. VS Code <img width="1013" alt="SCR-20250608-uelt" src="https://github.com/user-attachments/assets/71a1fd4b-a506-4eab-b6a4-66096a12f1ad" /> Zed <img width="1136" alt="SCR-20250608-ueif" src="https://github.com/user-attachments/assets/f40fc3c9-0f0f-471d-93ed-be9568fbe778" /> Release Notes: - N/A
Joseph T. Lyons created
4fe0553
editor: Add support for `drag_and_drop_selection` (#30671)
Closes #4958 Release Notes: - Added support for drag and drop text selection. It can be disabled by setting `drag_and_drop_selection` to `false`. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
CharlesChen0823 and Smit Barmase created
b15aef4
Introduce dynamic tab titles for unsaved files based on buffer content (#32353)
https://github.com/user-attachments/assets/0bb08784-251c-4221-890a-2d6b3fb94e0f For new, unsaved files: - If a buffer has no content, or contains only whitespace, use `untitled` - If a buffer has content, take the first 40 chars of the first line | Sublime | VS Code | Zed | |---------|---------|-----| | <img width="227" alt="SCR-20250608-ouux" src="https://github.com/user-attachments/assets/d02b1e50-5775-4252-86e6-6c9d3f6c72fb" /> | <img width="230" alt="SCR-20250608-ousn" src="https://github.com/user-attachments/assets/7c9c016b-642f-4a80-9bc1-8c9bdc7bbd32" /> | <img width="242" alt="SCR-20250608-ovbg" src="https://github.com/user-attachments/assets/c7f4be5c-5bba-4a2a-b477-1392ca938cd5" /> | Note that this implementation also trims all leading whitespace, so that if the buffer has any non-whitespace content, we use it. VS Code and Sublime do not do this. | Sublime | VS Code | Zed | |---------|---------|-----| | <img width="233" alt="SCR-20250608-oviq" src="https://github.com/user-attachments/assets/ccffecc6-0f46-4d1b-8739-740240bc067b" /> | <img width="198" alt="SCR-20250608-ovkq" src="https://github.com/user-attachments/assets/35c20149-f898-417b-aff3-dda22b8cc1f3" /> | <img width="233" alt="SCR-20250608-ovns" src="https://github.com/user-attachments/assets/2509e8f6-254b-4fcb-a0ea-e18e95bb685b" /> | Release Notes: - Introduced dynamic tab titles for unsaved files based on buffer content
Joseph T. Lyons created
23adff6
Add CI check that `cmd-` is not in linux keymaps + check other mods (#32334)
Motivation for the `cmd-` check is that there were a couple keybindings using `cmd-` in the linux keymap and so these were bound to super / windows Release Notes: - N/A
Michael Sloan created
866fe42
Cleanup comments in linux keymaps (#32333)
Release Notes: - N/A
Michael Sloan created
f7b2faf
Fix a few linux keybindings that use `cmd-` instead of `ctrl-` (#32332)
Release Notes: - N/A
Michael Sloan created
5187954
Remove previous multi buffer hardcode from the outline panel (#32321)
Closes https://github.com/zed-industries/zed/issues/32316 Multi buffer design was changed so that control buttons are not occupying extra lines, the hardcoded logic for that is obsolete thus removed. Release Notes: - Fixed incorrect offsets during outline panel navigation in singleton buffers
Kirill Bulatov created
cabd22f
No longer instantiate recently opened agent threads on startup (#32285)
This was causing a lot of work on startup, particularly due to instantiating edit tool cards. The minor downside is that now these threads don't open quite as fast. Includes a few other improvements: * On text thread rename, now immediately updates the metadata for display in the UI instead of waiting for reload. * On text thread rename, first renames the file before writing. Before if the file removal failed you'd end up with a duplicate. * Now only stores text thread file names instead of full paths. This is more concise and allows for the app data dir changing location. * Renames `ThreadStore::unordered_threads` to `ThreadStore::reverse_chronological_threads` (and removes the old one that sorted), since the recent change to use a SQL database queries them in that order. * Removes `ContextStore::reverse_chronological_contexts` since it was only used in one location where it does sorting anyway - no need to sort twice. * `SavedContextMetadata::title` is now `SharedString` instead of `String`. Release Notes: - Fixed regression in startup performance by not deserializing and instantiating recently opened agent threads.
Michael Sloan created
1552198
Cursor keymap: Add cmd-enter to submit inline assistant (#32295)
Closes https://github.com/zed-industries/zed/discussions/29035 Release Notes: - N/A
Tommy D. Rossi created
0da97b0
editor: Respect `multi_cursor_modifier` setting when making columnar selections using mouse (#32273)
Closes https://github.com/zed-industries/zed/issues/31181 Release Notes: - Added the `multi_cursor_modifier` setting to be respected when making columnar selections using the mouse drag. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Richard Feldman and Smit Barmase created
037df8c
Simplify logic updating pinned tab count (#32310)
Just a tiny improvement to clean up the logic Release Notes: - N/A
Joseph T. Lyons created
05ac9f1
docs: Missing . from `.sql-formatter.json` (#32312)
See: https://github.com/zed-industries/zed/issues/9537#issuecomment-2952784074 Release Notes: - N/A
Peter Tripp created
9ffb3c5
Add Opus to Model Docs (#32302)
Release Notes: - N/A
morgankrey created
72d787b
Fix panic dragging tabs multiple positions to the right (#32305)
Closes https://github.com/zed-industries/zed/issues/32303 Release Notes: - Fixed a panic that occurred when dragging tabs multiple positions to the right (preview only)
Joseph T. Lyons created
104f601
language_models: Fix Copilot models not loading (#32288)
Recently in this PR: https://github.com/zed-industries/zed/pull/32248 github copilot settings was introduced. This had missing settings update which was leading to github copilot models not getting fetched. This had missing subscription to update the settings inside the copilot language model provider. Which caused it not show models at all. cc @osiewicz Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Umesh Yadav and Piotr Osiewicz created
46773eb
docs: Fix typo in SUMMARY.md (#32275)
- Follow-up to: https://github.com/zed-industries/zed/pull/30981 - See also: https://github.com/zed-industries/zed/pull/30844 - See also: https://github.com/zed-industries/zed/pull/31073 Changes made to docs tests meant that failure to build docs did not prevent an automerge. This resulted in breaking main in 65a93a0036acfa680dbf2ba859d8641876ea6057 [action run link](https://github.com/zed-industries/zed/actions/runs/15501437863). CC: @probably-neb Release Notes: - N/A
Peter Tripp created
65a93a0
Add initial FreeBSD script & installation doc (#30981)
This PR adds initial FreeBSD support for building Zed: * Adds `script/freebsd` to install required dependencies on FreeBSD * Adds `docs/freebsd.md` with build instructions and notes * ⚠️ Mentions that `webrtc` is still **work-in-progress** on FreeBSD. Related to : #15309 I’m currently working at discussions : [Discussions](https://github.com/zed-industries/zed/discussions/29550) Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
G36maid and Peter Tripp created
dc63138
Use proper paths when determining file finder icons for external files (#32274)
Before: <img width="576" alt="before" src="https://github.com/user-attachments/assets/8469e27f-c878-4b89-a6f0-577a502fc625" /> After: <img width="558" alt="after" src="https://github.com/user-attachments/assets/b8361b88-c6c6-40a5-890d-047fff8e909e" /> Release Notes: - N/A
Kirill Bulatov created
fa02bd7
Select applicable positions for lsp_ext methods more leniently (#32272)
Closes https://github.com/zed-industries/zed/issues/27238 Release Notes: - Fixed `editor::SwitchSourceHeader` and `editor::ExpandMacroRecursively` not working with text selections
Kirill Bulatov created
6d95fd9
Make `assistant::QuoteSelection` shortcuts work in agent threads (#32270)
Closes: https://github.com/zed-industries/zed/discussions/30626 Release Notes: - Fixed `assistant::QuoteSelection` default shortcuts (`cmd->` and `ctrl->`) so they work in Agent threads too (in addition to text threads and in the Editor pane).
Peter Tripp created
899153d
Stop formatting SQL by default with prettier (#32268)
- Closes: https://github.com/zed-industries/zed/discussions/32261 - Follow-up to: https://github.com/zed-extensions/sql/pull/19 - Follow-up to: https://github.com/zed-industries/zed/pull/32003 The underlying `sql-formatter` used by `prettier-plugin-sql` needs to have the SQL dialect (mysql, postgresql) passed as the prettier language name, while Zed passes `sql`, which default will corrupt sql files with vendor specific extensions (postgresql jsonb operators, etc). I improved the [Zed SQL Language Docs](https://zed.dev/docs/languages/sql) in https://github.com/zed-industries/zed/pull/32003 to show how to use `sql-formatter` directly as an external formatter. Release Notes: - SQL: Disable `format_on_save` using `prettier-plugin-sql` by default. Please see the [Zed SQL Language Docs](https://zed.dev/docs/languages/sql) for settings to use `sql-formatter` directly instead.
Peter Tripp created
77ead25
Implement the rest of the worktree pulls (#32269)
Follow-up of https://github.com/zed-industries/zed/pull/19230 Implements the workspace diagnostics pulling, and replaces "pull diagnostics every open editors' buffer" strategy with "pull changed buffer's diagnostics" + "schedule workspace diagnostics pull" for the rest of the diagnostics. This means that if the server does not support the workspace diagnostics and does not return more in linked files, only the currently edited buffer has its diagnostics updated. This is better than the existing implementation that causes a lot of diagnostics pulls to be done instead, and we can add more heuristics on top later for querying more diagnostics. Release Notes: - N/A
Kirill Bulatov created
9e5f89d
Improve CSS syntax highlighting (#25326)
Release Notes:
- Improved CSS syntax highlighting
| Zed 0.174.6 | With this PR |
| --- | --- |
| 
|

|
- `|`: `operator`
- `and`, `or`, `not`, `only`: `operator` -> `keyword.operator`, as
defined in other languages
- `id_name`, `class_name`: `property`/`attribute` -> `selector`, not a
property name. [CSS
reference](https://www.w3.org/TR/selectors-3/#class-html)
- `namespace_name`: `property` -> `namespace`, not a property name
- `property_name`: `constant` -> `property`, like `feature_name` already
defined
- `(keyword_query)`: `property`, similar to `feature_name`. [CSS
reference](https://www.w3.org/TR/mediaqueries-3/#media1)
- `keyword_query`: `constant.builtin`, [CSS
reference](https://www.w3.org/TR/mediaqueries-3/#media0)
- `plain_value`, `keyframes_name`: `constant.builtin`, [CSS
reference](https://www.w3.org/TR/css-values-3/#value-defs)
- `unit`: `type` -> `type.unit`,
[Atom](https://github.com/atom/language-css/blob/9e4afce058b4593edf03ed1dec6033b163c678f0/grammars/tree-sitter-css.cson#L73)
and [VS
Code](https://github.com/microsoft/vscode/blob/336801752dd09afa76f5429fba846e533bcdb7d9/extensions/css/syntaxes/css.tmLanguage.json#L1393)
also have a `unit` scope for this. [CSS
reference](https://www.w3.org/TR/css3-values/#dimensions)
```css
@media (keyword_query) and keyword_query {}
@supports (feature_name: plain_value) {}
@namespace namespace_name url("string");
namespace_name|tag_name {}
@keyframes keyframes_name {
to {
top: 200unit;
color: #c01045;
}
}
tag_name::before,
#id_name:nth-child(even),
.class_name[attribute_name=plain_value] {
property_name: 2em 1.2em;
--variable: rgb(250, 0, 0);
color: var(--variable);
animation: keyframes_name 5s plain_value;
}
```
chbk created
cf5e76b
git: Add `PushTo` to select which remote to push (#31482)
mostly, I using `git checkout -b branch_name upstream/main` to create new branch which reference remote upstream not my fork. When using `Push` will always failed with not permission. So we need ability to select which remote to push. Current branch is based on my previous pr #26897 Release Notes: - Add `PushTo` to select which remote to push. --------- Co-authored-by: Cole Miller <cole@zed.dev>
CharlesChen0823 and Cole Miller created
9775747
gpui: Pre-allocate paths in open file dialog (#32106)
Pre-allocates the required memory for storing paths returned by open file dialog on windows Release Notes: - N/A
tidely created