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)]
14#[command(verbatim_doc_comment, name = "anvil", version = SHORT_VERSION, long_version = LONG_VERSION, next_display_order = None)]
15pub struct Anvil {
16 #[command(flatten)]
18 pub global: GlobalArgs,
19
20 #[command(flatten)]
21 pub node: NodeArgs,
22
23 #[command(subcommand)]
24 pub cmd: Option<AnvilSubcommand>,
25}
26
27#[derive(Subcommand)]
28pub enum AnvilSubcommand {
29 #[command(visible_alias = "com")]
31 Completions {
32 #[arg(value_enum)]
33 shell: foundry_cli::clap::Shell,
34 },
35}