Releases

Keep up with the weekly Zed releases.


October

0.158.0

10/16/2024

macOS
Linux

Enhancements

General

  • Added the ability to click intermediate auto-folded project panel entries (#18956).
  • Added a new editor: format selections action that allows formatting only the currently selected text via the primary language server (#18752; thanks terziele).
  • Added an editor: reload file command (#18395; thanks schpet).
  • Improved performance on macOS when working with very long lines (#19215).
  • Adjusted the divider rule in LSP hovers to be more muted (#19255; thanks dyedgreen).
  • Switched to using the system locale in the terminal instead of forcing en_US.UTF-8 (#18967; thanks shish).
  • Improved Supermaven completions by preventing suggestions based on outdated cursor positions (#18858; thanks kevmo314).

Languages

  • Improved language auto-detection of TypeScript, JavaScript, and shell scripts. Added shebang detection for ts-node, tsx, bun, Deno JS, Deno TS, dash, and ash (#19114).
  • Improved automatic indentation behavior in JSX (#18816; thanks schpet).

Vim

  • Added basic support for Alacritty's vi mode to the built-in terminal (which is using Alacritty under the hood). Vi mode can be activated with ctrl-shift-space, enabling basic motions to navigate the terminal's scrollback buffer (#18715; thanks NukaCody).
  • Added support for using the insert button to activate vim mode (#19245; thanks axelcarl).
  • Added :e[dit], :e[dit]!, which call the editor: reload file command (#18395; thanks schpet).
  • Added z keybindings for scrolling (#18928; thanks syndesis).
  • Changed / in Vim mode to always reset the search options in the search bar back to regex-only. That means using * (in normal or visual mode) still works with its options, but the next / will reset the search options. That makes it much closer to how / behaves in Vim (#19058).
  • Improved vim mode's whole word match by using the search bar's "Match whole words" option, instead of wrapping the search term with \<...\>. This allows easier toggling of whole-word search, and it also works without enabling the regex mode (#18725; thanks osa1).
  • Added a regex option to vim::Search command to allow disabling regex search by default in the keymap (#19177; thanks osa1).

Example usage:

{
  "context": "VimControl && !menu",
  "bindings": {
    "/": ["vim::Search", { "regex": false }],
  }
}

Bug Fixes

  • Fixed Astro LSP interactions (#19266).
  • Fixed a bug where prettier was attempting to install too frequently (#19283).
  • Fixed a bug where language servers from PATH would sometimes be prioritized over the ones from direnv (#19144; thanks WeetHet).
  • Fixed \s in regex search not behaving correctly (#19241).
  • Fixed an issue where the project search would sometimes show "Search all files" when there were no results (#19108; thanks CharlesChen0823).
  • Fixed a bug where relative paths were copied incorrectly from tab context menu (#19206; thanks CharlesChen0823).
  • Fixed a bug where Supermaven was crashing on deleting non-ASCII text (#19153; thanks JunkuiZhang).
  • Fixed tab closing not respecting history. You can use the tabs.activate_on_close = neighbour settings to activate adjacent tabs, if you prefer that behavior (#19150).
  • Fixed support for macOS Keyboard Shortcuts for specific menu items like Window->Zoom (#18921; thanks henryhchchc).
  • Fixed a bug where auto-indent was not enabled while typing in multi-buffers (#18984).

Breaking Changes and Notices

  • Renamed one cursor_shape from underscore to underline (#19028).