Stable release

May

Zed 0.137.2

05/29/2024

Enhancements

General

  • Added the ability to format unsaved buffers with Prettier. This requires setting a Prettier parser in the user settings. Example for JSON: { "languages": { "JSON": { "prettier": { "allowed": true, "parser": "json" } } } } (#4529).
  • Changed the behavior of workspace::CloseActiveItem: when you're using macOS and there are no open tabs, it now closes the window (#5322). This can be controlled with a new setting, when_closing_with_no_tabs, to disable it on macOS, or enable it on other platforms.
  • Improved file finder search sorting (#11970).
  • Improved editing of file names in the project panel. Now, the file icon is shown as soon as the file extension is typed, even before the rename is confirmed.
  • Added a proxy setting (#5032, #6701, #8650, #9424, #9422, #11890).
  • Added a Duplicate action to the project panel (#5304).
  • Added the ability to create directories in open->file dialog on macOS.
Create directories in open->file dialog on macOS
Create directories in open->file dialog on macOS
  • Added a New Window item to the dock menu (#11651).

  • Standardized CLI application startup to match non-CLI application startup behavior: both now open an empty file or show the welcome page if no previous workspace exists and no path is provided.

  • Added glob support for file_types configuration (#10765).

file_types can now be written like this:

"file_types": {
  "Dockerfile": [
    "Dockerfile",
    "Dockerfile.*",
  ]
}
  • Added Cut, Copy, and Paste actions to the editor context menu (#4280).
  • Changed middle mouse down to trigger columnar selection, creating a rectangle of multicursors over a dragged region (#11990).
  • Improved performance of editing the assistant panel and untitled buffers with many edits.
  • Added font feature values. Now you can set font features like "cv01": 7.
  • Changed context menus in editors to no longer scale with buffer_font_size.
  • Added support for all OpenType font features to macOS.
  • Changed the default ESLint configuration to include the following in order to silence warnings/errors: {"codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine", }, "showDocumentation": { "enable": true } }}

AI

  • Added editor::AcceptInlineCompletion action (bound to Tab by default). To prevent accepting inline completions with tab, add {"context": "Editor && inline_completions", "bindings": {"tab": "editor::Tab"}} (#6788).

Tasks

  • Added coloration to task icons in terminal based off status (#11968).
Task icon coloration
Task icon coloration

Languages

  • Added support for autoclosing of HTML tags in local projects (#5267). This feature is enabled by default, but can be disabled with the following snippet in your settings.json:
"lsp": {
  "vscode-html-language-server": {
    "settings": {
      "html": { "tagAutoclosing": false }
    }
  }
}
  • Added built-in Go runnables and tasks that allow users to run Go test functions, test packages, or run main functions.
  • Added gopls support when opening go.mod or go.work files.
  • Added test runnable detection for PHP (PHPUnit & Pest).
  • Added task for running selected PHP code.
  • Added describe, test, and it functions to buffer symbols to support Pest runnable in PHP.
  • Added yield keyword to PHP keyword mapping.
  • Added GraphQL icon for .gql and .graphqls files.
  • Added ability to pass initialization_options to Ruby language servers (solargraph and ruby-lsp).
  • Added ability to configure own build of tailwindcss-language-server in Zed settings. Example: {"lsp":{"tailwindcss-language-server":{"binary":{"arguments":["/absolute/path/to/tailwindcss-language-server/bin/tailwindcss-language-server", "--stdio" ]}}}}
  • Fixed documentation not showing up for completion items coming from tailwindcss-language-server (#10532).

Bug Fixes

  • Fixed $ZED_SELECTED_TEXT variable in Tasks ignoring whether visual-line-mode in Vim was used.
  • Fixed language servers (such as gopls) not starting up correctly when opening a single file in Zed (#11361, #8764).
  • Fixed Zed's internal Node runtime not being put in $PATH correctly when running language servers and other commands with node (#11890).
  • Fixed gopls not working correctly when the go.mod file was in a subfolder and not the root folder of the project opened in Zed (#10224).
  • Fixed backtick characters not getting autoclosed in Golang files (#12025).
  • Fixed keybinding for rename in project panel context menu to be F2 (#11608).
  • Fixed a bug where lsp completion requests were sometimes being made twice.
  • Fixed default Prettier not respecting Zed's hard_tabs settings.
  • Fixed multiple save modals appearing for the same file being closed (#10192).
  • Fixed a theme-specific bug with highlighting of variable in Python files (#11666).