//! Types for topics commands

use clap::Subcommand;

/// Topics subcommands
#[derive(Subcommand)]
pub enum TopicsCommand {
    /// List all topics with interactive menu (defaults to all topics)
    List {
        /// Optional topic pattern (glob-style, e.g., "/sensor/*"). Defaults to "mecha10:*" (all topics)
        #[arg(default_value = "mecha10:*")]
        pattern: String,

        /// Show topic metadata (message count, rate, publishers, subscribers)
        #[arg(short, long)]
        verbose: bool,

        /// Group topics by category (e.g., /sensor, /actuator, /control)
        #[arg(short, long, default_value = "true")]
        grouped: bool,
    },
}
