diff --git a/.changelog/unreleased/improvements/2545-cli-flexible-global-args-pos.md b/.changelog/unreleased/improvements/2545-cli-flexible-global-args-pos.md new file mode 100644 index 0000000000..450a0e7e78 --- /dev/null +++ b/.changelog/unreleased/improvements/2545-cli-flexible-global-args-pos.md @@ -0,0 +1,3 @@ +- CLI: Allow to use global args (`--chain-id`, `--base-dir`, `--wasm-dir` and + `--pre-genesis`) before or after a sub-command. + ([\#2545](https://github.com/anoma/namada/pull/2545)) \ No newline at end of file diff --git a/crates/apps/src/lib/cli.rs b/crates/apps/src/lib/cli.rs index feadc6aa80..6e93599dfa 100644 --- a/crates/apps/src/lib/cli.rs +++ b/crates/apps/src/lib/cli.rs @@ -3216,8 +3216,8 @@ pub mod args { /// Add global args definition. Should be added to every top-level /// command. pub fn def(app: App) -> App { - app.arg(CHAIN_ID_OPT.def().help("The chain ID.")) - .arg(BASE_DIR.def().help( + app.arg(CHAIN_ID_OPT.def().global(true).help("The chain ID.")) + .arg(BASE_DIR.def().global(true).help( "The base directory is where the nodes, client and wallet \ configuration and state is stored. This value can also \ be set via `NAMADA_BASE_DIR` environment variable, but \ @@ -3227,7 +3227,7 @@ pub mod args { Unix,`$HOME/Library/Application Support/Namada` on \ Mac,and `%AppData%\\Namada` on Windows.", )) - .arg(WASM_DIR.def().help( + .arg(WASM_DIR.def().global(true).help( "Directory with built WASM validity predicates, \ transactions. This value can also be set via \ `NAMADA_WASM_DIR` environment variable, but the argument \ @@ -3236,6 +3236,7 @@ pub mod args { .arg( PRE_GENESIS .def() + .global(true) .help("Dispatch pre-genesis specific logic."), ) }