22cc731
Remove some duplication from icon logic
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
dd57d97
Revert "Improve TS/TSX/JS syntax highlighting for parameters, types, and punctuation" (#44490)
Reverts zed-industries/zed#43437 Internally we noticed some regression related to removed query for PascalCase identifiers. Reverting now to prevent this from going to preview, still planning to land this with the necessary fixes later.
Gaauwe Rombouts created
58db83f
more icon code cleanup
Richard Feldman created
0243d5b
Clean up some more icon code
Richard Feldman created
0623032
Clean up some icon code
Richard Feldman created
d5a437d
editor: Add rotation commands for selections and lines (#41236)
Introduces RotateSelectionsForward and RotateSelectionsBackward actions that rotate content in a circular fashion across multiple cursors. Behavior based on context: - With selections: rotates the selected text at each cursor position (e.g., x=1, y=2, z=3 becomes x=3, y=1, z=2) - With just cursors: rotates entire lines at cursor positions (e.g., three lines cycle to line3, line1, line2) Selections are preserved after rotation, allowing repeated cycling. Useful for quickly rearranging values, lines, or arguments. For more examples and use cases, please refer to #5315. I'm eager to read your thoughts and make any adjustments or improvements to any aspect of this change. Closes #5315 Release Notes: - Added `RotateSelectionsForward` and `RotateSelectionsBackward` actions that rotate content in a circular fashion across multiple cursors
Pablo Aguiar created
a524071
gpui: Try to notify when GPU init fails (#44487)
Hopefully addresses #43575. cc @cole-miller Release Notes: - GPU initialization errors are more reliably reported --------- Co-authored-by: Cole Miller <cole@zed.dev>
Nia and Cole Miller created
1471105
edit_prediction: Remove duplicate definition of interpolate_edits (#44485)
Release Notes: - N/A
Piotr Osiewicz created
f05ee8a
Fix menu capitalization (#44450)
This PR fixes fixes capitalization of two menu items for consistency elsewhere in the application. Release Notes: - N/A
Aaron Feickert created
4d0cada
git_ui: Hide breakpoints in commit views (#44484)
Release Notes: - Improved commit view to not show breakpoints on hover Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
abf90cc
language: Add auto-surround for Plain Text, JSON, and JSONC (#42631)
**Summary**
When users selected text and pressed opening brackets (`(`, `[`, `{`),
the text was deleted instead of being wrapped.
- Added bracket pairs: `()`, `[]`, `{}`, `""`, `''` with `surround =
true`
- Added `surround = true` to existing bracket pairs
- Added `()` bracket pair
**Production Build Fix** (`crates/languages/src/lib.rs`)
- Fixed bug where `brackets` config was stripped in non-`load-grammars`
builds
- Preserved `brackets: config.brackets` in production mode
Closes #41186
**Screen recording**
https://github.com/user-attachments/assets/22067fe7-d5c4-4a72-a93d-8dbaae640168
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Mustaque Ahmed and Smit Barmase created
b79d92d
language_extension: Handle prefixed WASI windows paths in extension spawning (#44477)
Closes https://github.com/zed-industries/zed/issues/12013 Release Notes: - Fixed some wasm language extensions failing to spawn on windows
Lukas Wirth created
660234f
docs: Improve documentation for updating an extension (#44475)
Release Notes: - N/A
Finn Evers created
2b02b60
Fix a search filter in top-ranking issues script (#44468)
Release Notes: - N/A
Lena created
9d49c1f
Switch from labels to types in Top-Ranking issues (#44383)
Since we've run a script to replace labels with types on the open issues (e.g. label 'bug' → type 'Bug'), and those labels are deprecated, the script is updated to deal with issue types only. Other changes: - only get top-100 search results for each section since we only look at top-50 anyway: this way we don't need to deal with rate limiting, and the entire script runs way faster when it doesn't need to fetch 1000+ bugs - subtract the "-1" reactions from the "+1" reactions on a given issue to give a slightly more accurate picture in the overall ranking (this can further be improved by adding the distinct heart reactions but we'll leave that for another day) - only output the issues with a score > 0 - use Typer's built-in error handling for a missing argument - since we're only dealing with types and not labels now, remove the handling of potentially duplicate issues in the search results per section - make `Tracking` its own section since this issue type exists now - remove the `unlabeled` section with issues of no type since all the open issues have a type now and we intend to keep it that way for the sake of these and other stats (and also because GitHub's REST API has caught up with types but not with `no:type`) - replace pygithub and custom classes with requests directly to the GitHub API and plain data structures for a lighter footprint - spell out the date of the update in the resulting text to avoid the ambiguity (10/6 → October 06). The way the script is invoked has not been changed. Example run: ``` *Updated on December 08, 2025 06:57 AM (EST)* ## Features 1. https://github.com/zed-industries/zed/issues/11473 (679 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/4642 (674 :thumbsup:) 3. https://github.com/zed-industries/zed/issues/10910 (638 :thumbsup:) 4. https://github.com/zed-industries/zed/issues/8279 (592 :thumbsup:) 5. https://github.com/zed-industries/zed/issues/5242 (581 :thumbsup:) 6. https://github.com/zed-industries/zed/issues/4355 (552 :thumbsup:) 7. https://github.com/zed-industries/zed/issues/15968 (453 :thumbsup:) 8. https://github.com/zed-industries/zed/issues/4930 (357 :thumbsup:) 9. https://github.com/zed-industries/zed/issues/5066 (345 :thumbsup:) 10. https://github.com/zed-industries/zed/issues/5120 (312 :thumbsup:) 11. https://github.com/zed-industries/zed/issues/7450 (310 :thumbsup:) 12. https://github.com/zed-industries/zed/issues/14801 (291 :thumbsup:) 13. https://github.com/zed-industries/zed/issues/10696 (276 :thumbsup:) 14. https://github.com/zed-industries/zed/issues/16965 (258 :thumbsup:) 15. https://github.com/zed-industries/zed/issues/4688 (231 :thumbsup:) 16. https://github.com/zed-industries/zed/issues/4943 (228 :thumbsup:) 17. https://github.com/zed-industries/zed/issues/9459 (223 :thumbsup:) 18. https://github.com/zed-industries/zed/issues/21538 (223 :thumbsup:) 19. https://github.com/zed-industries/zed/issues/11889 (194 :thumbsup:) 20. https://github.com/zed-industries/zed/issues/9721 (180 :thumbsup:) 21. https://github.com/zed-industries/zed/issues/5039 (172 :thumbsup:) 22. https://github.com/zed-industries/zed/issues/9662 (162 :thumbsup:) 23. https://github.com/zed-industries/zed/issues/4888 (160 :thumbsup:) 24. https://github.com/zed-industries/zed/issues/26823 (158 :thumbsup:) 25. https://github.com/zed-industries/zed/issues/21208 (151 :thumbsup:) 26. https://github.com/zed-industries/zed/issues/4991 (149 :thumbsup:) 27. https://github.com/zed-industries/zed/issues/6722 (144 :thumbsup:) 28. https://github.com/zed-industries/zed/issues/18490 (139 :thumbsup:) 29. https://github.com/zed-industries/zed/issues/10647 (138 :thumbsup:) 30. https://github.com/zed-industries/zed/issues/35803 (121 :thumbsup:) 31. https://github.com/zed-industries/zed/issues/4808 (118 :thumbsup:) 32. https://github.com/zed-industries/zed/issues/12406 (118 :thumbsup:) 33. https://github.com/zed-industries/zed/issues/37074 (118 :thumbsup:) 34. https://github.com/zed-industries/zed/issues/7121 (117 :thumbsup:) 35. https://github.com/zed-industries/zed/issues/15098 (112 :thumbsup:) 36. https://github.com/zed-industries/zed/issues/4867 (111 :thumbsup:) 37. https://github.com/zed-industries/zed/issues/4751 (108 :thumbsup:) 38. https://github.com/zed-industries/zed/issues/14473 (98 :thumbsup:) 39. https://github.com/zed-industries/zed/issues/6754 (97 :thumbsup:) 40. https://github.com/zed-industries/zed/issues/11138 (97 :thumbsup:) 41. https://github.com/zed-industries/zed/issues/17455 (90 :thumbsup:) 42. https://github.com/zed-industries/zed/issues/9922 (89 :thumbsup:) 43. https://github.com/zed-industries/zed/issues/4504 (87 :thumbsup:) 44. https://github.com/zed-industries/zed/issues/17353 (85 :thumbsup:) 45. https://github.com/zed-industries/zed/issues/4663 (82 :thumbsup:) 46. https://github.com/zed-industries/zed/issues/12039 (79 :thumbsup:) 47. https://github.com/zed-industries/zed/issues/11107 (75 :thumbsup:) 48. https://github.com/zed-industries/zed/issues/11565 (73 :thumbsup:) 49. https://github.com/zed-industries/zed/issues/22373 (72 :thumbsup:) 50. https://github.com/zed-industries/zed/issues/11023 (71 :thumbsup:) ## Bugs 1. https://github.com/zed-industries/zed/issues/7992 (457 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/12589 (113 :thumbsup:) 3. https://github.com/zed-industries/zed/issues/12176 (105 :thumbsup:) 4. https://github.com/zed-industries/zed/issues/14053 (96 :thumbsup:) 5. https://github.com/zed-industries/zed/issues/18698 (90 :thumbsup:) 6. https://github.com/zed-industries/zed/issues/8043 (73 :thumbsup:) 7. https://github.com/zed-industries/zed/issues/7465 (65 :thumbsup:) 8. https://github.com/zed-industries/zed/issues/9403 (56 :thumbsup:) 9. https://github.com/zed-industries/zed/issues/9789 (55 :thumbsup:) 10. https://github.com/zed-industries/zed/issues/30313 (52 :thumbsup:) 11. https://github.com/zed-industries/zed/issues/13564 (47 :thumbsup:) 12. https://github.com/zed-industries/zed/issues/18673 (47 :thumbsup:) 13. https://github.com/zed-industries/zed/issues/43025 (44 :thumbsup:) 14. https://github.com/zed-industries/zed/issues/15166 (43 :thumbsup:) 15. https://github.com/zed-industries/zed/issues/14074 (41 :thumbsup:) 16. https://github.com/zed-industries/zed/issues/38109 (39 :thumbsup:) 17. https://github.com/zed-industries/zed/issues/21076 (38 :thumbsup:) 18. https://github.com/zed-industries/zed/issues/32792 (38 :thumbsup:) 19. https://github.com/zed-industries/zed/issues/26875 (36 :thumbsup:) 20. https://github.com/zed-industries/zed/issues/21146 (35 :thumbsup:) 21. https://github.com/zed-industries/zed/issues/39163 (35 :thumbsup:) 22. https://github.com/zed-industries/zed/issues/13838 (32 :thumbsup:) 23. https://github.com/zed-industries/zed/issues/16727 (32 :thumbsup:) 24. https://github.com/zed-industries/zed/issues/9057 (31 :thumbsup:) 25. https://github.com/zed-industries/zed/issues/38151 (31 :thumbsup:) 26. https://github.com/zed-industries/zed/issues/38750 (30 :thumbsup:) 27. https://github.com/zed-industries/zed/issues/8352 (29 :thumbsup:) 28. https://github.com/zed-industries/zed/issues/11744 (29 :thumbsup:) 29. https://github.com/zed-industries/zed/issues/20559 (29 :thumbsup:) 30. https://github.com/zed-industries/zed/issues/23640 (29 :thumbsup:) 31. https://github.com/zed-industries/zed/issues/11104 (27 :thumbsup:) 32. https://github.com/zed-industries/zed/issues/13461 (27 :thumbsup:) 33. https://github.com/zed-industries/zed/issues/13286 (25 :thumbsup:) 34. https://github.com/zed-industries/zed/issues/29962 (25 :thumbsup:) 35. https://github.com/zed-industries/zed/issues/14833 (23 :thumbsup:) 36. https://github.com/zed-industries/zed/issues/15409 (23 :thumbsup:) 37. https://github.com/zed-industries/zed/issues/11127 (22 :thumbsup:) 38. https://github.com/zed-industries/zed/issues/12835 (22 :thumbsup:) 39. https://github.com/zed-industries/zed/issues/31351 (22 :thumbsup:) 40. https://github.com/zed-industries/zed/issues/33942 (22 :thumbsup:) 41. https://github.com/zed-industries/zed/issues/7086 (21 :thumbsup:) 42. https://github.com/zed-industries/zed/issues/13176 (20 :thumbsup:) 43. https://github.com/zed-industries/zed/issues/14222 (20 :thumbsup:) 44. https://github.com/zed-industries/zed/issues/29757 (20 :thumbsup:) 45. https://github.com/zed-industries/zed/issues/35122 (20 :thumbsup:) 46. https://github.com/zed-industries/zed/issues/29807 (19 :thumbsup:) 47. https://github.com/zed-industries/zed/issues/4701 (18 :thumbsup:) 48. https://github.com/zed-industries/zed/issues/35770 (18 :thumbsup:) 49. https://github.com/zed-industries/zed/issues/37734 (18 :thumbsup:) 50. https://github.com/zed-industries/zed/issues/4434 (17 :thumbsup:) ## Tracking issues 1. https://github.com/zed-industries/zed/issues/7808 (298 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/24878 (101 :thumbsup:) 3. https://github.com/zed-industries/zed/issues/7371 (60 :thumbsup:) 4. https://github.com/zed-industries/zed/issues/26916 (51 :thumbsup:) 5. https://github.com/zed-industries/zed/issues/31102 (41 :thumbsup:) 6. https://github.com/zed-industries/zed/issues/25469 (30 :thumbsup:) 7. https://github.com/zed-industries/zed/issues/10906 (18 :thumbsup:) 8. https://github.com/zed-industries/zed/issues/9778 (11 :thumbsup:) 9. https://github.com/zed-industries/zed/issues/23930 (10 :thumbsup:) 10. https://github.com/zed-industries/zed/issues/23914 (8 :thumbsup:) 11. https://github.com/zed-industries/zed/issues/18078 (7 :thumbsup:) 12. https://github.com/zed-industries/zed/issues/25560 (6 :thumbsup:) ## Crashes 1. https://github.com/zed-industries/zed/issues/13190 (33 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/32318 (15 :thumbsup:) 3. https://github.com/zed-industries/zed/issues/39097 (14 :thumbsup:) 4. https://github.com/zed-industries/zed/issues/31149 (11 :thumbsup:) 5. https://github.com/zed-industries/zed/issues/36139 (10 :thumbsup:) 6. https://github.com/zed-industries/zed/issues/39890 (10 :thumbsup:) 7. https://github.com/zed-industries/zed/issues/16120 (9 :thumbsup:) 8. https://github.com/zed-industries/zed/issues/20970 (5 :thumbsup:) 9. https://github.com/zed-industries/zed/issues/28385 (5 :thumbsup:) 10. https://github.com/zed-industries/zed/issues/27270 (4 :thumbsup:) 11. https://github.com/zed-industries/zed/issues/30466 (4 :thumbsup:) 12. https://github.com/zed-industries/zed/issues/37593 (4 :thumbsup:) 13. https://github.com/zed-industries/zed/issues/27751 (3 :thumbsup:) 14. https://github.com/zed-industries/zed/issues/29467 (3 :thumbsup:) 15. https://github.com/zed-industries/zed/issues/39806 (3 :thumbsup:) 16. https://github.com/zed-industries/zed/issues/40998 (3 :thumbsup:) 17. https://github.com/zed-industries/zed/issues/10992 (2 :thumbsup:) 18. https://github.com/zed-industries/zed/issues/31461 (2 :thumbsup:) 19. https://github.com/zed-industries/zed/issues/37291 (2 :thumbsup:) 20. https://github.com/zed-industries/zed/issues/38275 (2 :thumbsup:) 21. https://github.com/zed-industries/zed/issues/43547 (2 :thumbsup:) 22. https://github.com/zed-industries/zed/issues/20014 (1 :thumbsup:) 23. https://github.com/zed-industries/zed/issues/30993 (1 :thumbsup:) 24. https://github.com/zed-industries/zed/issues/31498 (1 :thumbsup:) 25. https://github.com/zed-industries/zed/issues/31829 (1 :thumbsup:) 26. https://github.com/zed-industries/zed/issues/32280 (1 :thumbsup:) 27. https://github.com/zed-industries/zed/issues/36036 (1 :thumbsup:) 28. https://github.com/zed-industries/zed/issues/37918 (1 :thumbsup:) 29. https://github.com/zed-industries/zed/issues/39269 (1 :thumbsup:) 30. https://github.com/zed-industries/zed/issues/42825 (1 :thumbsup:) 31. https://github.com/zed-industries/zed/issues/43522 (1 :thumbsup:) 32. https://github.com/zed-industries/zed/issues/43774 (1 :thumbsup:) ## Windows 1. https://github.com/zed-industries/zed/issues/12288 (36 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/20559 (29 :thumbsup:) 3. https://github.com/zed-industries/zed/issues/12013 (15 :thumbsup:) 4. https://github.com/zed-industries/zed/issues/38682 (8 :thumbsup:) 5. https://github.com/zed-industries/zed/issues/36241 (7 :thumbsup:) 6. https://github.com/zed-industries/zed/issues/28497 (3 :thumbsup:) 7. https://github.com/zed-industries/zed/issues/33748 (3 :thumbsup:) 8. https://github.com/zed-industries/zed/issues/38348 (3 :thumbsup:) 9. https://github.com/zed-industries/zed/issues/41649 (3 :thumbsup:) 10. https://github.com/zed-industries/zed/issues/41734 (3 :thumbsup:) 11. https://github.com/zed-industries/zed/issues/42873 (3 :thumbsup:) 12. https://github.com/zed-industries/zed/issues/36318 (2 :thumbsup:) 13. https://github.com/zed-industries/zed/issues/38886 (2 :thumbsup:) 14. https://github.com/zed-industries/zed/issues/39038 (2 :thumbsup:) 15. https://github.com/zed-industries/zed/issues/39056 (2 :thumbsup:) 16. https://github.com/zed-industries/zed/issues/39189 (2 :thumbsup:) 17. https://github.com/zed-industries/zed/issues/39473 (2 :thumbsup:) 18. https://github.com/zed-industries/zed/issues/39764 (2 :thumbsup:) 19. https://github.com/zed-industries/zed/issues/40430 (2 :thumbsup:) 20. https://github.com/zed-industries/zed/issues/43051 (2 :thumbsup:) 21. https://github.com/zed-industries/zed/issues/18765 (1 :thumbsup:) 22. https://github.com/zed-industries/zed/issues/35174 (1 :thumbsup:) 23. https://github.com/zed-industries/zed/issues/35958 (1 :thumbsup:) 24. https://github.com/zed-industries/zed/issues/36193 (1 :thumbsup:) 25. https://github.com/zed-industries/zed/issues/36849 (1 :thumbsup:) 26. https://github.com/zed-industries/zed/issues/38760 (1 :thumbsup:) 27. https://github.com/zed-industries/zed/issues/39346 (1 :thumbsup:) 28. https://github.com/zed-industries/zed/issues/39435 (1 :thumbsup:) 29. https://github.com/zed-industries/zed/issues/39453 (1 :thumbsup:) 30. https://github.com/zed-industries/zed/issues/39927 (1 :thumbsup:) 31. https://github.com/zed-industries/zed/issues/40209 (1 :thumbsup:) 32. https://github.com/zed-industries/zed/issues/40277 (1 :thumbsup:) 33. https://github.com/zed-industries/zed/issues/40370 (1 :thumbsup:) 34. https://github.com/zed-industries/zed/issues/40392 (1 :thumbsup:) 35. https://github.com/zed-industries/zed/issues/40475 (1 :thumbsup:) 36. https://github.com/zed-industries/zed/issues/40585 (1 :thumbsup:) 37. https://github.com/zed-industries/zed/issues/40647 (1 :thumbsup:) 38. https://github.com/zed-industries/zed/issues/40954 (1 :thumbsup:) 39. https://github.com/zed-industries/zed/issues/42050 (1 :thumbsup:) 40. https://github.com/zed-industries/zed/issues/42366 (1 :thumbsup:) 41. https://github.com/zed-industries/zed/issues/42731 (1 :thumbsup:) 42. https://github.com/zed-industries/zed/issues/42861 (1 :thumbsup:) 43. https://github.com/zed-industries/zed/issues/43522 (1 :thumbsup:) ## Meta issues 1. https://github.com/zed-industries/zed/issues/24804 (10 :thumbsup:) 2. https://github.com/zed-industries/zed/issues/36730 (3 :thumbsup:) ``` Release Notes: - N/A --------- Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Lena and Joseph T. Lyons created
6253b1d
worktree: Print canonicalization error details (#44459)
cc https://github.com/zed-industries/zed/issues/24714 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
4e75f0f
gpui: Implement `From<String>` for ElementId (#44447)
Release Notes:
- N/A
## Before
```rs
div()
.id(SharedString::from(format!("process-entry-{ix}-command")))
```
## After
```rs
div()
.id(format!("process-entry-{ix}-command"))
```
Jason Lee created
0b4f72e
Tidy up single-file worktrees' opening errors (#44455)
Part of https://github.com/zed-industries/zed/issues/44370 Also log when fail to open the project item. Release Notes: - N/A
Kirill Bulatov created
dc5f54e
Backout inline assistant changes (#44454)
Release Notes: - N/A
Mikayla Maki created
ba807a3
languages: Initialize Tailwind's options with `includeLanguages` (#43978)
Since [this PR](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1014), the `tailwindCSS.userLanguages` option has been deprecated, and it is recommended to use `tailwindCSS.includeLanguages` instead. Using `tailwindCSS.userLanguages` triggers the warning shown below in the `tailwindcss-language-server` logs. <img width="634" height="259" alt="tailwindcss-language-server (kron) Server Logs v" src="https://github.com/user-attachments/assets/763551ad-f41a-4756-9d7d-dfb7df45cc5c" /> Release Notes: - Fixed a warning indicating the deprecation of `tailwindCSS.userLanguages` by initializing the options with `tailwindCSS.includeLanguages`. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Afief Abdurrahman and Smit Barmase created
ca5c899
Merge remote-tracking branch 'origin/main' into migrate-provider-extensions
Richard Feldman created
45829b3
Avoid the cost of creating an anyhow error in RelPath::strip_prefix (#44444)
Release Notes: - Fixed a performance bottleneck that could delay Zed's processing FS events for a long time in some cases.
Max Brunsfeld created
631e3dd
collab: Remove unused `Signup` model (#44438)
This PR removes the `Signup` database model, as it was not being used. Release Notes: - N/A
Marshall Bowers created
8d44bcd
collab: Remove database migrations (#44436)
This PR removes the database schema migrations from the repo, as these are now managed by Cloud. There's a new `20251208000000_test_schema.sql` "migration" that we use to create the database schema for the tests, similar to what we use for SQLite. Release Notes: - N/A
Marshall Bowers created
1888106
Fix telemetry for `collab::ToggleMute` and remove unregistered actions (#44432)
This PR removes the actions `collab::ToggleScreenSharing`, `collab::ToggleMute`, and `collab::ToggleDeafen`. They weren't actually registered to any behavior, so while it was possible to create a keybind bound to them, they never actually trigger. I spent ~30 minutes trying to figure out why I was getting this result for my `"f13": "collab::ToggleMute"` keybind in the keybind context menu: <img width="485" height="174" alt="image" src="https://github.com/user-attachments/assets/23064c8f-fe8d-42e5-b94f-bd4b8a0cb3b5" /> (This really threw me for a loop because I was trying to use this as a known good case to compare against a _different_ action that wasn't working because I forgot to register it.) As a side benefit, this enables telemetry for toggling mic mute via keybind. Release Notes: - Fixed telemetry for `collab::Mute` - Removed unregistered actions `collab::ToggleMute`, `collab::ToggleDeafen`, and `collab::ToggleScreenshare` - The correctly-functioning actions `collab::Mute`, `collab::Deafen`, and `collab::ScreenShare` are recommended instead
Andrew Farkas created
1038e1c
Clean up some duplicated code
Richard Feldman created
c005adb
collab: Don't run migrations on startup (#44430)
This PR removes the step that applies migrations when Collab starts up, as migrations are now done as part of Cloud deployments. Release Notes: - N/A
Marshall Bowers created
6b2d1f1
Add `editor::InsertSnippet` action (#44428)
Closes #20036
This introduces new action `editor: insert snippet`. It supports three
modes:
```
["editor::InsertSnippet", {"name": "snippet_name"}]
["editor::InsertSnippet", {"language": "language_name", "name": "snippet_name"}]
["editor::InsertSnippet", {"snippet": "snippet with $1 tab stops"}]
```
## Example usage
### `keymap.json`
```json
{
"context": "Editor",
"bindings": {
// named global snippet
"cmd-k cmd-r": ["editor::InsertSnippet", {"name": "all rights reserved"}],
// named language-specific snippet
"cmd-k cmd-p": ["editor::InsertSnippet", {"language": "rust", "name": "debug-print a value"}],
// inline snippet
"cmd-k cmd-e": ["editor::InsertSnippet", {"snippet": "println!(\"This snippet has multiple lines.\")\nprintln!(\"It belongs to $1 and is very $2.\")"}],
},
},
```
### `~/.config/zed/snippets/rust.json`
```json
{
"debug-print a value": {
"body": "println!(\"$1 = {:?}\", $1)",
},
}
```
### `~/.config/zed/snippets/snippets.json`
```json
{
"all rights reserved": {
"body": "Copyright © ${1:2025} ${2:your name}. All rights reserved.",
},
}
```
## Future extensions
- Support multiline inline snippets using an array of strings using
something similar to `ListOrDirect` in
`snippet_provider::format::VsCodeSnippet`
- When called with no arguments, open a modal to select a snippet to
insert
## Release notes
Release Notes:
- Added `editor::InsertSnippet` action
Andrew Farkas created
e1fe0b3
Restore providers, deduplicate if extensions are present
Richard Feldman created
22e1bcc
languages: Check whether to update `typescript-language-server` (#44343)
Closes #43155 Adds a missing check to also update packages when the `typescript-language-server` package is outdated. I created a new `SERVER_PACKAGE_NAME ` constant so that the package name isn't coupled to the language server name inside of Zed. Release Notes: - Fixed the typescript language server falling out of date
tidely created
bb591f1
extension_cli: Properly populate manifest with snippet location (#44425)
This fixes an issue where the snippet file location would not be the proper one for compiled extensions because it would be populated with an absolute path instead of a relative one in relation to the extension output directory. This caused the copy operation downstream to not do anything, because it copied the file to the location it already was (which was not the output directory for that extension). Also adds some tests and pulls in the `Fs` so we do not have such issues with snippets a third time hopefully. Release Notes: - N/A
Finn Evers created
a0e10a9
Merge remote-tracking branch 'origin/main' into migrate-provider-extensions
Richard Feldman created
3d6cc3d
terminal: Fix performance issues with hyperlink regex matching (#44407)
Problem statement: When given a line that contained a lot of matches of your hyperlink regex of choice (thanks to #40305), we would look for matches that intersected with currently hovered point. This is *hella* expensive, because we would re-walk the whole alacritty grid for each match. With the repro that Joseph shared, we had to go through 4000 such matches on each frame render. Problem solution: We now convert the hovered point into a range within the line (byte-wise) in order to throw away matches that do not intersect the hovered range. This lets us avoid performing the unnecessary conversion when we know it's never going to yield a match range that intersects the hovered point. Release Notes: - terminal: Fixed performance regression when handling long lines. --------- Co-authored-by: Dave Waggoner <waggoner.dave@gmail.com>
Piotr Osiewicz and Dave Waggoner created
464d4f7
git: Use branch names for resolve conflict buttons (#44421)
This makes merge conflict resolution clearer because we're now parsing the branch names from the conflict region instead of hardcoding HEAD and ORIGIN. ### Before <img width="1157" height="1308" alt="image" src="https://github.com/user-attachments/assets/1fd72823-4650-48dd-b26a-77c66d21614d" /> ### After <img width="1440" height="1249" alt="Screenshot 2025-12-08 at 2 17 12 PM" src="https://github.com/user-attachments/assets/d23c219a-6128-4e2d-a8bc-3f128aa55272" /> Release Notes: - git: Use branch names for git conflict buttons instead of HEAD and ORIGIN
Anthony Eid created
272b1aa
Remove obsolete llm_provider_authenticate
Richard Feldman created
f489255
codex: Fallback to locally installed version if update fails (#44419)
Closes #43900 Release Notes: - Fallback to locally installed codex version if update fails
Bennet Bo Fenner created
387059c
language: Add `LanguageName::new_static` to reduce allocations (#44380)
Implements a specialized constructor `LanguageName::new_static` for
`&'static str` which reduces allocations.
`LanguageName::new` always backs the underlying `SharedString` with an
owned `Arc<str>` even when a `&'static str` is passed. This makes us
allocate each time we create a new `LanguageName` no matter what.
Creating a specialized constructor for `&'static str` allows us to
essentially construct them for free.
Additional change:
Encourages using explicit constructors to avoid needless allocations.
Currently there were no instances of this trait being called where the
lifetime was not `'static` saving another 48 locations of allocation.
```rust
impl<'a> From<&'a str> for LanguageName {
fn from(str: &'a str) -> Self {
Self(SharedString::new(str))
}
}
// to
impl From<&'static str> for LanguageName {
fn from(str: &'static str) -> Self {
Self(SharedString::new_static(str))
}
}
```
Release Notes:
- N/A
tidely created
4a382b2
fuzzy: Use lowercase representations for matrix size calculation (#44338)
Closes #44324 Release Notes: - Uses the lowercase representation of the query for the matrix length calculation to match the bounds size expected in `recursive_score_match`
Nereuxofficial created
b948d8b
git: Improve self-hosted provider support and Bitbucket integration (#42343)
This PR includes several minor modifications and improvements related to Git hosting providers, covering the following areas: 1. Bitbucket Owner Parsing Fix: Remove the common `scm` prefix from the remote URL of self-hosted Bitbucket instances to prevent incorrect owner parsing. [Reference](https://github.com/gitkraken/vscode-gitlens/blob/a6e3c6fbb255116507eaabaa9940c192ed7bb0e1/src/git/remotes/bitbucket-server.ts#L72-L74) 2. Bitbucket Avatars in Blame: Add support for displaying Bitbucket avatars in the Git blame view. <img width="2750" height="1994" alt="CleanShot 2025-11-10 at 20 34 40@2x" src="https://github.com/user-attachments/assets/9e26abdf-7880-4085-b636-a1f99ebeeb97" /> 3. Self-hosted SourceHut Support: Add support for self-hosted SourceHut instances. 4. Configuration: Add recently introduced self-hosted Git providers (Gitea, Forgejo, and SourceHut) to the `git_hosting_providers` setting option. <img width="2750" height="1994" alt="CleanShot 2025-11-10 at 20 33 48@2x" src="https://github.com/user-attachments/assets/44ffc799-182d-4145-9b89-e509bbc08843" /> Closes #11043 Release Notes: - Improved self-hosted git provider support and Bitbucket integration
ᴀᴍᴛᴏᴀᴇʀ created
bc17491
gpui: Revert grid template columns default behavior to align with Tailwind (#44368)
When using the latest version of `GPUI`, I found some grid layout
issues. I discovered #43555 modified the default behavior of grid
template columns. I checked the implementation at
https://tailwindcss.com/docs/grid-template-columns, and it seems our
previous implementation was correct.
If a grid layout is placed inside a flexbox, the layout becomes
unpredictable.
```rust
impl Render for HelloWorld {
fn render(&mut self, _window: &mut Window, _cx: &mut Context<Self>) -> impl IntoElement {
div()
.flex()
.size(px(500.0))
.bg(rgb(0x505050))
.text_xl()
.text_color(rgb(0xffffff))
.child(
div()
.size_full()
.gap_1()
.grid()
.grid_cols(2)
.border_1()
.border_color(gpui::red())
.children((0..10).map(|ix| {
div()
.w_full()
.border_1()
.border_color(gpui::green())
.child(ix.to_string())
})),
)
}
}
```
| Before | After |
| - | - |
| <img width="612" height="644" alt="After1"
src="https://github.com/user-attachments/assets/64eaf949-0f38-4f0b-aae7-6637f8f40038"
/> | <img width="612" height="644" alt="Before1"
src="https://github.com/user-attachments/assets/561a508d-29ea-4fd2-bd1e-909ad14b9ee3"
/> |
I also placed the grid layout example inside a flexbox too.
| Before | After |
| - | - |
| <img width="612" height="644" alt="After"
src="https://github.com/user-attachments/assets/fa6f4a2d-21d8-413e-8b66-7bd073e05f87"
/> | <img width="612" height="644" alt="Before"
src="https://github.com/user-attachments/assets/9e0783d1-18e9-470d-b913-0dbe4ba88835"
/> |
I tested the changes from the previous PR, and it seems that setting the
table's parent to `v_flex` is sufficient to achieve a non-full table
width without modifying the grid layout. This was already done in the
previous PR.
I reverted the grid changes, the blue border represents the table width.
cc @RemcoSmitsDev
<img width="1107" height="1000" alt="table"
src="https://github.com/user-attachments/assets/4b7ba2a2-a66a-444d-ad42-d80bc9057cce"
/>
So, I believe we should revert to this implementation to align with
tailwindcss behavior and avoid potential future problems, especially
since the cause of this issue is difficult to pinpoint.
Release Notes:
- N/A
Floyd Wang created
f6a6630
agent_ui: Auto-capture file context on paste (#42982)
Closes #42972 https://github.com/user-attachments/assets/98f2d3dc-5682-4670-b636-fa8ea2495c69 Release Notes: - Added automatic file context detection when pasting code into the AI agent panel. Pasted code now displays as collapsible badges showing the file path and line numbers (e.g., "app/layout.tsx (18-25)"). --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
ozzy and Bennet Bo Fenner created
1842184
nix: Fix nix build failure due to missing `protoc` (#44412)
Cameron Mcloughlin created
2143942
Add support for Grok 4.1 Fast models in xAI provider (#43419)
Release Notes: - Added support for Grok 4.1 Fast (reasoning and non-reasoning) models in the xAI provider, with 2M token context windows and full vision capabilities. - Extended 2M token context to existing Grok 4 Fast variants (from 128K) for consistency with xAI updates. - Enabled image/vision support for all Grok 4 family models. Doc: https://docs.x.ai/docs/models/grok-4-1-fast-reasoning https://docs.x.ai/docs/models/grok-4-1-fast-non-reasoning
Martin Bergo created
044f7b5
editor: Fix buffer fold focuses first buffer in multi-buffer instead of the toggled one (#44394)
Closes #43870 Regressed in https://github.com/zed-industries/zed/pull/37953 Release Notes: - Fixed issue where toggling buffer fold focuses first buffer in multi-buffer instead of the toggled one.
Smit Barmase created
12dba5e
git_ui: Improve the branch picker when in the panel (#44408)
This PR adapts the design for the panel version of the branch picker. https://github.com/user-attachments/assets/d04b612b-72e8-4bc9-9a19-9d466b9fe696 Release Notes: - N/A
Danilo Leal created
216a3a6
keymap: Fix windows keys for open and open files actions (#44406)
Closes https://github.com/zed-industries/zed/issues/44040 Closes https://github.com/zed-industries/zed/issues/44044 Release Notes: - Fixed incorrect keybindings for `open folder` and `open files` actions on windows' default keymap
Lukas Wirth created
6678960
editor: Goto references skip multibuffer if single match (#43026)
Co-authored-by: Agus <agus@zed.dev>
Cameron Mcloughlin and Agus created
62c312b
Update Recent Projects picker to show SSH host (#44349)
**Problem addressed:** Cannot distinguish an identical path on multiple remote hosts in the "Recent Projects" picker. **Related work:** - Issue #40358 (already closed) identified the issue in the "Expected Behavior" section for both WSL and SSH remotes. - PR #40375 implemented WSL distro labels. **Screenshots:** Before: <img width="485" height="98" alt="screenshot-sample-project-before" src="https://github.com/user-attachments/assets/182d907a-6f11-44aa-8ca5-8114f5551c93" /> After: <img width="481" height="94" alt="screenshot-sample-project-after" src="https://github.com/user-attachments/assets/5f87ff12-6577-404e-9319-717f84b7d2e7" /> **Implementation notes:** RemoteConnectionOptions::display_name() will be subject to exhaustiveness checking on RemoteConnectionOption variants. Keeps the same UI approach as the WSL distro variants. Release Notes: - Improved Recent Projects picker: now displays SSH hostname with remotes.
Lee Nussbaum created