Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor. https://zed.dev
Find a file
Victor Tran fa3d0aaed4
gpui: Allow selection of "Services" menu independent of menu title (#34115)
Release Notes:

- N/A

---

In the same vein as #29538, the "Services" menu on macOS depended on the
text being exactly "Services", not allowing for i18n of the menu name.

This PR introduces a new menu type called `OsMenu` that defines a
special menu that can be populated by the system. Currently, it takes
one enum value, `ServicesMenu` that tells the system to populate its
contents with the items it would usually populate the "Services" menu
with.

An example of this being used has been implemented in the `set_menus`
example:
`cargo run -p gpui --example set_menus`

---

Point to consider:

In `mac/platform.rs:414` the existing code for setting the "Services"
menu remains for backwards compatibility. Should this remain now that
this new method exists to set the menu, or should it be removed?

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2025-08-11 21:10:14 +00: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 collab: Add screen selector (#31506) 2025-07-21 13:44:51 +02:00
.github Add windows issue template (#35998) 2025-08-11 19:25:18 +00:00
.zed Ensure *.json recognized as JSONC if checkout folder not zed (#34289) 2025-07-11 14:25:09 +00:00
assets debugger: Add refinements to the UI (#35940) 2025-08-10 15:23:27 -03:00
crates gpui: Allow selection of "Services" menu independent of menu title (#34115) 2025-08-11 21:10:14 +00:00
docs docs: Clarify storage of AI API keys (#35963) 2025-08-10 23:28:28 -03:00
extensions emmet: Enable in Vue.js files (#35599) 2025-08-08 02:50:54 +00:00
legal ci: Check for broken links (#30844) 2025-06-06 09:39:35 +00:00
nix linux: Make desktop file executable (#35597) 2025-08-04 15:35:19 -04:00
script Fix uploading mac dsyms (#35904) 2025-08-09 03:28:36 -07:00
tooling Pull action_log into its own crate (#35959) 2025-08-10 21:57:55 +00: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 agent2: Port more tools (#35987) 2025-08-11 17:24:48 +00:00
Cargo.toml Pull action_log into its own crate (#35959) 2025-08-10 21:57:55 +00: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
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 Revert "Revert "chore: Bump Rust to 1.89 (#35788)"" (#35937) 2025-08-09 23:48:58 +02:00
shell.nix Fix nix build (#26270) 2025-03-10 01:06:11 -07:00
typos.toml windows: Port to DirectX 11 (#34374) 2025-07-30 15:27:58 -07: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.