fix: issue with usage and arg completions (#3433)

This commit is contained in:
jdx 2024-12-09 12:45:50 -06:00 committed by GitHub
parent ed3a0e7d90
commit c627a206ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 53 additions and 45 deletions

82
Cargo.lock generated
View File

@ -351,9 +351,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.38" version = "0.4.39"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
dependencies = [ dependencies = [
"android-tzdata", "android-tzdata",
"iana-time-zone", "iana-time-zone",
@ -712,9 +712,9 @@ checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b"
[[package]] [[package]]
name = "demand" name = "demand"
version = "1.2.4" version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "911255fd44dad0c6b5675764410acef128715644cbb68e5fad6a503ead70db0a" checksum = "3f411dff701b92f8dd5169b550e256f6cffbb8b90b047c77c32efa3d9fa61d66"
dependencies = [ dependencies = [
"console", "console",
"once_cell", "once_cell",
@ -968,7 +968,7 @@ dependencies = [
"pest_derive", "pest_derive",
"regex", "regex",
"strum", "strum",
"thiserror 2.0.5", "thiserror 2.0.6",
] ]
[[package]] [[package]]
@ -983,9 +983,9 @@ dependencies = [
[[package]] [[package]]
name = "fastrand" name = "fastrand"
version = "2.2.0" version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]] [[package]]
name = "fiat-crypto" name = "fiat-crypto"
@ -1719,9 +1719,9 @@ dependencies = [
[[package]] [[package]]
name = "kdl" name = "kdl"
version = "4.6.0" version = "4.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "062c875482ccb676fd40c804a40e3824d4464c18c364547456d1c8e8e951ae47" checksum = "3a18038fbecda667e7ea2101bdd02af754da5e17ca2887a7649b8f3fa809d8b8"
dependencies = [ dependencies = [
"miette", "miette",
"nom", "nom",
@ -1759,9 +1759,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.167" version = "0.2.168"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d"
[[package]] [[package]]
name = "libgit2-sys" name = "libgit2-sys"
@ -1942,21 +1942,21 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]] [[package]]
name = "miette" name = "miette"
version = "5.10.0" version = "7.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" checksum = "317f146e2eb7021892722af37cf1b971f0a70c8406f487e24952667616192c64"
dependencies = [ dependencies = [
"cfg-if",
"miette-derive", "miette-derive",
"once_cell",
"thiserror 1.0.69", "thiserror 1.0.69",
"unicode-width 0.1.14", "unicode-width 0.1.14",
] ]
[[package]] [[package]]
name = "miette-derive" name = "miette-derive"
version = "5.10.0" version = "7.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" checksum = "23c9b935fbe1d6cbd1dac857b54a688145e2d93f48db36010514d0f612d0ad67"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2085,7 +2085,7 @@ dependencies = [
"tera", "tera",
"terminal_size", "terminal_size",
"test-log", "test-log",
"thiserror 2.0.5", "thiserror 2.0.6",
"tokio", "tokio",
"toml", "toml",
"toml_edit", "toml_edit",
@ -2429,7 +2429,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc"
dependencies = [ dependencies = [
"memchr", "memchr",
"thiserror 2.0.5", "thiserror 2.0.6",
"ucd-trie", "ucd-trie",
] ]
@ -2633,7 +2633,7 @@ dependencies = [
"rustc-hash", "rustc-hash",
"rustls", "rustls",
"socket2", "socket2",
"thiserror 2.0.5", "thiserror 2.0.6",
"tokio", "tokio",
"tracing", "tracing",
] ]
@ -2652,7 +2652,7 @@ dependencies = [
"rustls", "rustls",
"rustls-pki-types", "rustls-pki-types",
"slab", "slab",
"thiserror 2.0.5", "thiserror 2.0.6",
"tinyvec", "tinyvec",
"tracing", "tracing",
"web-time", "web-time",
@ -2660,9 +2660,9 @@ dependencies = [
[[package]] [[package]]
name = "quinn-udp" name = "quinn-udp"
version = "0.5.7" version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" checksum = "52cd4b1eff68bf27940dd39811292c49e007f4d0b4c357358dc9b0197be6b527"
dependencies = [ dependencies = [
"cfg_aliases", "cfg_aliases",
"libc", "libc",
@ -2902,15 +2902,15 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.38.41" version = "0.38.42"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"errno 0.3.10", "errno 0.3.10",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -3582,11 +3582,11 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "2.0.5" version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "643caef17e3128658ff44d85923ef2d28af81bb71e0d67bbfe1d76f19a73e053" checksum = "8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47"
dependencies = [ dependencies = [
"thiserror-impl 2.0.5", "thiserror-impl 2.0.6",
] ]
[[package]] [[package]]
@ -3602,9 +3602,9 @@ dependencies = [
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "2.0.5" version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "995d0bbc9995d1f19d28b7215a9352b0fc3cd3a2d2ec95c2cadc485cdedbcdde" checksum = "d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -3874,7 +3874,7 @@ dependencies = [
"serde", "serde",
"strum", "strum",
"tempfile", "tempfile",
"thiserror 2.0.5", "thiserror 2.0.6",
"url", "url",
"which 7.0.0", "which 7.0.0",
"xz2", "xz2",
@ -3993,9 +3993,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]] [[package]]
name = "usage-lib" name = "usage-lib"
version = "1.3.4" version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d43de343a2409b44516220610d6686e765fc3701e82ed4829d5f5e5faa431967" checksum = "9e94c6959099cfbc672b68392f9b9fe7fde12447c4550f5a36af1516a0277807"
dependencies = [ dependencies = [
"clap", "clap",
"heck 0.5.0", "heck 0.5.0",
@ -4009,7 +4009,7 @@ dependencies = [
"serde", "serde",
"strum", "strum",
"tera", "tera",
"thiserror 2.0.5", "thiserror 2.0.6",
"versions", "versions",
"xx", "xx",
] ]
@ -4063,9 +4063,9 @@ dependencies = [
[[package]] [[package]]
name = "vfox" name = "vfox"
version = "0.3.3" version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a909ee4afc8dccf80dae7b73581198b1204a0dbf7b22615f95bddd3e306a439" checksum = "d4c44e4ec114bba1eeed55bc3a47ced72545cd2ffa04ce0ec0bdba1fb535807d"
dependencies = [ dependencies = [
"homedir", "homedir",
"indexmap 2.7.0", "indexmap 2.7.0",
@ -4077,7 +4077,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"tempfile", "tempfile",
"thiserror 2.0.5", "thiserror 2.0.6",
"tokio", "tokio",
"url", "url",
"xx", "xx",
@ -4500,9 +4500,9 @@ dependencies = [
[[package]] [[package]]
name = "xx" name = "xx"
version = "1.1.9" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf77a847b8a88b00563bb61a1041c90a8697bc23f0382eb1ecbe852098df351c" checksum = "f2c507cfdc3944bf23d0ef0fc39894bd05b566828bb961dbd1dc42e013d99f99"
dependencies = [ dependencies = [
"bzip2", "bzip2",
"duct", "duct",
@ -4516,7 +4516,7 @@ dependencies = [
"reqwest", "reqwest",
"sha2", "sha2",
"tar", "tar",
"thiserror 2.0.5", "thiserror 2.0.6",
"tokio", "tokio",
"xz2", "xz2",
"zip", "zip",
@ -4667,7 +4667,7 @@ dependencies = [
"pbkdf2", "pbkdf2",
"rand", "rand",
"sha1", "sha1",
"thiserror 2.0.5", "thiserror 2.0.6",
"time", "time",
"zeroize", "zeroize",
"zopfli", "zopfli",

View File

@ -127,7 +127,7 @@ versions = { version = "6", features = ["serde"] }
vfox = { version = "0.3", default-features = false } vfox = { version = "0.3", default-features = false }
walkdir = "2" walkdir = "2"
which = "7" which = "7"
xx = { version = "1", features = ["glob"] } xx = { version = "2", features = ["glob"] }
xz2 = "0.1" xz2 = "0.1"
zip = { version = "2", default-features = false, features = ["deflate"] } zip = { version = "2", default-features = false, features = ["deflate"] }

View File

@ -12,6 +12,7 @@ _mise() {
# shellcheck disable=SC2207 # shellcheck disable=SC2207
COMPREPLY=( $(usage complete-word --shell bash -s "${_usage_spec_mise_2024_12_3}" --cword="$COMP_CWORD" -- "${COMP_WORDS[@]}" ) ) COMPREPLY=( $(usage complete-word --shell bash -s "${_usage_spec_mise_2024_12_3}" --cword="$COMP_CWORD" -- "${COMP_WORDS[@]}" ) )
# shellcheck disable=SC2181
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
unset COMPREPLY unset COMPREPLY
fi fi

View File

@ -25,6 +25,8 @@ If not provided, the nearest mise.toml file will be used
### `-t --type <TYPE>` ### `-t --type <TYPE>`
Set the value of a setting in a mise.toml file
**Choices:** **Choices:**
- `infer` - `infer`

View File

@ -33,6 +33,8 @@ root directory to search for tasks
### `-s --style <STYLE>` ### `-s --style <STYLE>`
Generate documentation for tasks in a project
**Choices:** **Choices:**
- `simple` - `simple`

View File

@ -33,7 +33,7 @@ version = "0.6.0"
version = "2.7.0" version = "2.7.0"
[tools."cargo:usage-cli"] [tools."cargo:usage-cli"]
version = "1.3.3" version = "1.4.0"
[tools.cosign] [tools.cosign]
version = "2.4.1" version = "2.4.1"
@ -55,7 +55,7 @@ jq-macos-arm64 = "sha256:0bbe619e663e0de2c550be2fe0d240d076799d6f8a652b70fa04aea
version = "0.43.0" version = "0.43.0"
[tools."npm:prettier"] [tools."npm:prettier"]
version = "3.4.1" version = "3.4.2"
[tools."pipx:toml-sort"] [tools."pipx:toml-sort"]
version = "0.24.2" version = "0.24.2"

View File

@ -98,7 +98,10 @@ impl TasksLs {
fn display_usage(&self, tasks: Vec<Task>) -> Result<()> { fn display_usage(&self, tasks: Vec<Task>) -> Result<()> {
let mut usage = usage::Spec::default(); let mut usage = usage::Spec::default();
for task in tasks { for task in tasks {
let (task_spec, _) = task.parse_usage_spec(None)?; let (mut task_spec, _) = task.parse_usage_spec(None)?;
for (name, complete) in task_spec.complete {
task_spec.cmd.complete.insert(name, complete);
}
usage usage
.cmd .cmd
.subcommands .subcommands