mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-01-31 00:45:24 +01:00
feat(cli): add support for global CLI arguments (#2772)
This commit is contained in:
8
.changes/add-global-flag-cli.md
Normal file
8
.changes/add-global-flag-cli.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
"cli": minor
|
||||
"cli-js": minor
|
||||
---
|
||||
|
||||
Added a new `global` boolean flag to the `CliArg` struct to support global CLI arguments. This flag allows arguments like `--verbose` to be marked as global and automatically propagated to all subcommands, enabling consistent availability throughout the CLI.
|
||||
|
||||
The new field is optional and defaults to false.
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user