diff --git a/Cargo.lock b/Cargo.lock index 09ee945d1c34cf1ae93a3cc538d62860ad3a1c78..a39ff712e3a5b9cefe42bcec8359fdf297d55f71 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8729,7 +8729,6 @@ dependencies = [ "ui", "ui_input", "util", - "vim", "workspace", "zed_actions", ] diff --git a/crates/keymap_editor/Cargo.toml b/crates/keymap_editor/Cargo.toml index b6086566c3be01b60527d497b836fc53d101e467..33ba95ddd6d8df7efe2f551451af0340d83369c7 100644 --- a/crates/keymap_editor/Cargo.toml +++ b/crates/keymap_editor/Cargo.toml @@ -41,7 +41,6 @@ tree-sitter-rust.workspace = true ui_input.workspace = true ui.workspace = true util.workspace = true -vim.workspace = true workspace.workspace = true zed_actions.workspace = true diff --git a/crates/keymap_editor/src/keymap_editor.rs b/crates/keymap_editor/src/keymap_editor.rs index 5e39e80b4bd7e9b91c9419290a48b39d060aa267..ce78a1d60ac610bbf10383377fef667c0a4eaa36 100644 --- a/crates/keymap_editor/src/keymap_editor.rs +++ b/crates/keymap_editor/src/keymap_editor.rs @@ -1769,7 +1769,7 @@ impl Render for KeymapEditor { ) .action( "Vim Bindings", - vim::OpenDefaultKeymap.boxed_clone(), + zed_actions::vim::OpenDefaultKeymap.boxed_clone(), ) })) }) diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index 410bea6b9c268a3009c7ff41ebf565eaa4a79bff..b21fd02a05c7fca93f09b436488318fdc3bd33c4 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -67,7 +67,7 @@ use workspace::{ notifications::{DetachAndPromptErr, NotifyResultExt, NotifyTaskExt}, }; use worktree::CreatedEntry; -use zed_actions::workspace::OpenWithSystem; +use zed_actions::{project_panel::ToggleFocus, workspace::OpenWithSystem}; const PROJECT_PANEL_KEY: &str = "ProjectPanel"; const NEW_ENTRY_ID: ProjectEntryId = ProjectEntryId::MAX; @@ -306,8 +306,6 @@ actions!( OpenSplitVertical, /// Opens the selected file in a horizontal split. OpenSplitHorizontal, - /// Toggles focus on the project panel. - ToggleFocus, /// Toggles visibility of git-ignored files. ToggleHideGitIgnore, /// Toggles visibility of hidden files. diff --git a/crates/vim/Cargo.toml b/crates/vim/Cargo.toml index 4cea29508f437d6753a78155965b94259a2d7884..c935fd76dba79d24d6637ef5acd70f50870f82e7 100644 --- a/crates/vim/Cargo.toml +++ b/crates/vim/Cargo.toml @@ -35,7 +35,6 @@ multi_buffer.workspace = true nvim-rs = { git = "https://github.com/KillTheMule/nvim-rs", rev = "764dd270c642f77f10f3e19d05cc178a6cbe69f3", features = ["use_tokio"], optional = true } picker.workspace = true project.workspace = true -project_panel.workspace = true regex.workspace = true schemars.workspace = true search.workspace = true diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index a0efd1ee29a3c72793c331cf4ccbeb38444bd55b..ce359b6b1eea24d862f68813b97e23ea27829435 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -183,8 +183,6 @@ actions!( InnerObject, /// Maximizes the current pane. MaximizePane, - /// Opens the default keymap file. - OpenDefaultKeymap, /// Resets all pane sizes to default. ResetPaneSizes, /// Resizes the pane to the right. @@ -314,7 +312,7 @@ pub fn init(cx: &mut App) { workspace.register_action(|_, _: &ToggleProjectPanelFocus, window, cx| { if Vim::take_count(cx).is_none() { - window.dispatch_action(project_panel::ToggleFocus.boxed_clone(), cx); + window.dispatch_action(zed_actions::project_panel::ToggleFocus.boxed_clone(), cx); } }); @@ -343,7 +341,7 @@ pub fn init(cx: &mut App) { }; }); - workspace.register_action(|_, _: &OpenDefaultKeymap, _, cx| { + workspace.register_action(|_, _: &zed_actions::vim::OpenDefaultKeymap, _, cx| { cx.emit(workspace::Event::OpenBundledFile { text: settings::vim_keymap(), title: "Default Vim Bindings", diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 92b78704163c7852867df8fefc018eaf4135210b..18f4a12b5d4abf8a11ae825bed2ad44feb1563ec 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -1002,7 +1002,7 @@ fn register_actions( .register_action(open_project_debug_tasks_file) .register_action( |workspace: &mut Workspace, - _: &project_panel::ToggleFocus, + _: &zed_actions::project_panel::ToggleFocus, window: &mut Window, cx: &mut Context| { workspace.toggle_panel_focus::(window, cx); diff --git a/crates/zed/src/zed/app_menus.rs b/crates/zed/src/zed/app_menus.rs index 20a4f8be3b25991b4b22e4fcabd6008c7e502b65..9f91b237101044a870dda66d38edaeee08bc733d 100644 --- a/crates/zed/src/zed/app_menus.rs +++ b/crates/zed/src/zed/app_menus.rs @@ -39,7 +39,7 @@ pub fn app_menus(cx: &mut App) -> Vec { ], }), MenuItem::separator(), - MenuItem::action("Project Panel", project_panel::ToggleFocus), + MenuItem::action("Project Panel", zed_actions::project_panel::ToggleFocus), MenuItem::action("Outline Panel", outline_panel::ToggleFocus), MenuItem::action("Collab Panel", collab_panel::ToggleFocus), MenuItem::action("Terminal Panel", terminal_panel::ToggleFocus), diff --git a/crates/zed_actions/src/lib.rs b/crates/zed_actions/src/lib.rs index b9fde1f34402c56becd811a76a1d33da93413c50..803fde3f8787b4f6489bd6390d289c35b1c96199 100644 --- a/crates/zed_actions/src/lib.rs +++ b/crates/zed_actions/src/lib.rs @@ -250,6 +250,17 @@ pub mod command_palette { ); } +pub mod project_panel { + use gpui::actions; + + actions!( + project_panel, + [ + /// Toggles focus on the project panel. + ToggleFocus + ] + ); +} pub mod feedback { use gpui::actions; @@ -532,6 +543,18 @@ actions!( ] ); +pub mod vim { + use gpui::actions; + + actions!( + vim, + [ + /// Opens the default keymap file. + OpenDefaultKeymap + ] + ); +} + #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct WslConnectionOptions { pub distro_name: String,