mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-29 04:20:46 +00:00
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
1c2859d72b
One of the complaints of users on our first Hack call was that the error messages you got when channel joining failed were not great. This aims to fix that specific case, and lay the groundwork for future improvements. It adds two new methods to anyhow::Error * `.error_code()` which returns a value from zed.proto (or ErrorCode::Internal if the error has no specific tag) * `.error_tag("key")` which returns the value of the tag (or None). To construct errors with these fields set, you can use a builder API based on the ErrorCode type: * `Err(ErrorCode::Forbidden.anyhow())` * `Err(ErrorCode::Forbidden.message("cannot join channel").into())` - to add any context you want in the logs * `Err(ErrorCode::WrongReleaseChannel.tag("required", "stable").into())` - to add structured metadata to help the client handle the error better. Release Notes: - Improved error messaging when channel joining fails. |
||
---|---|---|
.cargo | ||
.config | ||
.github | ||
.zed | ||
assets | ||
crates | ||
docs | ||
plugins | ||
script | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
Cargo.lock | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
debug.plist | ||
docker-compose.sql | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE-AGPL | ||
LICENSE-APACHE | ||
LICENSE-GPL | ||
Procfile | ||
README.md | ||
rust-toolchain.toml | ||
typos.toml |
Zed
Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Developing Zed
Contributing
See CONTRIBUTING.md for ways you can contribute to Zed.
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.