Stable release

April

Zed 0.132.2

04/24/2024

Download

Enhancements

General

  • Added preview tabs (#4922).
  • Added an editor controls menu to the tool bar. This will contain visual, editor-specific options like toggling inlay hints, showing git status or blame, etc.
    • The top-level inlay hint toggle has been removed from the tool bar, as it is now in this menu.
    • Toggling the inline git blame is also possible from this menu.
  • Added support for Centered Layout (#4685).
  • Added restore_on_startup option, accepting last_workspace (default) and none options. With none, new Zed instances will not restore workspaces that were open last.
  • Added a setting under scroll_sensitivity that allows user to control the scroll sensitivity. This value acts as a multiplier for the horizontal and vertical scroll speed.
  • Improved search UI. It now works in narrower panes, and avoids scrolling the editor on open.
    image-search-one
    image-search-one
    image-search-two
    image-search-two
    image-search-three
    image-search-three
    image-search-four
    image-search-four
  • Added a setting to show/hide the terminal button in the status bar: {"terminal": {"button": false}} to hide it (#10513).
  • Improved ordering and organization of context menus in the project panel to bring them closer to those in similar applications.
  • Hovering over an edited message in the chat now displays a tooltip revealing the timestamp of the last edit.
  • Added bindings to allow up and down arrow keys to be used while the tab switcher is open.
  • Added support for toggling a checkbox in markdown preview by clicking on it (cmd+click) (#5226).
  • Signing out of Zed will now clear the credentials state and delete the corresponding keychain items (#4716).
  • Added support for scrolling to the message you are replying to when clicking on the reply preview (#10028).
  • Added a project_panel.auto_fold_dirs setting which collapses the nesting in the project panel when there is a chain of folders containing a single folder.
    autofolddir-image
    autofolddir-image
  • Increased diagnostic context to match the project search context.
  • Adjusted Zoom In/Out for Pane and Terminal Pane to show keybinding labels.

Git

  • Added inline git blame information the editor. It's enabled by default. It can be turned off in the settings with {"git": { "inline_blame": {"enabled": false } } } for every buffer. It can be turned on/off temporarily for the current buffer, with editor: toggle git blame inline (#4793).
  • Added a notification to show git blame errors.

Tasks

  • Added task summary output into corresponding terminal tabs.
  • Task::Rerun action can now override allow_concurrent_runs and use_new_terminal properties of the task that is being reran.
  • Added tasks for bash and Python to execute selections and open files in terminal.
  • Improved task modal ordering, run, and deletion capabilities.

Extensions

  • Changed the "Install" button for extensions to always install the latest compatible version instead of becoming disabled when the latest version of an extension is incompatible with the current Zed version.
  • Added an indicator to show the currently-installed extension version when not on the latest version.
  • Disabled extension entries when there is a development copy of that extension installed.

Languages

  • Added ability to specify clangd binary path (must be absolute) and arguments in user settings. Example: {"lsp": {"clangd": {"binary": {"path": "/usr/bin/clangd", "arguments": ["--log=verbose"] }}}}

Vim

  • Added the current operator stack to the Vim status bar at the bottom of the editor (#4447).
  • Added g c c and g c to Vim keybindings to toggle comments in normal and visual mode respectively.
  • Added g ] and g [ to Vim keybindings to go to next and previous diagnostic error.
  • Changed [ x and ] x (which select larger/smaller syntax node) in Vim mode to also work in visual mode.
  • Updated Vim regexes to use \< \> instead of \b (#10539).
  • Added a vim: open default keymap command to show the default Vim keymap (#8593).

Bug Fixes

  • Fixed project panel entries misalignment with narrow panel & file icons turned off.

  • Fixed git blame data not handling the undoing of deletions correctly. (#10583).

  • Fixed git blame functionality not handling errors correctly when there are no commits yet or when file isn't committed yet.

  • Fixed caret movement issue for some special characters.

  • Fixed "Find In Project" app menu item having no keybinding (#10611).

  • Fixed some cases where diagnostics tab showed outdated entries before the language server is done with its analysis.

  • Fixed a bug where multiple extension suggestions for the same extension could be shown at once (#10320).

  • Fixed a bug where project panel settings changes would not be applied immediately.

  • Fixed Markdown code blocks in tooltips not having correct language highlighting.

    Before:

    image
    image

    After:

    screenshot-2024-04-16-12 43 39@2x
    screenshot-2024-04-16-12 43 39@2x
  • Fixed Markdown returned by clangd being rendered the wrong way (#10511).

    Before:

    screenshot-2024-04-16-12 32 15@2x
    screenshot-2024-04-16-12 32 15@2x

    After:

    screenshot-2024-04-16-12 33 02@2x
    screenshot-2024-04-16-12 33 02@2x
  • Fixed left movement in Vim mode when soft wrapping is enabled (#10350).

  • Fixed a panic when installing the CLI/registering for the zed:// protocol.

  • Fixed a panic when rendering certain malformed SVGs.

  • Fixed a (rare) panic when closing a window.

Breaking Changes

  • Pulled support for the following languages out into extensions, with automatic suggestions for their corresponding file extensions:
    • Elm (.elm)
    • GLSL (.vert, .frag)
    • Lua (.lua)
    • Nix (.nix)
    • Nu (.nu)
    • OCaml (.ml, .mli)
    • Racket (.rkt)
    • Scheme (.scm)
    • Terraform (.tf, .tfvars, .hcl)
    • Vue (.vue)