Software 43099 Published by

A new version of the Zed editor has been released and has implemented various enhancements aimed at optimizing the user experience.

The editor has been updated to git::Restore and git::RestoreFile to ensure consistency with git, and the editor::ExpandAllHunkDiffs action has been modified to editor::ExpandAllDiffHunks. Recent enhancements cover the introduction of an allow_rewrap setting, an on_last_window_closed setting, initial support for inline diagnostics, a stop_at_indent option for MoveToBeginningOfLine and SelectToBeginningOfLine, capabilities for checking package-version-server on the $PATH, compatibility with repositories hosted on chromium.googlesource.com for Git blames and permalinks, functionality for selecting the commit message in git commits, and the provision to specify an HTTP/HTTPS proxy for Copilot.





The responsiveness of the diagnostic pane has been enhanced, and the performance of the project panel in extensive git repositories has been optimized. The enhancements to the documentation are noteworthy, with significant improvements made to syntax highlighting and themes. The editor has addressed bugs in the vim-exchange implementation, resolved issues with the assistant and editor, and corrected visual selections when navigating to marks.

Recent enhancements to keybindings in Emacs feature the introduction of alt-m mapping, alt-{ and alt-} for paragraph navigation, as well as resolved undo issues within the platform. Mac users now have the ability to navigate to the previous multibuffer excerpt start using a designated command, and can utilize cmd-down to advance to the next multibuffer excerpt end. Users of Windows can now utilize the "menu" key. Rust has introduced support for the --target-dir option for Rust tasks, documentation tests in tasks for Rust, and the ability to spawn cargo test tasks for test modules. Python has resolved issues related to indentation and the failure of Pyright to initiate when installed locally.

The Assistant now includes support for AWS Bedrock, and enhancements have been made to edit predictions to effectively identify LICENSE.md and LICENCE.md files. The recent updates address several issues, including a problem with the GoToDefinitionSplit action, an obstacle preventing project rejoining, an infinite loop occurring when copying a folder into its subfolder, erratic run indicators when buffer content changes, the breadcrumb appearing in the image viewer despite toolbar breadcrumbs being disabled, the inability to open the outline modal when focus is on the buffer search bar, a crash occurring while typing in the assistant panel with edit predictions enabled, and inconsistencies in keystroke rendering on Linux.

Here is the full announcement:

Zed 0.176.1

Today, we are launching our private beta for enhanced Git integrations. We'll gradually invite users from the  Git beta waitlist daily. Keep an eye out for an invite email from our team in the coming days.


Breaking Changes and NoticesRenamed editor::RevertSelectedHunks and editor::RevertFile to git::Restore and git::RestoreFile for consistency with git (#25197) Renamed the editor::ExpandAllHunkDiffs action to editor::ExpandAllDiffHunks (#25369) Enhancements
  • Added an allow_rewrap setting to control the editor::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 and false to match boolean 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)
  • Vim: Fixed a panic when submitting a search. ( #25717)

Keybind Improvements

  • Emacs: Added mapping for alt-m (back-to-indentation). ( #25428)
  • Emacs: Added support for alt-{ and alt-} 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, and cmd-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 a tests module in lib.rsmain.rs, or mod.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 and LICENCE.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 to none. ( #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 to false in certain languages. ( #25447)

Screenshot_from_2024_07_12_09_18_19

Release v0.176.1 · zed-industries/zed