about summary refs log tree commit diff stats
path: root/pkgs/by-name/ts/tskm/src/interface/input
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-06 21:09:58 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-06 21:09:58 +0200
commitf7f4add2c8bb7334574f3a54fbb3510288ffd2e1 (patch)
treeb78d21b6cf2651431d13a12e911968017bef4540 /pkgs/by-name/ts/tskm/src/interface/input
parent{modules,pkgs}/qutebrowser: Enable qutebrowser support (diff)
downloadnixos-config-f7f4add2c8bb7334574f3a54fbb3510288ffd2e1.zip
pkgs/tskm: Support filtering the show `inputs` in `tskm inputs list`
Diffstat (limited to 'pkgs/by-name/ts/tskm/src/interface/input')
-rw-r--r--pkgs/by-name/ts/tskm/src/interface/input/handle.rs12
1 files changed, 10 insertions, 2 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 09827fca..0469870c 100644
--- a/pkgs/by-name/ts/tskm/src/interface/input/handle.rs
+++ b/pkgs/by-name/ts/tskm/src/interface/input/handle.rs
@@ -126,8 +126,16 @@ pub fn handle(command: InputCommand) -> Result<()> {
             info!("Waiting for firefox to stop");
             handle.join().expect("Should be joinable")?;
         }
-        InputCommand::List => {
-            for url in Input::all()? {
+        InputCommand::List { tags } => {
+            let mut tag_set = HashSet::with_capacity(tags.len());
+            for tag in tags {
+                tag_set.insert(tag);
+            }
+
+            for url in Input::all()?
+                .iter()
+                .filter(|input| tag_set.is_subset(&input.tags))
+            {
                 println!("{url}");
             }
         }