4d0a187fd8b7603da5be4bcc67a64bf46ce845ce
During the doc parties, I've sometimes struggled with how and where to describe the high level intention behind various APIs that are available in GPUI. Fortunately, rust doc has a tool for this: Module level documentation. However, writing this kind of documentation for the `WindowContext` is difficult, as it bundles up the nice, high level GPUI APIs for entity management and view rendering, with all of the low level imperative APIs that `Element`s use to draw to the screen. Splitting these apart into an `ElementContext`, which contains a `WindowContext`, gives us a way to corral the element systems into their own API and module, allowing us to document the Element system on it's own terms, and enforce the correct usage of our APIs, and helps people who are exploring our APIs through autocomplete to not be overloaded with non-applicable methods. Release Notes: - N/A
🚧 TODO 🚧
- Add intro
- Add link to contributing guide
- Add barebones running zed from source instructions
- Link out to further dev docs
Zed
Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Developing 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 specifiederror for a crate you've created? If so, addpublish = falseunder[package]in your crate's Cargo.toml. - Is the error
failed to satisfy license requirementsfor 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 theacceptedarray inscript/licenses/zed-licenses.toml. - Is
cargo-aboutunable 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.
Languages
Rust
94.9%
JSON-with-Comments
2.7%
Python
0.8%
Inno Setup
0.3%
Tree-sitter Query
0.3%
Other
0.5%