github zed-industries/zed v0.176.0-pre

latest release: nightly
pre-release13 hours ago

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 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)

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.rs, main.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)

Breaking Changes and Notices

  • Renamed 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)

Don't miss a new zed release

NewReleases is sending notifications on new releases.