Enhancements
General
- Added precise drag-and-drop for files onto folded directories in the Project Panel (#22983; thanks 0xtimsb).
- Added functionality to expand or collapse a directory and all its contents (
alt+click
) (#22896; thanks 0xtimsb). - Added
Open File
action in file menu for Linux and Windows (#23707; thanks 0xtimsb). - Added a new
show_tab_bar_buttons
setting, undertab_bar
, that enables hiding the pane tab bar buttons (#23752). - Added auto-completion support for snippet files (#23698; thanks loczek).
- Added an
editor: open selections in multibuffer
(alt-enter
) command (#23644). - Improved terminal hover word matching (#23776).
- Improved diff rendering, allowing you to navigate with your cursor inside of deleted text in diff hunks (#22994).
- Improved editor horizontal autoscroll to now place the cursor to the left of the scrollbar rather than under it (#23586).
- Improved the task modal by using the full task label when it does not require truncation (#23611).
- Improved project search performance in worktrees with binary files (#23581).
- Improved the
Copy Permalink
menu item by disabling it when not in a Git repository (#23350; thanks Swiftaff). - Errors in settings file are now reported in UI on startup (#23817).
Language Support
- Added Python syntax highlighting for class- and module-level docstrings, additional docstrings, and improved recognition of function-level docstrings (#20898; thanks jfmontanaro).
- Improved support for
yaml-language-server
as YAML formatter (#23612). - Language servers now track their working directory more accurately (#23473).
AI
- Accepting completions while the cursor is in the middle of suggested completion will now result in smaller edits being applied (#23490).
Vim, Emacs, and Keybinds
- Vim: Added
ab
/ib
"AnyBrackets" text objects that are the smallest ofa(
,a[
ora{
ori(
,i[
ori{
(#23679; thanks oca159). - Vim: Added support for
ctrl-g
and{count} ctrl-g
to show the filename in the status bar (#23562). - Vim: Fixed aq/iq "AnyQuotes" text objects when they are nested (#23679; thanks oca159).
Bug Fixes
- Fixed terminal drag and drop, including project panel items (#23827).
- Fixed inline Git blame not visible on long lines due to overflow (#23374; thanks 0xtimsb).
- Fixed
project_panel::NewDirectory
,editor:: NewlineAbove
in TextMate keymap (#23825; thanks huacnlee). - Fixed
.gitignore
d files filter occasionally not working in context file picker (#23777). - Fixed an issue where snippets would not update when a snippets file contained comments (#23755; thanks loczek).
- Fixed the issue where a file outside of the workspace was opening in a random window instead of the last active window (#23726; thanks 0xtimsb).
- Fixed
ZED_WORKTREE_ROOT
incorrectly pointing to a file. Now points to a directory when current file is a project or unset when in out-of-project files (settings.json, tasks.json, etc) (#23150; thanks aborg-dev). - Fixed incorrect UTF-8 characters handling in
GoToLine
and caret position (#23654). - Fixed some instances of disabled list items still registering clicks (#23569).
- Fixed
The path /.../tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version.
pop-up appearing (#23525). - Fixed panics on opening repositories with empty remotes (#23520).
- Python: Fixed venv activation script path showing up in terminal for non-existent scripts (#23476).
Breaking changes
- Changed
editor: open excerpts split
key binding tocmd-alt-enter
on macOS andctrl-alt-enter
on Linux, to be more consistent with other actions that open files in a new split (#23646).