github zed-industries/zed v0.125.3

latest releases: v0.160.7-pre, collab-staging, nightly...
8 months ago

Enhancements

Languages

  • Added language server support for Terraform (#5098).
  • Added ability to run ESLint fixes when formatting a buffer. Code actions configured in code_actions_on_format are now being sent to all language servers connected to a buffer, not just the primary one. So if a user now sets "code_actions_on_format": { "source.fixAll.eslint": true } in their Zed settings, the source.fixAll.eslint code action will be sent to ESLint, which is not a primary language server. Since the formatter (prettier, or external commands, or another language server, ...) still runs, it's important that these code actions and the formatter don't clash. (#4325).
  • Added ability for users to configure settings for ESLint's codeActionOnSave, e.g. specifying rules that should be respected when also using "code_actions_on_format": {"source.fixAll.eslint": true}. These settings can be passed to ESLint as part of the "lsp" part of the Zed settings. Example: {"lsp": {"eslint": {"settings": {"codeActionOnSave": { "rules": ["import/order"] }}}}} (#8533).
  • Improved Ruby Grammar to recognise various method parameters.
  • Added ESLint flat config support (#7271).
  • Added icons for: Coffeescript, Dart, Docker, F#, GraphQL, Heroku, Java, Kotlin, Nim, R, Scala, Swift, TCL, font, and license files.
  • Updated icon for SQL files.
  • Added .cljc, .edn, and .bb to Clojure filename extensions (#7845).

Vim

  • Added ctrl-t and ctrl-d for indent/outdent in insert mode.
  • Added a setting for {"vim": {"use_multiline_find":true}} that lets f,t,F,T search across line boundaries.
  • Added :tabo[nly][!], closes all tabs in the current pane except the active one. (! discards unsaved changes).
  • Added :on[ly][!], closes all tabs and panes except the active one. (! discards unsaved changes).
  • Added new argument vim text object, inspired by targets.vim.
  • Added a setting to control default clipboard behavior. {"vim": {"use_system_clipboard": "never"}} disables writing to the clipboard. "on_yank" writes to the system clipboard only on yank, and "always" preserves the current behavior (#4390).
  • Added it and at to target within/around html tags.

Collaboration

  • Added option to copy the text of a message within the chat.
  • Added localization support for all macOS specific date and time configurations in chat.
  • Added an Unmute action for guests in calls. This lets them use the mic, but not edit projects.
  • Improved design of collab panel.

General

  • Added settings to control the display of gutter visual elements. "gutter": {"line_numbers": true, "code_actions": true, "folds": true} (#8041) (#7422)
  • Added placeholder to titlebar when no project is selected.
  • Added a zed: view release notes locally action (#5019).
  • Added support for rendering strikethrough text in markdown elements.
  • Added buttons to filter down to All, Installed, and Not Installed extensions in the extensions view.
  • Added debouncing to make it easier to edit text when inlay hints are enabled and to save rendering of inlay hints when scrolling. Both debounce durations can be configured with {"inlay_hints": {"edit_debounce_ms": 700}} (default) and {"inlay_hints": {"scroll_debounce_ms": 50}}. Set a value to 0 to turn off the debouncing.
  • Added Go to implementation support in editor.
  • Added the ability to open a new buffer when double-clicking on the tab bar (#6818).
  • Added a mechanism to open recent projects in the new window. Using cmd-enter will now open the project in a new window instead of reusing the current one.
  • Improved the recent projects modal by allowing removal of workspaces from the list (#7426).
  • Improved project panel keymaps for cmd-backspace / delete to delete file (#7228).
  • Improved styling of inlay hints by not making them bold in the editor.
  • Improved recent projects modal workflow.

Bug Fixes

  • Fixed flickering when hovering (#8050, (#8363)).
  • Fixed filenames with numeric components (1.txt, 1/one.txt, ...) not being sorted as numbers, but as string.
  • Fixed ability to copy folders into themselves by selecting them in project panel and hitting copy and paste. Instead of endless recursion, a copy of the folder is now created (#7314).
  • Fixed a bug where the selection was reset in the file finder during language server startup (#7519).
  • Fixed indent/outdent/join lines appearing to work in read-only buffers (#8423).
  • Fixed indent with an empty selection when the cursor was in column 0.
  • Fixed occasional panics tha occurred during collaborative editing with inlay hints on both sides.
  • Fixed a panic when hovering in a collaboration session.
  • Fixed .gitignore files beyond the first .git directory being respected by the worktree (#5749).
  • Fixed auto-inserted brackets (or quotes) not being removed when they were inserted as part of a snippet (#4605).
  • Fixed duplicate channel names appearing in the collab sidebar.
  • Fixed flashing of recent projects list when there were a lot of projects in the list (#8346).
  • Fixed Svelte outlines for TS.
  • Fixed an issue with terminal paths not allowing links when the path included + or $ symbols (#8256).
  • Fixed RPC messages checkbox not opening the LSP messages view
  • Fixed slowness that could occur when collaborating due to excessive messages being sent to support following.
  • Fixed a panic when using ctrl-m in a multibuffer.
  • Fixed certain code actions not being resolved properly (7609).
  • Vim: Fixed . when multiple windows are open (#7446).
  • Vim: Fixed switching to normal mode after J, < or > in visual mode (#4439).
  • Vim: Fixed a bug where multiple selections were not preserved when returning to normal mode.

Don't miss a new zed release

NewReleases is sending notifications on new releases.