Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor.
https://zed.dev
![]() Closes https://github.com/zed-industries/zed/issues/27673 Closes https://github.com/zed-industries/zed/issues/29344 Closes #29863 This PR fixes an issue where Zed was showing no language and `4:1` as a line/column value on startup, as described in the linked issues. You can actually see in the first issue that the user also experiences the same issue as described in the second one, as his line/column value is noticably also `4:1`. https://github.com/user-attachments/assets/bb60e387-f4b8-4e05-80b3-4dadf1a01262 This issue arises because on assistant panel load, a new context is created and its editor focused. However, the editor is not visible despite having focus. The content for the editor for a new context is `\n\n\n` and the cursor is inserted directly after that - this is where the line:column position `4:1` comes from. For the assistant panel editor, the language is intentionally hidden, this is why the language is not shown on workspace load. The issue is only present for as long as the user does not focus and edit another editor, then that instance is focused and everything starts to work properly again. As this issue only arises with the old assistant panel, some staff members were unable to reproduce in the linked issues. Once you set `export ZED_DISABLE_STAFF=1` in your environment, you should also be able to reproduce this issue consistently. --- This PR fixes the issue by not creating a new context on assistant panel load. This should not cause any regressions; every other code path I checked creates a new context if no context is yet present. Additionally, this also seems somewhat more reasonable, as users which have the assistant panel disabled will never need a new context anyway, so no context should be created. In the following video, you can see this fixes the issue when the assistant panel was not open the last time Zed was opened. If the panel was open before Zed was closed, we will still properly focus the panel and then the `4:1` will show again, which in that case is correct. The assistant panel editor is focused and the missing language as well as the line number then match what the user sees, experiences and expects. https://github.com/user-attachments/assets/224a786b-52c7-4212-bccb-dff6d9db62c3 Release Notes: - Fixed an issue where Zed would show no language and an incorrect line/column value on startup. Co-authored-by: Peter Tripp <peter@zed.dev> |
||
---|---|---|
.cargo | ||
.cloudflare | ||
.config | ||
.github | ||
.zed | ||
assets | ||
crates | ||
docs | ||
extensions | ||
legal | ||
nix | ||
script | ||
tooling | ||
.clinerules | ||
.cursorrules | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.rules | ||
.windsurfrules | ||
Cargo.lock | ||
Cargo.toml | ||
CLAUDE.md | ||
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.