From c0b583c9efe81fc0abf66180e5742d926f5e7916 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Wed, 10 Sep 2025 18:57:05 +0200 Subject: [PATCH] keymap_editor: Move OpenKeymapEditor action into zed_actions (#37928) This lets us remove title_bar's dependency on keymap_editor, which in turns improves dev build times by ~0.5s for me Release Notes: - N/A --- Cargo.lock | 1 - crates/keymap_editor/src/keymap_editor.rs | 9 +-------- crates/title_bar/Cargo.toml | 1 - crates/title_bar/src/title_bar.rs | 5 ++--- crates/zed/src/zed/app_menus.rs | 2 +- crates/zed_actions/src/lib.rs | 2 ++ 6 files changed, 6 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 90bae2b49154423ac2b5716573125ffd7c882feb..39b8885eae2ae70c72a4705a9bd486dd0a1d37dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16710,7 +16710,6 @@ dependencies = [ "db", "gpui", "http_client", - "keymap_editor", "notifications", "pretty_assertions", "project", diff --git a/crates/keymap_editor/src/keymap_editor.rs b/crates/keymap_editor/src/keymap_editor.rs index 4040ac2e2f87c16cc9a4bd667d48d581de13168f..7aa8a0c284576c131e472ea2fb5daba4d6ed9c23 100644 --- a/crates/keymap_editor/src/keymap_editor.rs +++ b/crates/keymap_editor/src/keymap_editor.rs @@ -37,6 +37,7 @@ use workspace::{ }; pub use ui_components::*; +use zed_actions::OpenKeymapEditor; use crate::{ persistence::KEYBINDING_EDITORS, @@ -48,14 +49,6 @@ use crate::{ const NO_ACTION_ARGUMENTS_TEXT: SharedString = SharedString::new_static(""); -actions!( - zed, - [ - /// Opens the keymap editor. - OpenKeymapEditor - ] -); - actions!( keymap_editor, [ diff --git a/crates/title_bar/Cargo.toml b/crates/title_bar/Cargo.toml index f60ac7c301359d0bb0d3d8ee1d4115c5d815cf69..127fad3d8bdbf0348b946288007c81b952d14b58 100644 --- a/crates/title_bar/Cargo.toml +++ b/crates/title_bar/Cargo.toml @@ -42,7 +42,6 @@ rpc.workspace = true schemars.workspace = true serde.workspace = true settings.workspace = true -keymap_editor.workspace = true smallvec.workspace = true story = { workspace = true, optional = true } telemetry.workspace = true diff --git a/crates/title_bar/src/title_bar.rs b/crates/title_bar/src/title_bar.rs index 0211568b5abfb7d6a2ccc2c68ea800cebe312145..3e098b3660f57852aa3c208fb613cfbc3dcb1c70 100644 --- a/crates/title_bar/src/title_bar.rs +++ b/crates/title_bar/src/title_bar.rs @@ -29,7 +29,6 @@ use gpui::{ IntoElement, MouseButton, ParentElement, Render, StatefulInteractiveElement, Styled, Subscription, WeakEntity, Window, actions, div, }; -use keymap_editor; use onboarding_banner::OnboardingBanner; use project::{Project, WorktreeSettings}; use remote::RemoteConnectionOptions; @@ -705,7 +704,7 @@ impl TitleBar { "Settings Profiles", zed_actions::settings_profile_selector::Toggle.boxed_clone(), ) - .action("Keymap Editor", Box::new(keymap_editor::OpenKeymapEditor)) + .action("Keymap Editor", Box::new(zed_actions::OpenKeymapEditor)) .action( "Themes…", zed_actions::theme_selector::Toggle::default().boxed_clone(), @@ -753,7 +752,7 @@ impl TitleBar { "Settings Profiles", zed_actions::settings_profile_selector::Toggle.boxed_clone(), ) - .action("Key Bindings", Box::new(keymap_editor::OpenKeymapEditor)) + .action("Key Bindings", Box::new(zed_actions::OpenKeymapEditor)) .action( "Themes…", zed_actions::theme_selector::Toggle::default().boxed_clone(), diff --git a/crates/zed/src/zed/app_menus.rs b/crates/zed/src/zed/app_menus.rs index 89d54503ce1704c573765a2d1e7bd9a65b2f46ab..dea36e3ea2b2dd4319d9cb5bb156d5b0956c7535 100644 --- a/crates/zed/src/zed/app_menus.rs +++ b/crates/zed/src/zed/app_menus.rs @@ -17,7 +17,7 @@ pub fn app_menus() -> Vec { name: "Settings".into(), items: vec![ MenuItem::action("Open Settings", super::OpenSettings), - MenuItem::action("Open Key Bindings", keymap_editor::OpenKeymapEditor), + MenuItem::action("Open Key Bindings", zed_actions::OpenKeymapEditor), MenuItem::action("Open Default Settings", super::OpenDefaultSettings), MenuItem::action( "Open Default Key Bindings", diff --git a/crates/zed_actions/src/lib.rs b/crates/zed_actions/src/lib.rs index bc47b8f1e47d3a550d44af3bc852b136fa8b8bfc..23bae89b680ed47da9272a75cd0bb874001f5ab1 100644 --- a/crates/zed_actions/src/lib.rs +++ b/crates/zed_actions/src/lib.rs @@ -36,6 +36,8 @@ actions!( OpenDefaultKeymap, /// Opens account settings. OpenAccountSettings, + /// Opens the keymap editor. + OpenKeymapEditor, /// Opens server settings. OpenServerSettings, /// Quits the application.