From 7a667f390bbc9a1fb15b255eebf0e4764f4f749c Mon Sep 17 00:00:00 2001 From: Petros Amoiridis Date: Wed, 15 Feb 2023 15:58:57 +0200 Subject: [PATCH] Use open_url from the platform module And remove the open function from the `util` crate. --- crates/terminal/src/terminal.rs | 4 ++-- crates/util/src/lib.rs | 12 ------------ crates/workspace/src/notifications.rs | 7 ++----- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index a4f913ec77..e92d437297 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 65af53f8c5..ea8fdee2a8 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 76ee5b1c40..141a345382 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()); }, ) }