diff --git a/assets/keymaps/default-linux.json b/assets/keymaps/default-linux.json index 09723597d8ff164668604cf4d29580646581f267..83a135a47b1da78662684fd03f0cbcb0e429f24a 100644 --- a/assets/keymaps/default-linux.json +++ b/assets/keymaps/default-linux.json @@ -370,8 +370,8 @@ "ctrl-shift-]": "editor::UnfoldLines", "ctrl-space": "editor::ShowCompletions", "ctrl-.": "editor::ToggleCodeActions", - "alt-ctrl-r": "editor::RevealInFinder", - "ctrl-k r": "editor::RevealInFinder", + "alt-ctrl-r": "editor::RevealInFileManager", + "ctrl-k r": "editor::RevealInFileManager", "ctrl-k p": "editor::CopyPath", "ctrl-\\": "pane::SplitRight", "ctrl-k v": "markdown::OpenPreviewToTheSide", @@ -590,7 +590,7 @@ "right": "outline_panel::ExpandSelectedEntry", "ctrl-alt-c": "outline_panel::CopyPath", "alt-ctrl-shift-c": "outline_panel::CopyRelativePath", - "alt-ctrl-r": "outline_panel::RevealInFinder", + "alt-ctrl-r": "outline_panel::RevealInFileManager", "space": "outline_panel::Open", "shift-down": "menu::SelectNext", "shift-up": "menu::SelectPrev" @@ -612,37 +612,12 @@ "alt-ctrl-shift-c": "project_panel::CopyRelativePath", "f2": "project_panel::Rename", "enter": "project_panel::Rename", - "backspace": [ - "project_panel::Trash", - { - "skip_prompt": false - } - ], - "shift-delete": [ - "project_panel::Delete", - { - "skip_prompt": false - } - ], - "delete": [ - "project_panel::Trash", - { - "skip_prompt": false - } - ], - "ctrl-backspace": [ - "project_panel::Delete", - { - "skip_prompt": false - } - ], - "ctrl-delete": [ - "project_panel::Delete", - { - "skip_prompt": false - } - ], - "alt-ctrl-r": "project_panel::RevealInFinder", + "backspace": ["project_panel::Trash", { "skip_prompt": false }], + "shift-delete": ["project_panel::Delete", { "skip_prompt": false }], + "delete": ["project_panel::Trash", { "skip_prompt": false }], + "ctrl-backspace": ["project_panel::Delete", { "skip_prompt": false }], + "ctrl-delete": ["project_panel::Delete", { "skip_prompt": false }], + "alt-ctrl-r": "project_panel::RevealInFileManager", "alt-shift-f": "project_panel::NewSearchInDirectory", "shift-down": "menu::SelectNext", "shift-up": "menu::SelectPrev", diff --git a/assets/keymaps/default-macos.json b/assets/keymaps/default-macos.json index d419db431901b0ec1ec4e66ddea009bb455c2e7c..6f1fb7df70a0d70f57388b6880c797df3802f23b 100644 --- a/assets/keymaps/default-macos.json +++ b/assets/keymaps/default-macos.json @@ -411,8 +411,8 @@ "alt-cmd-]": "editor::UnfoldLines", "ctrl-space": "editor::ShowCompletions", "cmd-.": "editor::ToggleCodeActions", - "alt-cmd-r": "editor::RevealInFinder", - "cmd-k r": "editor::RevealInFinder", + "alt-cmd-r": "editor::RevealInFileManager", + "cmd-k r": "editor::RevealInFileManager", "cmd-k p": "editor::CopyPath", "cmd-\\": "pane::SplitRight", "cmd-k v": "markdown::OpenPreviewToTheSide", @@ -612,7 +612,7 @@ "right": "outline_panel::ExpandSelectedEntry", "cmd-alt-c": "outline_panel::CopyPath", "alt-cmd-shift-c": "outline_panel::CopyRelativePath", - "alt-cmd-r": "outline_panel::RevealInFinder", + "alt-cmd-r": "outline_panel::RevealInFileManager", "space": "outline_panel::Open", "shift-down": "menu::SelectNext", "shift-up": "menu::SelectPrev" @@ -637,8 +637,9 @@ "delete": ["project_panel::Trash", { "skip_prompt": false }], "cmd-backspace": ["project_panel::Trash", { "skip_prompt": true }], "cmd-delete": ["project_panel::Delete", { "skip_prompt": false }], + "alt-cmd-r": "project_panel::RevealInFileManager", "cmd-alt-backspace": ["project_panel::Delete", { "skip_prompt": false }], - "alt-cmd-r": "project_panel::RevealInFinder", + "alt-shift-f": "project_panel::NewSearchInDirectory", "shift-down": "menu::SelectNext", "shift-up": "menu::SelectPrev", diff --git a/assets/keymaps/vim.json b/assets/keymaps/vim.json index 7a0b2646d651d2eda004035c1bc3852d85fc4cef..7b33683e294ce7c9b6595eb15998a89fedcf9ebf 100644 --- a/assets/keymaps/vim.json +++ b/assets/keymaps/vim.json @@ -717,7 +717,7 @@ "t": "project_panel::OpenPermanent", "v": "project_panel::OpenPermanent", "p": "project_panel::Open", - "x": "project_panel::RevealInFinder", + "x": "project_panel::RevealInFileManager", "shift-g": "menu::SelectLast", "g g": "menu::SelectFirst", "-": "project_panel::SelectParent" diff --git a/crates/editor/src/actions.rs b/crates/editor/src/actions.rs index 293d9da7199ccaedcaff0fe903367fe40523e16f..d0d7d912ee5ef00db9e9f21ace446d12a9717035 100644 --- a/crates/editor/src/actions.rs +++ b/crates/editor/src/actions.rs @@ -258,7 +258,7 @@ gpui::actions!( RedoSelection, Rename, RestartLanguageServer, - RevealInFinder, + RevealInFileManager, ReverseLines, RevertSelectedHunks, ScrollCursorBottom, diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 951a41f9dddba35bf2fe23f2f87b37bd9d627da0..1a4402a1c34d485a0013e5c4b95643a0110b7b8c 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -10326,7 +10326,7 @@ impl Editor { cx.notify(); } - pub fn reveal_in_finder(&mut self, _: &RevealInFinder, cx: &mut ViewContext) { + pub fn reveal_in_finder(&mut self, _: &RevealInFileManager, cx: &mut ViewContext) { if let Some(buffer) = self.buffer().read(cx).as_singleton() { if let Some(file) = buffer.read(cx).file().and_then(|f| f.as_local()) { cx.reveal_path(&file.abs_path(cx)); diff --git a/crates/editor/src/mouse_context_menu.rs b/crates/editor/src/mouse_context_menu.rs index 666303d924546dd209e32a7a7e26c1ac35349e4c..ecda4c26bdb2c83c3b7cc3dcc77e0cbf7dfad644 100644 --- a/crates/editor/src/mouse_context_menu.rs +++ b/crates/editor/src/mouse_context_menu.rs @@ -1,8 +1,9 @@ use crate::{ Copy, CopyPermalinkToLine, Cut, DisplayPoint, Editor, EditorMode, FindAllReferences, - GoToDefinition, GoToImplementation, GoToTypeDefinition, Paste, Rename, RevealInFinder, + GoToDefinition, GoToImplementation, GoToTypeDefinition, Paste, Rename, RevealInFileManager, SelectMode, ToggleCodeActions, }; +use gpui::prelude::FluentBuilder; use gpui::{DismissEvent, Pixels, Point, Subscription, View, ViewContext}; use workspace::OpenInTerminal; @@ -90,7 +91,12 @@ pub fn deploy_context_menu( .action("Copy", Box::new(Copy)) .action("Paste", Box::new(Paste)) .separator() - .action("Reveal in Finder", Box::new(RevealInFinder)) + .when(cfg!(target_os = "macos"), |builder| { + builder.action("Reveal in Finder", Box::new(RevealInFileManager)) + }) + .when(cfg!(not(target_os = "macos")), |builder| { + builder.action("Reveal in File Manager", Box::new(RevealInFileManager)) + }) .action("Open in Terminal", Box::new(OpenInTerminal)) .action("Copy Permalink", Box::new(CopyPermalinkToLine)); match focus { diff --git a/crates/outline_panel/src/outline_panel.rs b/crates/outline_panel/src/outline_panel.rs index 401605319ae5ae3582335fed18486538e3167ba8..b03146a963b9d8a06e8dde4e384e2c2792e85aa0 100644 --- a/crates/outline_panel/src/outline_panel.rs +++ b/crates/outline_panel/src/outline_panel.rs @@ -54,7 +54,7 @@ actions!( CollapseAllEntries, CopyPath, CopyRelativePath, - RevealInFinder, + RevealInFileManager, Open, ToggleFocus, UnfoldDirectory, @@ -781,7 +781,12 @@ impl OutlinePanel { let context_menu = ContextMenu::build(cx, |menu, _| { menu.context(self.focus_handle.clone()) - .action("Reveal in Finder", Box::new(RevealInFinder)) + .when(cfg!(target_os = "macos"), |menu| { + menu.action("Reveal in Finder", Box::new(RevealInFileManager)) + }) + .when(cfg!(not(target_os = "macos")), |menu| { + menu.action("Reveal in File Manager", Box::new(RevealInFileManager)) + }) .action("Open in Terminal", Box::new(OpenInTerminal)) .when(is_unfoldable, |menu| { menu.action("Unfold Directory", Box::new(UnfoldDirectory)) @@ -1112,7 +1117,7 @@ impl OutlinePanel { } } - fn reveal_in_finder(&mut self, _: &RevealInFinder, cx: &mut ViewContext) { + fn reveal_in_finder(&mut self, _: &RevealInFileManager, cx: &mut ViewContext) { if let Some(abs_path) = self .selected_entry .as_ref() diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index 0751b926cf1ca19e2d4d0cf10781f658a621c54a..ab0a30b2d7ea4a088450717e4095659794acb022 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -137,7 +137,7 @@ actions!( CopyPath, CopyRelativePath, Duplicate, - RevealInFinder, + RevealInFileManager, Cut, Paste, Rename, @@ -477,7 +477,12 @@ impl ProjectPanel { menu.action("New File", Box::new(NewFile)) .action("New Folder", Box::new(NewDirectory)) .separator() - .action("Reveal in Finder", Box::new(RevealInFinder)) + .when(cfg!(target_os = "macos"), |menu| { + menu.action("Reveal in Finder", Box::new(RevealInFileManager)) + }) + .when(cfg!(not(target_os = "macos")), |menu| { + menu.action("Reveal in File Manager", Box::new(RevealInFileManager)) + }) .action("Open in Terminal", Box::new(OpenInTerminal)) .when(is_dir, |menu| { menu.separator() @@ -1353,7 +1358,7 @@ impl ProjectPanel { } } - fn reveal_in_finder(&mut self, _: &RevealInFinder, cx: &mut ViewContext) { + fn reveal_in_finder(&mut self, _: &RevealInFileManager, cx: &mut ViewContext) { if let Some((worktree, entry)) = self.selected_entry(cx) { cx.reveal_path(&worktree.abs_path().join(&entry.path)); } diff --git a/docs/src/key-bindings.md b/docs/src/key-bindings.md index fcec763734c2409c7bcb3095416ec7e9534add8f..aeff577c391f3bbb0015a39592cda2cbbc2194a0 100644 --- a/docs/src/key-bindings.md +++ b/docs/src/key-bindings.md @@ -267,7 +267,7 @@ See the [tasks documentation](/docs/tasks#custom-keybindings-for-tasks) for more | Redo | Editor | `⌘ + Shift + Z` | | Redo selection | Editor | `⌘ + Shift + U` | | Rename | Editor | `F2` | -| Reveal in finder | Editor | `Alt + ⌘ + R` | +| Reveal in File Manager | Editor | `Alt + ⌘ + R` | | Revert selected hunks | Editor | `⌘ + Alt + Z` | | Select all | Editor | `⌘ + A` | | Select all matches | Editor | `⌘ + Shift + L` | @@ -483,7 +483,7 @@ See the [tasks documentation](/docs/tasks#custom-keybindings-for-tasks) for more | Paste | Project Panel | `⌘ + V` | | Rename | Project Panel | `Enter` | | Rename | Project Panel | `F2` | -| Reveal in finder | Project Panel | `Alt + ⌘ + R` | +| Reveal in File Manager | Project Panel | `Alt + ⌘ + R` | #### Project Search Bar