cargo_unc/
lib.rs

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)]
22/// Unc
23pub enum Opts {
24    #[strum_discriminants(strum(message = "unc"))]
25    /// Which cargo extension do you want to use?
26    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}