From 24d7d3e14ff14d6e43670023bd0862e82f9408e7 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sun, 20 Jul 2025 18:41:16 +0200 Subject: pkgs/tskm: Support raw paths in place of URLs Otherwise, using `tskm` as an URL opener might fail (e.g., as `xdg-open /some/path`, would still invoke it). --- pkgs/by-name/ts/tskm/src/browser/mod.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'pkgs/by-name/ts/tskm/src/browser/mod.rs') diff --git a/pkgs/by-name/ts/tskm/src/browser/mod.rs b/pkgs/by-name/ts/tskm/src/browser/mod.rs index d83bcbc4..2129982f 100644 --- a/pkgs/by-name/ts/tskm/src/browser/mod.rs +++ b/pkgs/by-name/ts/tskm/src/browser/mod.rs @@ -14,11 +14,14 @@ use url::Url; use crate::{state::State, task}; #[allow(clippy::too_many_lines)] -pub fn open_in_browser( +pub fn open_in_browser( selected_project: &task::Project, state: &mut State, - urls: Option>, -) -> Result<()> { + urls: Option>, +) -> Result<()> +where + U: Into, +{ let old_project: Option = task::Project::get_current().context("Failed to get currently active project")?; let old_task: Option = @@ -129,7 +132,7 @@ pub fn open_in_browser( if let Some(mut stream) = socket { let real_url = if let Some(urls) = urls { - urls.into_iter().map(|url| url.to_string()).collect() + urls.into_iter().map(|url| url.into().to_string()).collect() } else { // Always add a new tab, so that qutebrowser is marked as “urgent”. vec!["qute://start".to_owned()] @@ -153,7 +156,10 @@ pub fn open_in_browser( ExitStatus::default() } else { let args = if let Some(urls) = urls { - urls.iter().map(ToString::to_string).collect() + urls.into_iter() + .map(Into::::into) + .map(|u| u.to_string()) + .collect() } else { vec![] }; -- cgit 1.4.1