We are currently working to integrate Git more deeply into Zed. Join the waitlist for the private beta, and we will pull you in when it's ready!
Enhancements
- Added an
allow_rewrap
setting to control theeditor::Rewrap
behavior for a given language. (#25173) - Added an
on_last_window_closed
setting, that allows users to quit the app when the last window is closed (#25185) - Added initial inline diagnostics support (#25297)
- Added support for
stop_at_indent
option for MoveToBeginningOfLine and SelectToBeginningOfLine. (#25428) - Added support for checking for
package-version-server
on the$PATH
. (#23849; thanks matthewpi) - Added support for repositories hosted on
chromium.googlesource.com
for Git blames and permalinks. (#24881; thanks hferreiro) - Added support for selecting the commit message in git commits (#25136)
- Added support for tcsh/csh shells as login shell when loading environment variables. (#25122)
- Added the ability to specify an HTTP/HTTPS proxy for Copilot (#24364; thanks eli-kaplan).
- Improved diagnostic pane responsiveness with large # of diagnostics. (#25287)
- Improved display of long paths in the file finder modal (#25049)
- Improved expanded macro ergonomics (#25298)
- Improved performance of project panel in large git repositories. (#25465)
- Improved the scenario where there'd be a project panel entry highlighted/marked even if there is no open buffer. (#25457)
- Improved Zed's handling of the following requests when the first language server in language server settings for a given language is not capable of handling them (#25591):
- Perform Rename
- Prepare Rename
- Document Highlights
- Find all references
- Go to implementation
- Go to definition
- Go to declaration
- Go to type definition
Syntax Highlighting / Themes
- Added eager loading of the active theme and icon theme. This should address some reports of seeing the default themes briefly on startup. (#25368)
- Added syntax scopes to themes (#25323; thanks chbk)
- Added
raw
keyword to Rust language highlights (see the Rust 1.82.0 announcement). (#25342) - Improved the appearance of the file finder when long paths are shown by eliding path segments (#25303)
- Improved C++ syntax highlighting for sized type specifiers. (#25362; thanks zeux)
- Improved JavaScript and TypeScript syntax highlighting. (#25328; thanks chbk)
- Improved Rust syntax highlighting. (#25333; thanks chbk)
- Improved Python syntax highlighting. (#25331; thanks chbk)
- Improved terminal reopening to be per workspace instead of global. (#25336)
- Improved C and C++ syntax highlighting. (#25325; thanks chbk)
- Improved Go syntax highlighting. (#25327; thanks chbk)
- Improved JSON syntax highlighting. (#25329; thanks chbk)
- Improved Bash syntax highlighting (#25324; thanks chbk)
- Improved rendering of
true
andfalse
to matchboolean
highlight defined in themes for C, C++, Go, JSON, JSONC, Python, and Rust. (#25338; thanks everdrone) - Gruvbox themes: Changed the color used for
@variable
syntax highlights to be less intense. (#25464) - One Dark theme: Adjusted the color used for
@variable
syntax highlights. (#25468) - Fixed theme selector resetting the buffer size. (#25425)
Vim
- Vim: Added an implementation of
vim-exchange
(#24678; thanks thomasheartman) - Vim: Added missing default key binding for
Vim::CurrentLine
for replace with register mode (grr
) (#24678; thanks thomasheartman) - Vim: Fixed
gr
in visual mode (#25301; thanks 0x2CA) - Vim: Fixed a bug where
assistant: insert into editor
was missing the selected range. (#25133; thanks rien7) - Vim: Fixed a bug where
editor: copy
was missing the selected range. (#25133; thanks rien7) - Vim: Fixed a bug where search results were skipped occasionally. (#25580)
- Vim: Fixed cursor shape hollow only in block (#25235; thanks 0x2CA)
- Vim: Fixed operations on backtick quotes. (#25502; thanks 5brian)
- Vim: Fixed visual selections when jumping to marks (#25360; thanks dinocosta)
Keybind Improvements
- Emacs: Added mapping for
alt-m
(back-to-indentation
). (#25428) - Emacs: Added support for
alt-{
andalt-}
paragraph navigation. (#25284) - Fixed undo in emacs (
ctrl-_
) not working by default in Terminal on macOS. (#25578) - Fixed tmux
ctrl-b
being broken in the Terminal on Linux by default. (#25476) - Mac: In the default keymap,
cmd-up
now moves to the previous multibuffer excerpt start, andcmd-down
moves to the next multibuffer excerpt end. For normal buffers these behave the same as before, moving to the beginning or end. (#25299) - Windows: Added support for "menu" key (#25000; thanks gim913)
Languages
- Rust: Added support for
--target-dir
for Rust tasks (#24725; thanks bnjjj) - Rust: Added support for doc test in tasks for Rust (#24806; thanks bnjjj)
- Rust: Fixed not being able to spawn the
cargo test
task for atests
module inlib.rs
,main.rs
, ormod.rs
(#25092) - Python: Fixed a bug where indentation was applied when adding a newline to a comment ending in
:
. (#25437) - Python: Fixed Pyright failing to start when installed locally (#24873; thanks MrSubidubi)
AI
- Added support for AWS Bedrock to the Assistant. (#21092; thanks 5herlocked)
- Edit Predictions: Added support for detecting
LICENSE.md
andLICENCE.md
files to license detection. (#25422; thanks pngdrift) - Edit Predictions: Disable
This Buffer
option when predictions are disabled for its language. (#25566) - Edit Predictions: Disable as soon as
edit_prediction_provider
is set tonone
. (#25505) - Edit Predictions: Do not require a modifier key when indentation is correct according to its surrounding block. (#25491)
- Edit Predictions: Fixed mismatch between status bar settings and editor control settings. (#25505)
- Edit Predictions: Fixed jump/accept popover position for long lines. (#25348)
Bug Fixes
- Fixed a bug in the
GoToDefinitionSplit
action where splitting wouldn't happen if the definition was in the same active editor. (#24990) - Fixed a bug that would prevent rejoining projects sometimes. (#25530)
- Fixed a bug where
copy_recursive
ran infinitely when copying a folder into its subfolder. (#25317) - Fixed a bug where run indicators were jumping when buffer content changed. (#25507)
- Fixed a bug where shells spawned by the Zed terminal would not hide the login message when
~/.hushlogin
exists (#25224) - Fixed a bug where the breadcrumb was showing in the image viewer when toolbar breadcrumbs were disabled. (#25654; thanks kaf-lamed-beyt)
- Fixed a bug where you couldn't open the outline modal when focus was in the buffer search bar. (#25225)
- Fixed a crash that could happen when typing in the assistant panel with edit predictions enabled. (#25598)
- Fixed a hang that could occur when large files were changed on disk or formatted. (#25129)
- Fixed a visual bug that could make context menus unusable when setting a custom
buffer_line_height
. (#25172) - Fixed an issue where screen sharing would be visible even when user didn't have the right permission resulting in errors later on. (#25192; thanks devzeth)
- Fixed an issue where whitespace selections were incorrectly highlighted. (#25236)
- Fixed being unable to toggle diff hunks with the mouse in some cases (#25367)
- Fixed extremely small scrollbar thumb for long content in Terminal, Outline Panel, and more. (#25288)
- Fixed gutter highlights not matching diff hunks in multibuffers in some cases. (#25600)
- Fixed incorrect indentation when pasting multi-line content that was copied from another app. (#25300)
- Fixed issue where scroll thumb was invisible or too small when viewing long or wide files. (#25162)
- Fixed keymap use of
shift-
modifier symbol (#25238; thanks 0x2CA) - Fixed keystrokes rendering inconsistently on Linux (#25139)
- Fixed panic caused when
editor::SelectLargerSyntaxNode
is called repeatedly in multi buffer. (#25585) - Fixed project panel entry not being marked when triggering open action via keyboard. (#25567)
- Fixed project panel implementation of the
menu::SelectLast
action (#25160; thanks pjtatlow) - Fixed scenario where pasting a file in the project panel after a copy/cut operation wouldn't automatically open it in the editor (#25555).
- Fixed some issues that caused AI providers to sometimes be misconfigured. (#25313)
- Fixed yank + paste indenting incorrectly when
auto_indent_on_paste
was set tofalse
in certain languages. (#25447)