Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor.
https://zed.dev
![]() remote: Disable ControlPersist for master ssh connection `ControlPersist=yes` combined with `ControlMaster=yes` silently forces `ForkAfterAuthentication=yes` (even when the user has explicitly set it to `no` - reported upstream in [0]) - and the latter makes the ssh subprocess disappear, which makes us think that the connection died (This is only an issue for people who have `ControlPersist=yes` in their `ssh_config`, and perhaps the answer is "if that option breaks things, don't use that option?" - but it's an option that makes sense _most_ of the time, it's just in this edge-case of "creating an ssh connection with -N and expecting the process to stay in the foreground" where it _must_ be set to no) I think the alternative approach is to tell people "if you want to use persistent connections, have a separate ~/.ssh/config entry for servername (to ssh into) and servername-no-persist (to zed into)", which is possible, but ugh. Kind of a messy situation >.< Tests: - Before: Connections to my server result in "Failed to connect: ." (The error message is attempting to show stderr, but stderr is empty) - After: Connections to my server work reliably [0] https://bugzilla.mindrot.org/show_bug.cgi?id=3743 Release Notes: - N/A |
||
---|---|---|
.cargo | ||
.cloudflare | ||
.config | ||
.github | ||
.zed | ||
assets | ||
crates | ||
docs | ||
extensions | ||
legal | ||
nix | ||
script | ||
tooling/xtask | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
Cargo.lock | ||
Cargo.toml | ||
clippy.toml | ||
CODE_OF_CONDUCT.md | ||
compose.yml | ||
CONTRIBUTING.md | ||
Cross.toml | ||
debug.plist | ||
default.nix | ||
docker-compose.sql | ||
Dockerfile-collab | ||
Dockerfile-collab.dockerignore | ||
Dockerfile-cross | ||
Dockerfile-cross.dockerignore | ||
Dockerfile-distros | ||
Dockerfile-distros.dockerignore | ||
flake.lock | ||
flake.nix | ||
LICENSE-AGPL | ||
LICENSE-APACHE | ||
LICENSE-GPL | ||
livekit.yaml | ||
Procfile | ||
Procfile.postgrest | ||
README.md | ||
renovate.json | ||
rust-toolchain.toml | ||
shell.nix | ||
typos.toml |
Zed
Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Installation
On macOS and Linux you can download Zed directly or install Zed via your local package manager.
Other platforms are not yet available:
- Windows (tracking issue)
- Web (tracking issue)
Developing Zed
- Building Zed for macOS
- Building Zed for Linux
- Building Zed for Windows
- Running Collaboration Locally
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, addpublish = 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 theaccepted
array inscript/licenses/zed-licenses.toml
. - Is
cargo-about
unable to find the license for a dependency? If so, add a clarification field at the end ofscript/licenses/zed-licenses.toml
, as specified in the cargo-about book.