mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-05 15:43:38 +00:00
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
5ded86543b
## Motivation I ❤️ Zed! It's lightning fast and has great UX. I want it to run as well on all major platforms. I'm currently using Linux most actively. [Blade](https://github.com/kvark/blade) is a good candidate for providing GPU access: it supports Vulkan, Metal, and GLES/WebGL. Its abstraction is extremely thin, while having one of the nicest GPU APIs. Codebase is also tiny. Checkout [the meetup recording](https://www.youtube.com/watch?v=63dnzjw4azI&t=623s) from a year ago. I believe these projects make a good match 🚀 ! ### Why this is a bad idea If Zed team wants to use off-the-shelf components from Rust ecosystem, then Blade is certainly at disadvantage here, since it's not widely used. It would rely on Zed team adding necessary features in a branch, then maybe upstreaming some of them. That is to say, it's unclear if this can be avoided with more popular alternatives - being flexible with any local changes is a good ability. ### Why it's not too bad Blade uses [WGSL](https://www.w3.org/TR/WGSL) shaders, similar to `wgpu` and `arcana`, but without the binding decorations. So this aspect of the product is nicely portable. ## Progress - [ ] Platforms - [x] X11 (via xcb) - [ ] input handling - [ ] get proper content size - [ ] Windows - [ ] Replace the existing Metal backend - [ ] Text System - [ ] shaping - [ ] glyph rasterization - [x] Texture atlas - [ ] Rendering - [x] basic primitives - [x] path rendering - [x] sprite rendering - [ ] media surfaces - [ ] CI ## Current status Zed starts up but crashes on text-system related checks. ![zed-linux-1](https://github.com/zed-industries/zed/assets/107301/ba536218-4d2c-43c9-ae6c-bef69b54bd0c) |
||
---|---|---|
.cargo | ||
.config | ||
.github | ||
.zed | ||
assets | ||
crates | ||
docs | ||
plugins | ||
script | ||
.dockerignore | ||
.gitattributes | ||
.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.
Installation
You can download Zed today for macOS (v10.15+).
Support for additional platforms is on our roadmap:
- Linux (tracking issue)
- Windows (tracking issue)
- Web (tracking issue)
For macOS users, you can also install Zed from Homebrew:
brew install zed
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.