diff options
-rw-r--r-- | src/cli.rs | 40 |
1 files changed, 19 insertions, 21 deletions
@@ -5,12 +5,14 @@ use serde::Serialize; use std::path::PathBuf; use tracing::Level; -/// Simple program to manage projects and ssh hosts using tmux +/// Tool for managing tmux sessions #[derive(Debug, Clone, Default, Parser, Serialize)] #[command(author, version, about)] #[serde(into = "Config")] pub struct Cli { - /// Path to directories + /// Directory to search. + /// + /// Directories are searched recursively based on `--max-depth`. pub(crate) paths: Vec<PathBuf>, /// Max depth to recurse. @@ -21,18 +23,13 @@ pub struct Cli { /// Recurse into hidden directories. /// - /// Include hidden directories when traversing directories. (default: hidden directories - /// are skipped). A Directory is considered to be hidden if its name starts with a `.` - /// sign (dot). If `max-depth` is set to 0, this has no effect (As no recursion happens). - #[arg(long)] + /// Traverse into hidden directories while searching. A directory is considered hidden + /// if its name starts with a `.` sign (dot). If `--max-depth` is 0, this has no effect. + #[arg(long, default_value_t)] pub(crate) hidden: bool, #[command(flatten)] pub verbose: Verbosity, - - /// Connect to ssh host - #[arg(short, long)] - pub ssh: Option<String>, } impl Provider for Cli { @@ -58,15 +55,12 @@ impl From<Cli> for Config { }) .collect(); - let paths = crate::paths::Config { paths }; - let logging = crate::logging::Config { - stdout: value.verbose.into(), - ..Default::default() - }; - Config { - paths, - logging, + paths: crate::paths::Config { paths }, + logging: crate::logging::Config { + stdout: value.verbose.into(), + ..Default::default() + }, ..Default::default() } } @@ -74,11 +68,15 @@ impl From<Cli> for Config { #[derive(Debug, Default, Clone, Args)] pub struct Verbosity { - /// Print additional information per occurrence - #[arg(short, long, action = clap::ArgAction::Count, conflicts_with = "quiet")] + /// Print additional information per occurrence. + /// + /// Conflicts with `--quiet`. + #[arg(short, long, global = true, action = clap::ArgAction::Count, conflicts_with = "quiet")] pub verbose: u8, - /// Suppress all output + /// Suppress all output. + /// + /// Conflicts with `--verbose`. #[arg(short, long, global = true, conflicts_with = "verbose")] pub quiet: bool, } |