1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//! `craft` subcommand

use abscissa_core::{Command, Runnable};
use clap::{Parser, Subcommand};

mod completions;
mod project;
mod setup;
mod show;

/// `craft` subcommand
#[derive(Subcommand, Command, Debug, Runnable)]
pub enum CraftSubCmd {
    /// Craft a new pace setup
    Setup(setup::SetupSubCmd),
    // TODO! Show command
    // /// Show the current pace configuration
    // Show(show::ShowSubCmd),
    // /// Generate shell completions for the specified shell
    // TODO! Project command
    // /// Craft a new pace project
    // Project(project::ProjectSubCmd),
    /// Generate shell completions for the specified shell
    Completions(completions::CompletionsCmd),
}

/// `craft` subcommand
#[derive(Command, Debug, Parser, Runnable)]
pub struct CraftCmd {
    #[clap(subcommand)]
    commands: CraftSubCmd,
}