Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor. https://zed.dev
Find a file
James Tucker 30ade60ee7
gpui: improve font rendering on Windows
The move to DirectWrite was a substantial change in how the glyph atlas
is produced. The initial implementation used ClearType but was
downsampling to grayscale during atlas generation, then using the
grayscale atlas as an alpha mask. The problem with this approach is that
DirectWrite rendering is dependent upon internal gamma correction - i.e.
the color of the text and background. As we're producing a colorless
atlas we can't tell DirectWrite what colors to target.

This change moves to render with grayscale which is a better match for
our intended target of an alpha mask atlas. The atlas effectively still
contains a gamma bias, in that the render effectively assumes a black on
white render, leading to perceptually missing pixels when a final blend
is performed in a light on dark render. To address this the shader
applies a conditional gamma correction based on the luminance of the
text, assuming that most of the time light text implies a light on dark
render. The result is a rendering that is perceptually extremely close
to the old render target, but still closer to the platform common render
behavior - perceptually light on dark renders are now "slightly thinner"
than before, but have a "complete" render, that is they are no longer
missing light pixels necessary for legibility.

Updates #36023
2025-08-25 12:41:17 -07:00
.cargo windows: Publish nightly (#24800) 2025-07-09 08:57:03 +08:00
.cloudflare docs: Document context servers (#21170) 2024-11-25 11:05:14 -05:00
.config emmet: Extract to zed-extensions/emmet repository (#36323) 2025-08-16 17:02:51 +00:00
.github ci: Switch from ubuntu-latest to namespace (2) (#36702) 2025-08-21 13:21:37 -04:00
.zed Ensure *.json recognized as JSONC if checkout folder not zed (#34289) 2025-07-11 14:25:09 +00:00
assets workspace: Allow disabling of padding on zoomed panels (#31913) 2025-08-25 19:02:19 +00:00
crates gpui: improve font rendering on Windows 2025-08-25 12:41:17 -07:00
docs docs: Update settings in diagnostics.md (#36806) 2025-08-23 19:11:27 +03:00
extensions Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
legal ci: Check for broken links (#30844) 2025-06-06 09:39:35 +00:00
nix Use IBM Plex Sans / Lilex (#36084) 2025-08-13 13:25:52 -06:00
script ACP debug tools pane (#36768) 2025-08-22 19:32:49 +00:00
tooling acp: Remove ACP v0 (#36785) 2025-08-22 22:09:08 -06:00
.clinerules Initial .rules file for agent with symlinks for other rules file paths (#29014) 2025-04-17 23:41:23 +00:00
.cursorrules Initial .rules file for agent with symlinks for other rules file paths (#29014) 2025-04-17 23:41:23 +00:00
.git-blame-ignore-revs Add PR 15352 to .git-blame-ignore-revs (#30870) 2025-05-17 11:35:58 +00:00
.gitattributes Prevent GitHub from displaying comments within JSON files as errors (#7043) 2024-01-29 23:11:25 -05:00
.gitignore Account for issue types in top-ranking issues script (#33118) 2025-06-20 14:19:29 -04:00
.mailmap Update .mailmap (#30874) 2025-05-17 12:34:42 +00:00
.prettierrc ci: Add check for formatting default.json (#30034) 2025-05-06 18:55:26 +00:00
.rules gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
.windsurfrules Initial .rules file for agent with symlinks for other rules file paths (#29014) 2025-04-17 23:41:23 +00:00
Cargo.lock Fix crash when opening inspector on Windows debug build (#36829) 2025-08-24 11:01:42 +00:00
Cargo.toml acp: Remove ACP v0 (#36785) 2025-08-22 22:09:08 -06:00
CLAUDE.md Initial .rules file for agent with symlinks for other rules file paths (#29014) 2025-04-17 23:41:23 +00:00
clippy.toml Restructure agent context (#29233) 2025-04-24 21:29:33 +00:00
CODE_OF_CONDUCT.md Remove community content from docs and point to zed.dev (#19895) 2024-10-29 09:44:58 -04:00
compose.yml Set stripe-mock version to 0.178.0 to match stripe API version used (#34786) 2025-07-20 19:39:04 +00:00
CONTRIBUTING.md Allow icon themes to provide their own file associations (#24926) 2025-02-15 00:35:13 +00:00
Cross.toml Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
debug.plist WIP 2023-12-14 09:25:14 -07:00
default.nix Fix nix build (#26270) 2025-03-10 01:06:11 -07:00
docker-compose.sql collab: Setup database for LLM service (#15882) 2024-08-06 17:18:08 -04:00
Dockerfile-collab Revert "Revert "chore: Bump Rust to 1.89 (#35788)"" (#35937) 2025-08-09 23:48:58 +02:00
Dockerfile-collab.dockerignore ci: Move collab to Dockerfile-collab (#18515) 2024-09-30 16:14:26 -04:00
Dockerfile-cross Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
Dockerfile-cross.dockerignore Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
Dockerfile-distros Support More Linux (#18480) 2024-09-30 17:46:21 -04:00
Dockerfile-distros.dockerignore Support More Linux (#18480) 2024-09-30 17:46:21 -04:00
flake.lock Revert "Revert "chore: Bump Rust to 1.89 (#35788)"" (#35937) 2025-08-09 23:48:58 +02:00
flake.nix nix: Add job names and garnix substitutor (#31625) 2025-05-28 13:32:12 -07:00
LICENSE-AGPL Update license year (#24191) 2025-02-04 09:02:59 -05:00
LICENSE-APACHE Update license year (#24191) 2025-02-04 09:02:59 -05:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
livekit.yaml Add LiveKit server to Docker Compose (#7907) 2024-02-16 10:49:48 -05:00
lychee.toml ci: Check for broken links (#30844) 2025-06-06 09:39:35 +00:00
Procfile Update instructions for local collaboration (#35689) 2025-08-06 11:10:28 -07:00
Procfile.postgrest Fix llm queries (#16006) 2024-08-08 17:21:38 -07:00
Procfile.web Add a few more testing features (#36778) 2025-08-22 22:17:02 +00:00
README.md Adjust Zed badge (#35290) 2025-07-29 14:24:10 -04:00
renovate.json renovate: Require dependency dashboard approval for updates (#29065) 2025-04-18 18:44:30 +00:00
rust-toolchain.toml Eliminate host targets from rust toolchain file (#36077) 2025-08-12 14:36:48 -07:00
shell.nix Fix nix build (#26270) 2025-03-10 01:06:11 -07:00
typos.toml Remove /docs slash command (#36325) 2025-08-16 19:00:31 +00:00

Zed

Zed CI

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:

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

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.