1#![allow(clippy::large_enum_variant)]
2
3use strum::{EnumDiscriminants, EnumIter, EnumMessage};
4pub use utility_cli_rs::CliResult;
5
6pub mod commands;
7mod common;
8pub mod types;
9mod util;
10
11#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
12#[interactive_clap(context = utility_cli_rs::GlobalContext)]
13pub struct Cmd {
14 #[interactive_clap(subcommand)]
15 pub opts: Opts,
16}
17
18#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
19#[interactive_clap(context = utility_cli_rs::GlobalContext)]
20#[strum_discriminants(derive(EnumMessage, EnumIter))]
21#[interactive_clap(disable_back)]
22pub enum Opts {
24 #[strum_discriminants(strum(message = "unc"))]
25 Unc(UncArgs),
27}
28
29#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
30#[interactive_clap(context = utility_cli_rs::GlobalContext)]
31pub struct UncArgs {
32 #[interactive_clap(subcommand)]
33 pub cmd: self::commands::UncCommand,
34}