//! Topology command arguments
use clap::{Args, ValueEnum};
#[derive(Args, Debug)]
pub struct TopologyArgs {
#[arg(short, long, default_value = "nodes")]
pub group_by: GroupBy,
#[arg(short, long, default_value = "table")]
pub format: OutputFormat,
#[arg(long)]
pub nodes_only: bool,
#[arg(long)]
pub topics_only: bool,
#[arg(long)]
pub ports_only: bool,
}
#[derive(Debug, Clone, ValueEnum)]
pub enum GroupBy {
Nodes,
Topics,
}
#[derive(Debug, Clone, ValueEnum)]
pub enum OutputFormat {
Table,
Json,
Graph,
}