diff --git a/Cargo.lock b/Cargo.lock
index 2c12a908..1e66c7de 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -470,6 +470,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
dependencies = [
"clap_builder",
+ "clap_derive",
]
[[package]]
@@ -493,6 +494,18 @@ dependencies = [
"clap",
]
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "clap_lex"
version = "0.6.0"
@@ -1063,12 +1076,12 @@ dependencies = [
[[package]]
name = "env_logger"
-version = "0.8.4"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
dependencies = [
- "atty",
"humantime",
+ "is-terminal",
"log",
"regex",
"termcolor",
@@ -2371,6 +2384,17 @@ version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
diff --git a/Cargo.toml b/Cargo.toml
index 9759e3f2..28035792 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -60,6 +60,7 @@ version = "0.4.24"
[dependencies.clap]
version = "4.0"
+features = ["derive"]
[dependencies.clap_complete]
version = "4.0"
@@ -80,7 +81,7 @@ version = "4.0.0"
version = "0.2.4"
[dependencies.env_logger]
-version = "0.8"
+version = "0.10"
[dependencies.erased-serde]
version = "0.3"
diff --git a/src/account/args.rs b/src/account/args.rs
index 0917fb15..da2264c0 100644
--- a/src/account/args.rs
+++ b/src/account/args.rs
@@ -33,12 +33,20 @@ pub enum Cmd {
/// Represents the account command matcher.
pub fn matches(m: &ArgMatches) -> Result