codeberg_cli/actions/milestone/
mod.rs

1use crate::render::option::option_display;
2
3pub mod create;
4pub mod edit;
5pub mod list;
6pub mod view;
7
8use clap::Subcommand;
9
10use super::GeneralArgs;
11
12/// Milestone subcommands
13#[derive(Subcommand, Debug)]
14pub enum MilestoneArgs {
15    List(list::ListMilestonesArgs),
16    View(view::ViewMilestonesArgs),
17    Create(create::CreateMilestoneArgs),
18    Edit(edit::EditMilestoneArgs),
19}
20
21impl MilestoneArgs {
22    pub async fn run(self, general_args: GeneralArgs) -> anyhow::Result<()> {
23        match self {
24            MilestoneArgs::List(args) => args.run(general_args).await,
25            MilestoneArgs::View(args) => args.run(general_args).await,
26            MilestoneArgs::Create(args) => args.run(general_args).await,
27            MilestoneArgs::Edit(args) => args.run(general_args).await,
28        }
29    }
30}
31
32fn display_milestone(milestone: &forgejo_api::structs::Milestone) -> String {
33    option_display(&milestone.title)
34}