diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index a4f913ec7721cf154112cd5caca59c6f581182fd..e92d437297bc891bec3a61858b03ccdab199bf1b 100644 --- a/crates/terminal/src/terminal.rs +++ b/crates/terminal/src/terminal.rs @@ -731,7 +731,7 @@ impl Terminal { if let Some((url, url_match)) = found_url { if *open { - util::open(&url); + cx.platform().open_url(url.as_str()); } else { self.update_hyperlink(prev_hyperlink, url, url_match); } @@ -1072,7 +1072,7 @@ impl Terminal { if self.selection_phase == SelectionPhase::Ended { let mouse_cell_index = content_index_for_mouse(position, &self.last_content); if let Some(link) = self.last_content.cells[mouse_cell_index].hyperlink() { - util::open(link.uri()); + cx.platform().open_url(link.uri()); } else { self.events .push_back(InternalEvent::FindHyperlink(position, true)); diff --git a/crates/util/src/lib.rs b/crates/util/src/lib.rs index 65af53f8c52a22fe8dddae41adfe254c1ddbce92..ea8fdee2a8c5ded508581f7e7591e73f01ad4718 100644 --- a/crates/util/src/lib.rs +++ b/crates/util/src/lib.rs @@ -9,7 +9,6 @@ use rand::{seq::SliceRandom, Rng}; use std::{ cmp::Ordering, ops::AddAssign, - path::Path, pin::Pin, task::{Context, Poll}, }; @@ -54,17 +53,6 @@ pub fn truncate_and_trailoff(s: &str, max_chars: usize) -> String { } } -pub fn open>(path: P) { - let path_to_open = path.as_ref().to_string_lossy(); - #[cfg(target_os = "macos")] - { - std::process::Command::new("open") - .arg(path_to_open.as_ref()) - .spawn() - .log_err(); - } -} - pub fn post_inc + AddAssign + Copy>(value: &mut T) -> T { let prev = *value; *value += T::from(1); diff --git a/crates/workspace/src/notifications.rs b/crates/workspace/src/notifications.rs index 76ee5b1c406cb756c16378c0990d27ea54c61767..141a345382603ea59c1699b008d2104deb4d18ae 100644 --- a/crates/workspace/src/notifications.rs +++ b/crates/workspace/src/notifications.rs @@ -146,11 +146,8 @@ pub mod simple_message_notification { pub fn init(cx: &mut MutableAppContext) { cx.add_action(MessageNotification::dismiss); cx.add_action( - |_workspace: &mut Workspace, open_action: &OsOpen, _cx: &mut ViewContext| { - #[cfg(target_os = "macos")] - { - util::open(&open_action.0); - } + |_workspace: &mut Workspace, open_action: &OsOpen, cx: &mut ViewContext| { + cx.platform().open_url(open_action.0.as_str()); }, ) }