feat(cli): add support for global CLI arguments

Added a new `global: bool` field to the `CliArg` struct to support global CLI arguments.
pull/2772/head
floriskn 1 month ago
parent ce9888a2d4
commit 2661683a7c

@ -114,6 +114,12 @@ pub struct Arg {
/// It does not define position in the argument list as a whole. When utilized with multiple=true,
/// only the last positional argument may be defined as multiple (i.e. the one with the highest index).
pub index: Option<usize>,
/// Specifies whether the argument should be global.
///
/// Global arguments are propagated to all subcommands automatically,
/// making them available throughout the CLI regardless of where they are defined.
#[serde(default)]
pub global: bool,
}
/// describes a CLI configuration

@ -278,5 +278,7 @@ fn get_arg(arg_name: String, arg: &Arg) -> ClapArg {
clap_arg = bind_value_arg!(arg, clap_arg, require_equals);
clap_arg = bind_value_arg!(arg, clap_arg, index);
clap_arg = clap_arg.global(arg.global);
clap_arg
}

Loading…
Cancel
Save