1use crate::cmd::NodeArgs;
2use clap::{Parser, Subcommand};
3use foundry_cli::opts::GlobalArgs;
4use foundry_common::version::{LONG_VERSION, SHORT_VERSION};
5
6#[derive(Parser)]
8#[command(name = "anvil", version = SHORT_VERSION, long_version = LONG_VERSION, next_display_order = None)]
9pub struct Anvil {
10 #[command(flatten)]
12 pub global: GlobalArgs,
13
14 #[command(flatten)]
15 pub node: NodeArgs,
16
17 #[command(subcommand)]
18 pub cmd: Option<AnvilSubcommand>,
19}
20
21#[derive(Subcommand)]
22pub enum AnvilSubcommand {
23 #[command(visible_alias = "com")]
25 Completions {
26 #[arg(value_enum)]
27 shell: clap_complete::Shell,
28 },
29
30 #[command(visible_alias = "fig")]
32 GenerateFigSpec,
33}