Skip to main content

gq_cli/
args.rs

1use clap::builder::{
2    styling::{AnsiColor, Effects},
3    Styles,
4};
5use clap::{command, Parser};
6use clap_verbosity_flag::Verbosity;
7
8pub use self::input_query::InputQuery;
9use self::{input_data::InputData, output::Output};
10
11pub mod input_data;
12pub mod input_query;
13pub mod output;
14
15#[derive(Parser, Debug)]
16#[command(version, about, long_about = None)]
17#[command(styles = Styles::styled()
18    .header(AnsiColor::Yellow.on_default() | Effects::BOLD)
19    .usage(AnsiColor::Yellow.on_default() | Effects::BOLD)
20    .literal(AnsiColor::Green.on_default())
21    .placeholder(AnsiColor::Blue.on_default()))]
22#[clap(name = "gq")]
23pub struct Args {
24    #[clap(flatten)]
25    pub input_data: InputData,
26
27    #[clap(flatten)]
28    pub input_query: InputQuery,
29
30    #[clap(flatten)]
31    pub output: Output,
32
33    /// Verbosity level
34    #[command(flatten)]
35    pub verbose: Verbosity,
36}