Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Find a file
Piotr Osiewicz b6ea393d14
lsp: Add support for linked editing range edits (HTML tag autorenaming) (#12769)
This PR adds support for [linked editing of
ranges](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_linkedEditingRange),
which in short means that editing one part of a file can now change
related parts in that same file. Think of automatically renaming
HTML/TSX closing tags when the opening one is changed.
TODO:
- [x] proto changes
- [x] Allow disabling linked editing ranges on a per language basis.

Fixes #4535 

Release Notes:
- Added support for linked editing ranges LSP request. Editing opening
tags in HTML/TSX files (with vtsls) performs the same edit on the
closing tag as well (and vice versa). It can be turned off on a language-by-language basis with the following setting:
```
  "languages": {
    "HTML": {
      "linked_edits": true
    },
  }
```

---------

Co-authored-by: Bennet <bennet@zed.dev>
2024-06-11 15:52:38 +02:00
.cargo Enable tokio-console (#8897) 2024-03-05 10:56:14 -07:00
.cloudflare Remove 2 removal (#11867) 2024-05-15 11:06:05 -06:00
.config tests: Test 'db' package sequentially (#2654) 2023-06-28 15:00:43 +02:00
.github linux make install (#12870) 2024-06-10 20:43:13 -06:00
.zed Remove wiring for assistant2 (#11940) 2024-05-16 18:32:53 -04:00
assets lsp: Add support for linked editing range edits (HTML tag autorenaming) (#12769) 2024-06-11 15:52:38 +02:00
crates lsp: Add support for linked editing range edits (HTML tag autorenaming) (#12769) 2024-06-11 15:52:38 +02:00
docs linux make install (#12870) 2024-06-10 20:43:13 -06:00
extensions ruby: Remove outline for running tests (#12642) 2024-06-10 18:04:43 +02:00
script linux make install (#12870) 2024-06-10 20:43:13 -06:00
tooling/xtask xtask: Check for licenses that are duplicated instead of being symlinked (#11777) 2024-05-13 19:13:09 -04:00
.dockerignore Add serialized versions of themes (#6885) 2024-01-27 13:35:43 -05:00
.gitattributes Prevent GitHub from displaying comments within JSON files as errors (#7043) 2024-01-29 23:11:25 -05:00
.gitignore Add Flatpak build system and support (#12006) 2024-05-27 19:01:20 -06:00
.mailmap Update .mailmap (#11633) 2024-05-09 19:03:34 -04:00
Cargo.lock Overhaul inline assistant (#12846) 2024-06-11 12:39:45 +02:00
Cargo.toml Overhaul inline assistant (#12846) 2024-06-11 12:39:45 +02:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md (#4239) 2024-01-23 22:31:39 -05:00
CONTRIBUTING.md Remove stray word in CONTRIBUTING.md 2024-04-15 16:30:18 -04:00
debug.plist WIP 2023-12-14 09:25:14 -07:00
docker-compose.sql Add config files for running Postgres inside Docker Compose (#3637) 2023-12-13 17:25:07 -05:00
docker-compose.yml Add LiveKit server to Docker Compose (#7907) 2024-02-16 10:49:48 -05:00
Dockerfile Rust 1.78 (#11314) 2024-05-05 15:02:50 +02:00
LICENSE-AGPL chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-APACHE chore: Add crate licenses. (#4158) 2024-01-23 16:56:22 +01:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
livekit.yaml Add LiveKit server to Docker Compose (#7907) 2024-02-16 10:49:48 -05:00
Procfile Revert change to tracing (#10578) 2024-04-15 14:00:56 -06:00
README.md Fix README links (#11382) 2024-05-03 19:53:22 -04:00
rust-toolchain.toml Rust 1.78 (#11314) 2024-05-05 15:02:50 +02:00
typos.toml Restore vim docs (#11491) 2024-05-07 09:24:00 -06:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Installation

You can download Zed today for macOS (v10.15+).

Support for additional platforms is on our roadmap:

For macOS users, you can also install Zed using Homebrew:

brew install --cask zed

Alternatively, to install the Preview release:

brew install --cask zed@preview

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.