Find a file
Ibrahim Khan 2243c13b9b
project: Fix content swap when an LSP rename also renames the file (#59104)
A "rename symbol" whose workspace edit also renames the file (a
`TextDocumentEdit` followed by a `RenameFile` resource operation) only
applied the text edit to the in-memory buffer. The on-disk file still
held the pre-edit content, so the blind `fs.rename` moved stale bytes to
the new path while the edited buffer was stranded at the old path,
swapping the two files' contents.

This persists a dirty buffer for the rename source before renaming, so
the new file receives the edited content and the now-clean buffer can't
be saved back to the old path.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #59077

Release Notes:

- Fixed a symbol rename that also renames the file swapping the contents
of the old and new files
2026-07-08 12:21:10 +00:00
.agents/skills Add dylint lint library for Zed-specific patterns (#58496) 2026-07-03 22:05:34 +00:00
.cargo
.cloudflare
.config
.factory
.github run_tests: Stop treating non-workspace dirs as packages (#60502) 2026-07-07 01:20:27 +00:00
.zed
assets Improve diff tabs toolbar design (#60464) 2026-07-06 15:46:44 +00:00
ci
crates project: Fix content swap when an LSP rename also renames the file (#59104) 2026-07-08 12:21:10 +00:00
docs bedrock: Add native support for Bedrock Mantle models (#60480) 2026-07-07 22:20:34 +00:00
extensions ci: Set and enforce more default permissions (#60222) 2026-07-06 16:02:54 +00:00
legal
nix agent: Sandboxing polish (#60173) 2026-07-01 14:55:30 +00:00
script Update issue ranking script dependencies (#60345) 2026-07-07 12:49:19 +00:00
tooling Add license symlinks to lint test fixture crates (#60505) 2026-07-07 01:35:06 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore
.mailmap
.prettierrc
.rules
AGENTS.md
Cargo.lock editor: Decode escaped characters in hover popover links (#55973) 2026-07-08 09:01:58 +00:00
Cargo.toml bedrock: Add native support for Bedrock Mantle models (#60480) 2026-07-07 22:20:34 +00:00
CLAUDE.md
clippy.toml
CODE_OF_CONDUCT.md
compose.yml
CONTRIBUTING.md
debug.plist
default.nix
Dockerfile-collab
Dockerfile-collab.dockerignore
Dockerfile-cross.dockerignore
Dockerfile-distros
Dockerfile-distros.dockerignore
flake.lock
flake.nix
GEMINI.md
LICENSE-APACHE
LICENSE-GPL
livekit.yaml
lychee.toml
Procfile
Procfile.web
README.md
renovate.json
REVIEWERS.conl
rust-toolchain.toml
rustfmt.toml
shell.nix
typos.toml

Zed

Zed CI

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


Installation

On macOS, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).

Other platforms are not yet available:

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

Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked.

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.

Sponsorship

Zed is developed by Zed Industries, Inc., a for-profit company.

If youd like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.