Skip to content

Commit d2321fc

Browse files
committed
pane: Add "Reveal In File Manager" action to context menu
1 parent 19641d4 commit d2321fc

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

crates/workspace/src/pane.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ pub struct RevealInProjectPanel {
144144
pub entry_id: Option<u64>,
145145
}
146146

147+
#[derive(Clone, PartialEq, Debug, Deserialize, Default)]
148+
#[serde(rename_all = "camelCase")]
149+
pub struct RevealInFileManager {}
150+
147151
#[derive(Default, PartialEq, Clone, Deserialize)]
148152
pub struct DeploySearch {
149153
#[serde(default)]
@@ -161,6 +165,7 @@ impl_actions!(
161165
CloseInactiveItems,
162166
ActivateItem,
163167
RevealInProjectPanel,
168+
RevealInFileManager,
164169
DeploySearch,
165170
]
166171
);
@@ -2258,6 +2263,21 @@ impl Pane {
22582263
}),
22592264
)
22602265
})
2266+
.when_some(parent_abs_path.clone(), |menu, parent_abs_path| {
2267+
let reveal_in_finder_label = if cfg!(target_os = "macos") {
2268+
"Reveal in Finder"
2269+
} else {
2270+
"Reveal in File Manager"
2271+
};
2272+
2273+
menu.entry(
2274+
reveal_in_finder_label,
2275+
Some(Box::new(RevealInFileManager {})),
2276+
cx.handler_for(&pane, move |_, cx| {
2277+
cx.reveal_path(&parent_abs_path);
2278+
}),
2279+
)
2280+
})
22612281
.when_some(parent_abs_path, |menu, parent_abs_path| {
22622282
menu.entry(
22632283
"Open in Terminal",

0 commit comments

Comments
 (0)