aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ts/tskm/src/interface
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-11 18:19:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-11 18:19:39 +0200
commit286b742230cf2c1a0ac944ae2d01c3e0782d0017 (patch)
tree04cf477add9c9584ae428c08e40b611889a31988 /pkgs/by-name/ts/tskm/src/interface
parentmodules/qutebrowser: Use the shell wrapper (diff)
downloadnixos-config-286b742230cf2c1a0ac944ae2d01c3e0782d0017.zip
pkgs/tskm/open: Allow opening multiple URLs at a time
Diffstat (limited to 'pkgs/by-name/ts/tskm/src/interface')
-rw-r--r--pkgs/by-name/ts/tskm/src/interface/input/handle.rs9
-rw-r--r--pkgs/by-name/ts/tskm/src/interface/open/handle.rs10
2 files changed, 11 insertions, 8 deletions
diff --git a/pkgs/by-name/ts/tskm/src/interface/input/handle.rs b/pkgs/by-name/ts/tskm/src/interface/input/handle.rs
index 11304633..76eea6dc 100644
--- a/pkgs/by-name/ts/tskm/src/interface/input/handle.rs
+++ b/pkgs/by-name/ts/tskm/src/interface/input/handle.rs
@@ -69,10 +69,11 @@ pub fn handle(command: InputCommand, state: &mut State) -> Result<()> {
'outer: for all in Input::all()?.chunks(100) {
info!("Starting review for the first hundred URLs.");
- for input in all {
- info!("-> '{input}'");
- open_in_browser(&project, state, Some(input.url.clone()))?;
- }
+ open_in_browser(
+ &project,
+ state,
+ Some(all.iter().map(|f| f.url.clone()).collect()),
+ )?;
{
use std::io::{stdin, stdout, Write};
diff --git a/pkgs/by-name/ts/tskm/src/interface/open/handle.rs b/pkgs/by-name/ts/tskm/src/interface/open/handle.rs
index ca54b422..6243fd32 100644
--- a/pkgs/by-name/ts/tskm/src/interface/open/handle.rs
+++ b/pkgs/by-name/ts/tskm/src/interface/open/handle.rs
@@ -8,6 +8,8 @@
// You should have received a copy of the License along with this program.
// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+use std::str::FromStr;
+
use anyhow::{bail, Context, Result};
use log::{error, info};
use url::Url;
@@ -51,13 +53,13 @@ pub fn handle(command: OpenCommand, state: &mut State) -> Result<()> {
}
}
}
- OpenCommand::Project { project, url } => {
+ OpenCommand::Project { project, urls } => {
project.touch().context("Failed to touch project")?;
- open_in_browser(&project, state, url).with_context(|| {
+ open_in_browser(&project, state, urls).with_context(|| {
format!("Failed to open project: {}", project.to_project_display())
})?;
}
- OpenCommand::Select { url } => {
+ OpenCommand::Select { urls } => {
let selected_project: task::Project = task::Project::from_project_string(
&rofi::select(
task::Project::all()
@@ -75,7 +77,7 @@ pub fn handle(command: OpenCommand, state: &mut State) -> Result<()> {
.touch()
.context("Failed to touch project")?;
- open_in_browser(&selected_project, state, url).context("Failed to open project")?;
+ open_in_browser(&selected_project, state, urls).context("Failed to open project")?;
}
OpenCommand::ListTabs { projects, mode } => {
let projects = {