30 lines
510 B
Rust
30 lines
510 B
Rust
|
use std::path::PathBuf;
|
||
|
|
||
|
use clap::{Args, Parser, Subcommand};
|
||
|
|
||
|
#[derive(Parser)]
|
||
|
pub(crate) struct Cli {
|
||
|
#[arg(short, long, value_name = "FILE")]
|
||
|
pub config: Option<PathBuf>,
|
||
|
|
||
|
#[command(subcommand)]
|
||
|
pub command: Option<Commands>,
|
||
|
}
|
||
|
|
||
|
#[derive(Subcommand)]
|
||
|
pub(crate) enum Commands {
|
||
|
|
||
|
#[command(subcommand)]
|
||
|
Planning(Planning)
|
||
|
}
|
||
|
|
||
|
#[derive(Subcommand)]
|
||
|
pub(crate) enum Planning {
|
||
|
I2work(Issue2Work)
|
||
|
}
|
||
|
|
||
|
#[derive(Args, Debug)]
|
||
|
pub(crate) struct Issue2Work {
|
||
|
pub issue_url: String
|
||
|
}
|