From a0bfb2d9522176b1bc4d804d02b34770d841982a Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Thu, 8 May 2025 11:46:11 +0200 Subject: [PATCH] Require at least one of `-l` / `-r` for `stream` command --- src/cli.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cli.rs b/src/cli.rs index 8532185..8245b5e 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -2,7 +2,7 @@ use std::net::SocketAddr; use std::num::ParseIntError; use std::path::PathBuf; -use clap::{Args, Parser, Subcommand, ValueEnum}; +use clap::{ArgGroup, Args, Parser, Subcommand, ValueEnum}; pub const DEFAULT_LISTEN_ADDR: &str = "127.0.0.1:8080"; @@ -131,6 +131,7 @@ pub struct Play { } #[derive(Debug, Args)] +#[clap(group(ArgGroup::new("mode").args(&["local", "remote"]).multiple(true).required(true)))] pub struct Stream { /// Stream the session via a local HTTP server #[arg(short, long, value_name = "IP:PORT", default_missing_value = DEFAULT_LISTEN_ADDR, num_args = 0..=1)]