Skip to main content

gr/cli/
trending.rs

1use clap::Parser;
2
3use crate::cmds::trending::TrendingCliArgs;
4
5use super::common::GetArgs;
6
7#[derive(Parser)]
8pub struct TrendingCommand {
9    #[clap()]
10    pub language: String,
11    #[clap(flatten)]
12    get_args: GetArgs,
13}
14
15pub enum TrendingOptions {
16    Get(TrendingCliArgs),
17}
18
19impl From<TrendingCommand> for TrendingOptions {
20    fn from(options: TrendingCommand) -> Self {
21        TrendingOptions::Get(TrendingCliArgs {
22            language: options.language,
23            get_args: options.get_args.into(),
24            flush: false,
25        })
26    }
27}
28
29impl From<TrendingOptions> for TrendingCliArgs {
30    fn from(options: TrendingOptions) -> Self {
31        match options {
32            TrendingOptions::Get(args) => args,
33        }
34    }
35}