Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor. https://zed.dev
Find a file
feeiyu 6b16a5555e
Fix lost focus when navigating back in project search result (#22483)
Closes #22447

When navigate forward/back, the focus moves from the ProjectSearchView's
result editor to the Pane, and then move to the ProjectSearchView, but
the event `on_focus_in` not triggered for ProjectSearchView, causing the
result editor to lose focus eventually.


f6dabadaf7/crates/workspace/src/workspace.rs (L1372)


f6dabadaf7/crates/workspace/src/workspace.rs (L1385)

Considering that the navigation might be triggered again in the next
frame, so use `on_next_frame` in `on_focus` event to move focus to
result editor.

Next frame:
- the blur event triggered for result editor.
- focus move from ProjectSearchView to result editor in `on_focus` event
for ProjectSearchView
- navigate again, focus moves from result editor to Pane then move back
to ProjectSearchView
- the focus not change during this frame, so no focus event happened for
ProjectSearchView.

![fix lost
focus1229](https://github.com/user-attachments/assets/bfaac839-7bcf-40e7-b3b4-1423d0510594)

Release Notes:

- Fix lost focus when navigate back in project search result

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-03-04 13:06:44 +00:00
.cargo windows: Make collab run on Windows (#23117) 2025-01-17 09:39:13 +02:00
.cloudflare docs: Document context servers (#21170) 2024-11-25 11:05:14 -05:00
.config tests: Test 'db' package sequentially (#2654) 2023-06-28 15:00:43 +02:00
.github Tweak the Git beta issue template (#25869) 2025-03-01 11:33:42 -05:00
.zed Add stop_at_indent for MoveToBeginningOfLine (#25428) 2025-02-25 12:03:14 -05:00
assets assistant2: Fix keyboard navigation issues when a picker is open (#25928) 2025-03-03 17:02:25 +01:00
crates Fix lost focus when navigating back in project search result (#22483) 2025-03-04 13:06:44 +00:00
docs tab: Add setting to hide the close button entirely (#23880) 2025-03-03 08:31:48 +05:30
extensions html: Add injections for style attributes and event handler attributes (#23659) 2025-03-04 09:12:25 +02:00
legal legal: Terms of Use (2025-02-13) (#24803) 2025-02-13 09:41:43 -05:00
nix nix: Update nix flake (#23343) 2025-01-19 08:40:55 -05:00
script windows: Use dev drive instead of ReFS (#25858) 2025-03-01 22:43:10 +08:00
tooling/xtask Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
.git-blame-ignore-revs More ignorable commits (#14596) 2024-07-16 17:09:50 -04:00
.gitattributes Prevent GitHub from displaying comments within JSON files as errors (#7043) 2024-01-29 23:11:25 -05:00
.gitignore Add scripts and configuration for building snap package (#25064) 2025-02-19 10:28:23 -07:00
.mailmap Add myself (Ben Kunkle) and Smit to the mailmap (#25590) 2025-02-25 19:55:39 +00:00
Cargo.lock Revert "git: Use worktree paths in the panel (#25950)" (#25995) 2025-03-04 04:20:41 +00:00
Cargo.toml chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
clippy.toml chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02: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 Add Postgrest to Docker Compose (#16498) 2024-08-19 20:50:45 -04: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 Add zed-editor package and overlay to flake (#16783) 2024-08-26 11:10:34 -04:00
docker-compose.sql collab: Setup database for LLM service (#15882) 2024-08-06 17:18:08 -04:00
Dockerfile-collab collab: Remove dependency on X11 (#19079) 2024-10-11 13:28:34 -04: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 nix: Update nix flake (#23343) 2025-01-19 08:40:55 -05:00
flake.nix nix: Return to building with crane (#21292) 2024-11-29 10:09:33 +01: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
Procfile Refactor: Restructure collab main function to prepare for new subcommand: serve llm (#15824) 2024-08-05 12:07:38 -07:00
Procfile.postgrest Fix llm queries (#16006) 2024-08-08 17:21:38 -07:00
README.md Format READMEs (#17454) 2024-09-05 15:39:16 -04:00
renovate.json Migrate Renovate config (#20741) 2024-11-15 14:37:39 -05:00
rust-toolchain.toml Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
shell.nix Add zed-editor package and overlay to flake (#16783) 2024-08-26 11:10:34 -04:00
typos.toml Rename livekit_server to livekit_api (#24984) 2025-02-16 20:24:12 +00:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

Packaging status

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.