Find a file
Smit Barmase 00def035de
Some checks are pending
Congratsbot / check-author (push) Waiting to run
Congratsbot / congrats (push) Blocked by required conditions
deploy_nightly_docs / deploy_docs (push) Waiting to run
run_tests / orchestrate (push) Waiting to run
run_tests / check_style (push) Waiting to run
run_tests / clippy_windows (push) Blocked by required conditions
run_tests / clippy_linux (push) Blocked by required conditions
run_tests / clippy_mac (push) Blocked by required conditions
run_tests / clippy_mac_x86_64 (push) Blocked by required conditions
run_tests / run_tests_windows (push) Blocked by required conditions
run_tests / run_tests_linux (push) Blocked by required conditions
run_tests / check_remote_server_linux_x86_64 (push) Blocked by required conditions
run_tests / run_tests_mac (push) Blocked by required conditions
run_tests / miri_scheduler (push) Blocked by required conditions
run_tests / doctests (push) Blocked by required conditions
run_tests / check_workspace_binaries (push) Blocked by required conditions
run_tests / build_visual_tests_binary (push) Blocked by required conditions
run_tests / check_wasm (push) Blocked by required conditions
run_tests / check_dependencies (push) Blocked by required conditions
run_tests / check_docs (push) Blocked by required conditions
run_tests / check_licenses (push) Blocked by required conditions
run_tests / check_scripts (push) Blocked by required conditions
run_tests / check_remote_server_mac_aarch64 (push) Blocked by required conditions
run_tests / check_remote_server_windows_x86_64 (push) Blocked by required conditions
run_tests / check_postgres_and_protobuf_migrations (push) Blocked by required conditions
run_tests / extension_tests (push) Blocked by required conditions
run_tests / tests_pass (push) Blocked by required conditions
which_key: Add keyboard shortcut to show pending bindings (#64803)
Follow-up #63343
Depends on #64859

The pending keystrokes indicator lists the bindings that can complete a
chord, but only on hover. This PR adds `which_key::ShowPendingBindings`,
bound to `alt-/`, which opens that list from the keyboard while a chord
is pending.

For example, press `cmd-k` (`ctrl-k` on Linux/Windows), then `alt-/`.
The list opens without moving focus and stays open until the chord
completes or is cleared, even if the pointer moves away. It follows the
chord as you type, and timed chords stay paused while it's open. With no
chord pending, `alt-/` does nothing.

**Why `alt-/`?**

`/` shares a key with `?`, which is a common "help" key, and `alt-/`
isn't bound in any default or base keymap. When no chord is pending,
`alt-/` behaves as before. It only opens this popup while a chord is
pending.

On macOS, `alt-/` normally types `÷`, and it still does when no chord is
pending. The shortcut only kicks in mid-chord. The one thing we lose is
that `cmd-k` then `alt-/` used to cancel the chord and type `÷`, and now
it opens the popover instead. I think that's rare enough to be okay, and
the key can be rebound or unbound.

It can be unbound or rebound to another key. One limitation is that it
must be bound to a single keystroke. A multi-keystroke binding would
need its own pending tracking on top of the chord that's already
pending, and we don't want to add a special pending state just for this.


https://github.com/user-attachments/assets/0a26b0ad-cd7b-49d9-b466-cce54e02bf80

Release Notes:

- Added `alt-/` to show the bindings that can complete a pending
multi-keystroke shortcut.
2026-09-28 11:18:28 +00:00
.agents/skills gpui: Add bench_metrics for multi-metric Criterion benchmarks (#64753) 2026-09-27 17:37:29 +00:00
.cargo Disable share generics to reduce the binary size more (#64335) 2026-09-18 10:49:35 +00:00
.cloudflare Improve docs AI readiness (#59577) 2026-07-08 20:54:51 +00:00
.config extensions_ui: Sync suggested extensions with the live registry (#63211) 2026-09-23 20:50:24 +00:00
.factory Add humanizer skill for AI writing pattern detection (#50021) 2026-02-24 14:58:52 -06:00
.github Remove unused features from dependencies (#64826) 2026-09-27 16:19:10 +00:00
.wezel Replace incremental build scenario with binary size (#64453) 2026-09-18 22:40:24 +00:00
.zed Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
assets which_key: Add keyboard shortcut to show pending bindings (#64803) 2026-09-28 11:18:28 +00:00
ci Move Nightly release to gh-workflow (#41349) 2025-10-28 13:57:23 -06:00
crates which_key: Add keyboard shortcut to show pending bindings (#64803) 2026-09-28 11:18:28 +00:00
docs which_key: Add keyboard shortcut to show pending bindings (#64803) 2026-09-28 11:18:28 +00:00
extensions html: Bump to v0.3.2 (#64371) 2026-09-17 09:59:21 +00:00
legal legal: Use absolute URLs for Terms of Service and Privacy Policy links (#62684) 2026-08-17 09:35:54 +00:00
nix Move corgi-patches into tooling (#64292) 2026-09-17 08:04:39 +00:00
script Fix Auth and Zed.dev community PR routing (#64650) 2026-09-23 14:15:20 +00:00
tooling Remove unused features from dependencies (#64826) 2026-09-27 16:19:10 +00:00
.git-blame-ignore-revs Add PR 50413 to .git-blame-ignore-revs (#50421) 2026-03-01 00:50:33 +01:00
.gitattributes windows: Make sure zed.sh using the correct line ending (#37650) 2025-09-05 16:25:55 +00:00
.gitignore edit_prediction: Adjust to support Ollama to be used for AI edit prediction (#63519) 2026-09-01 16:07:40 +00:00
.mailmap Update .mailmap (#47413) 2026-01-22 23:57:26 +05:30
.prettierrc
.rules gpui: Add bench_metrics for multi-metric Criterion benchmarks (#64753) 2026-09-27 17:37:29 +00:00
AGENTS.md ai: Symlink an AGENTS.md file to .rules (#45939) 2026-01-19 15:29:42 +01:00
Cargo.lock Remove some unnecessary dependencies (#64862) 2026-09-28 08:56:15 +00:00
Cargo.toml acp_thread: Adopt shared ACP v2 content values (#64765) 2026-09-28 09:11:35 +00:00
CLAUDE.md
clippy.toml Revert "Revert scheduler update (#46659)" (#46671) 2026-01-14 07:19:13 +00:00
CODE_OF_CONDUCT.md
compose.yml Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
CONTRIBUTING.md Improve contribution guidelines and experience (#64296) 2026-09-25 15:42:49 +00:00
corgi.toml gpui_macos: Migrate screen capture to objc2 (#64251) 2026-09-17 01:46:02 +00:00
default.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
Dockerfile-collab Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
Dockerfile-collab.dockerignore
Dockerfile-cross.dockerignore
Dockerfile-distros Removal of mold/wild scripts and mentions in docs (#53078) 2026-04-08 21:20:02 +03:00
Dockerfile-distros.dockerignore
flake.lock Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
flake.nix ci: Remove garnix substitutor (#58033) 2026-05-29 05:56:42 +00:00
GEMINI.md Add missing GEMINI.md rule file for gemini-cli (#38885) 2025-10-02 09:47:29 -04:00
LICENSE-APACHE
LICENSE-GPL
Procfile Update instructions for local collaboration (#35689) 2025-08-06 11:10:28 -07:00
Procfile.web Remove PostgREST (#41299) 2025-10-27 13:27:59 -04:00
README.md markdown: Restore fallback language highlighting for untagged code blocks (#63023) 2026-08-21 16:00:50 +00:00
rust-toolchain.toml Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
rustfmt.toml nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
shell.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +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, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).

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

Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked.

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.

Sponsorship

Zed is developed by Zed Industries, Inc., a for-profit company.

If you’d like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.