diff --git a/CHANGELOG.md b/CHANGELOG.md index 266b783e8ad..b784351005c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - ReleaseDate +## [4.4.18] - 2024-01-16 + +### Fixes + +- *(error)* When lacking `usage` feature, ensure the list of required arguments is unique + ## [4.4.17] - 2024-01-15 ### Fixes @@ -4531,7 +4537,8 @@ Minimum version of Rust is now v1.13.0 (Stable) * **arg** allow lifetimes other than 'static in arguments ([9e8c1fb9](https://github.com/clap-rs/clap/commit/9e8c1fb9406f8448873ca58bab07fe905f1551e5)) -[Unreleased]: https://github.com/clap-rs/clap/compare/v4.4.17...HEAD +[Unreleased]: https://github.com/clap-rs/clap/compare/v4.4.18...HEAD +[4.4.18]: https://github.com/clap-rs/clap/compare/v4.4.17...v4.4.18 [4.4.17]: https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.17 [4.4.16]: https://github.com/clap-rs/clap/compare/v4.4.15...v4.4.16 [4.4.15]: https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.15 diff --git a/CITATION.cff b/CITATION.cff index c24113f2cbb..2ad91b8d989 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,8 +3,8 @@ cff-version: 1.2.0 message: Please cite this crate using these information. # Version information. -date-released: 2024-01-15 -version: 4.4.17 +date-released: 2024-01-16 +version: 4.4.18 # Project information. abstract: A full featured, fast Command Line Argument Parser for Rust diff --git a/Cargo.lock b/Cargo.lock index 6624ec9629f..c7215b3645d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -100,21 +100,6 @@ dependencies = [ "vte 0.10.1", ] -[[package]] -name = "anstream" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon 1.0.2", - "colorchoice", - "is-terminal", - "utf8parse", -] - [[package]] name = "anstream" version = "0.6.7" @@ -124,7 +109,7 @@ dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", - "anstyle-wincon 3.0.2", + "anstyle-wincon", "colorchoice", "utf8parse", ] @@ -153,16 +138,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "anstyle-wincon" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" -dependencies = [ - "anstyle", - "windows-sys 0.48.0", -] - [[package]] name = "anstyle-wincon" version = "3.0.2" @@ -286,26 +261,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ada7f35ca622a86a4d6c27be2633fc6c243ecc834859628fcce0681d8e76e1c8" -[[package]] -name = "brownstone" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5839ee4f953e811bfdcf223f509cb2c6a3e1447959b0bff459405575bc17f22" -dependencies = [ - "arrayvec 0.7.2", -] - -[[package]] -name = "bstr" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" -dependencies = [ - "lazy_static", - "memchr", - "regex-automata", -] - [[package]] name = "bumpalo" version = "3.11.0" @@ -330,9 +285,9 @@ checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytesize" @@ -404,9 +359,11 @@ checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", "pure-rust-locales", "serde", + "wasm-bindgen", "windows-targets 0.48.5", ] @@ -481,18 +438,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.0" +version = "4.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc" +checksum = "80932e03c33999b9235edb8655bc9df3204adc9887c2f95b50cb1deb9fd54253" dependencies = [ - "clap_builder 4.3.0", + "clap_builder 4.4.17", ] [[package]] name = "clap" -version = "4.4.17" +version = "4.4.18" dependencies = [ - "clap_builder 4.4.17", + "clap_builder 4.4.18", "clap_derive", "humantime", "rustversion", @@ -506,31 +463,29 @@ dependencies = [ name = "clap_bench" version = "0.0.0" dependencies = [ - "clap 4.4.17", + "clap 4.4.18", "criterion", "lazy_static", ] [[package]] name = "clap_builder" -version = "4.3.0" +version = "4.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" +checksum = "d6c0db58c659eef1c73e444d298c27322a1b52f6927d2ad470c0c0f96fa7b8fa" dependencies = [ - "anstream 0.3.2", + "anstream", "anstyle", - "bitflags 1.3.2", - "clap_lex 0.5.0", - "once_cell", + "clap_lex 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "strsim", - "terminal_size 0.2.6", + "terminal_size 0.3.0", ] [[package]] name = "clap_builder" -version = "4.4.17" +version = "4.4.18" dependencies = [ - "anstream 0.6.7", + "anstream", "anstyle", "backtrace", "clap_lex 0.6.0", @@ -545,11 +500,12 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.4.6" +version = "4.4.7" dependencies = [ - "clap 4.4.17", + "clap 4.4.18", "clap_lex 0.6.0", "completest", + "completest-pty", "is_executable", "pathdiff", "shlex", @@ -562,7 +518,7 @@ dependencies = [ name = "clap_complete_fig" version = "4.4.2" dependencies = [ - "clap 4.4.17", + "clap 4.4.18", "clap_complete", "snapbox", ] @@ -571,9 +527,10 @@ dependencies = [ name = "clap_complete_nushell" version = "4.4.2" dependencies = [ - "clap 4.4.17", + "clap 4.4.18", "clap_complete", "completest", + "completest-nu", "snapbox", ] @@ -589,19 +546,19 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +version = "0.6.0" [[package]] name = "clap_lex" version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "clap_mangen" version = "0.2.17" dependencies = [ - "clap 4.4.17", + "clap 4.4.18", "roff", "snapbox", ] @@ -644,10 +601,17 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "completest" -version = "0.1.0" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8229e041ca8f8130ad7f0ce1afb9cfdb3033de7fd548e6422dbb2f4f12184f41" + +[[package]] +name = "completest-nu" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8084b60ec7306f1e9b4d855061147a5721eabbd860854213dd69679000cc86c" +checksum = "9432569c7de3f7aed70f775c455b3d49328449edc0d3655920189cc269f7f93b" dependencies = [ + "completest", "dunce", "nu-cli", "nu-cmd-lang", @@ -655,8 +619,17 @@ dependencies = [ "nu-parser", "nu-protocol", "nu-test-support", - "ptyprocess", "reedline", +] + +[[package]] +name = "completest-pty" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a6d1272e27f608f97616be67a2aed03ed8d73910b5df9a7f4a50c4ffd59d185" +dependencies = [ + "completest", + "ptyprocess", "vt100", ] @@ -745,7 +718,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.3.0", + "clap 4.4.17", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -853,9 +826,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" dependencies = [ "csv-core", "itoa", @@ -865,9 +838,9 @@ dependencies = [ [[package]] name = "csv-core" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" dependencies = [ "memchr", ] @@ -880,13 +853,14 @@ checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" [[package]] name = "dialoguer" -version = "0.10.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" dependencies = [ "console", "fuzzy-matcher", "shell-words", + "thiserror", ] [[package]] @@ -976,34 +950,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] - -[[package]] -name = "errno" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] @@ -1042,12 +994,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fd-lock" @@ -1257,15 +1206,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.2" @@ -1278,12 +1218,33 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "htmlescape" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" +[[package]] +name = "human-date-parser" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d65b3ad1fdc03306397b6004b4f8f765cf7467194a1080b4530eeed5a2f0bc" +dependencies = [ + "chrono", + "pest", + "pest_derive", + "thiserror", +] + [[package]] name = "humantime" version = "2.1.0" @@ -1333,12 +1294,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "indent_write" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" - [[package]] name = "indexmap" version = "1.9.1" @@ -1351,9 +1306,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", "hashbrown 0.14.1", @@ -1391,15 +1346,6 @@ dependencies = [ "libc", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - [[package]] name = "inventory" version = "0.3.6" @@ -1434,8 +1380,8 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.2", - "rustix 0.38.8", + "hermit-abi", + "rustix 0.38.30", "windows-sys 0.48.0", ] @@ -1543,9 +1489,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libloading" @@ -1564,7 +1510,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229004ebba9d1d5caf41623f1523b6d52abb47d9f6ab87f7e6fc992e3b854aef" dependencies = [ "bindgen", - "errno 0.3.2", + "errno", "libc", ] @@ -1588,12 +1534,6 @@ dependencies = [ "serde", ] -[[package]] -name = "linux-raw-sys" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -1602,9 +1542,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "lock_api" @@ -1627,9 +1567,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7" dependencies = [ "hashbrown 0.14.1", ] @@ -1663,9 +1603,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -1820,19 +1760,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nom-supreme" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd3ae6c901f1959588759ff51c95d24b491ecb9ff91aa9c2ef4acc5b1dcab27" -dependencies = [ - "brownstone", - "indent_write", - "joinery", - "memchr", - "nom", -] - [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -1891,9 +1818,9 @@ dependencies = [ [[package]] name = "nu-cli" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef8699865b5e63e2f253135d9c9c72e87584de8d2d6e2eab4869d281f9bf9db" +checksum = "436ddfe486b895bfabbc69d3dbee5d32ab722fb005838d5218acfeae54fd0dc0" dependencies = [ "chrono", "crossterm", @@ -1911,31 +1838,36 @@ dependencies = [ "nu-protocol", "nu-utils", "once_cell", + "pathdiff", "percent-encoding", "reedline", "sysinfo", "unicode-segmentation", + "uuid", + "which 5.0.0", ] [[package]] name = "nu-cmd-base" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e7e2b50a63f99c43b8a4584b2c1360d78f596ffdb1a5942810cea6dcaacc74" +checksum = "e1f5d752e211d2164c71599a25aa95dd0da19c9f2be6fa1de76748d6378b579c" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.1.0", "miette", "nu-engine", + "nu-glob", "nu-parser", "nu-path", "nu-protocol", + "nu-utils", ] [[package]] name = "nu-cmd-lang" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed494291040fbff450cddf44c21ab35e119aba8625385a49d02a7acbabc9f1fb" +checksum = "63cb11e1ff0dfa73b286411744044cc3bc415135b4b1d9222d724bd517876d8c" dependencies = [ "fancy-regex", "itertools 0.11.0", @@ -1949,9 +1881,9 @@ dependencies = [ [[package]] name = "nu-color-config" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c4bf41dbfd9ced4d5db99e1dabab5c63a30b7cdeea3961f77c87e10e823beb" +checksum = "03703a4be321c340d0ea94622245abb612179feabaebbdf3bb041558f950ca2f" dependencies = [ "nu-ansi-term", "nu-engine", @@ -1963,9 +1895,9 @@ dependencies = [ [[package]] name = "nu-command" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644c568bb7c31899e23d068b8d4ab7e1a5af80d1fede8f93ab5bf75794f0bc4c" +checksum = "cea3c4be1d23a9da0485cb9a38cc068ee189e38284d0423123d94dd075904d6f" dependencies = [ "alphanumeric-sort", "base64", @@ -1988,7 +1920,8 @@ dependencies = [ "filetime", "fs_extra", "htmlescape", - "indexmap 2.0.2", + "human-date-parser", + "indexmap 2.1.0", "indicatif", "itertools 0.11.0", "libc", @@ -2022,8 +1955,8 @@ dependencies = [ "os_pipe", "pathdiff", "percent-encoding", - "powierza-coefficient", "print-positions", + "procfs", "quick-xml", "rand", "rayon", @@ -2045,6 +1978,9 @@ dependencies = [ "ureq", "url", "uu_cp", + "uu_mkdir", + "uu_mktemp", + "uu_whoami", "uuid", "wax", "windows", @@ -2053,9 +1989,9 @@ dependencies = [ [[package]] name = "nu-engine" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dc995cf4ceef56e1c1da9be4b3dad071ce5099856f9ef44c24be948bf3e257b" +checksum = "f31549205c091d89cb1bad9e97a5944b998f9417a718c0ad5d1ca373abe27c8b" dependencies = [ "nu-glob", "nu-path", @@ -2065,15 +2001,15 @@ dependencies = [ [[package]] name = "nu-glob" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e705d43b870fdf69f84dab27d7058e25f4d461877a2fa4eff646e9b67dc7253b" +checksum = "8fc6e216ee3e0d3574085e3f9bc63b382d078b159b2f2f1380a6f4d08c1662fd" [[package]] name = "nu-json" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549ab3ba50087dbbe7ec8ba1ea18a50f400cdedfdd8105a30f029d103a7567a1" +checksum = "76e7825d084423fc8d01ddf814336757c5ea706a8799a6e358af4256f7c68d81" dependencies = [ "linked-hash-map", "num-traits", @@ -2082,9 +2018,9 @@ dependencies = [ [[package]] name = "nu-parser" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dfdd444f3ee115ddddc552fb4b32bb8d5587b41bca4f0a6a59e0e0859e1c545" +checksum = "01db27d8c7a31504baf78c1b8f9104a5c77719ac08476ffb55738d86697e501d" dependencies = [ "bytesize", "chrono", @@ -2098,9 +2034,9 @@ dependencies = [ [[package]] name = "nu-path" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d37e0208e5bf0fa018c223f4ec8b7c9e00a9a382a307026dc19694b1bf9f3af" +checksum = "b89b96e3df2637c95dfb893ba0a97646d1733d6957e31ba3e6f46bee09cdea29" dependencies = [ "dirs-next", "omnipath", @@ -2109,24 +2045,24 @@ dependencies = [ [[package]] name = "nu-pretty-hex" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d715e36ad68b03d88373a78debe5208cf5a1e8da75dfcdc09a2ddf0326027a1" +checksum = "60c9ca2c5dc9e6fe7872375f2a6fcdead60a2c4e3608f6fcd5661c821219258a" dependencies = [ "nu-ansi-term", ] [[package]] name = "nu-protocol" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba929bca9d113eabe8ecd6e013d04d3e4f38164c7c0ffde87fe253b4c49d854" +checksum = "243a5a60997b63173dd2e0fdd5c1a6d2c25e0782e444c23714fedeef3ac95949" dependencies = [ "byte-unit", "chrono", "chrono-humanize", "fancy-regex", - "indexmap 2.0.2", + "indexmap 2.1.0", "lru", "miette", "nu-path", @@ -2141,9 +2077,9 @@ dependencies = [ [[package]] name = "nu-system" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8166c443886db44256d83e4ffb55b78723733286acb242476dcf3577e3ecb70" +checksum = "c8e2cd7ed9a6567b2794de6c82ce7cfa9661895d172190bdfde06d033e56cad0" dependencies = [ "chrono", "libc", @@ -2160,9 +2096,9 @@ dependencies = [ [[package]] name = "nu-table" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac0498406e17ed64d183a54450f8e8a88b799b6daaecd67a9cd913ded568ce3" +checksum = "56831906278b3593d6459c1532f430f835aec415ca3ac4dc23657830f71627a3" dependencies = [ "fancy-regex", "nu-ansi-term", @@ -2176,9 +2112,9 @@ dependencies = [ [[package]] name = "nu-term-grid" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1febd45856fa096831e72758d15c059022e273fa987ac37c822676e454a09bfc" +checksum = "bc510407738832f385c46e2cca97ee6691c43d222f26c1ef237a3df4b9f980ac" dependencies = [ "nu-utils", "unicode-width", @@ -2186,9 +2122,9 @@ dependencies = [ [[package]] name = "nu-test-support" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa270029d0ed6c1b7c3548c7bb985432e4f0c7e18c4fc1dd23a1f37ca817c5d3" +checksum = "de3e016e1319ae8805097d1d3466debc597c843ad0506d97095f0fad342d04d2" dependencies = [ "hamcrest2", "nu-glob", @@ -2196,14 +2132,14 @@ dependencies = [ "nu-utils", "num-format", "tempfile", - "which", + "which 4.4.0", ] [[package]] name = "nu-utils" -version = "0.85.0" +version = "0.88.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c747892d0f75b8679775973c76558d1ab0c0822d67de7d99d68489342b5c6c53" +checksum = "339eed81dd7f6c59bcd14f9d9076f223c0aa0632b42e1efa60de1376f4fa04bd" dependencies = [ "crossterm_winapi", "log", @@ -2211,6 +2147,7 @@ dependencies = [ "num-format", "strip-ansi-escapes", "sys-locale", + "unicase", ] [[package]] @@ -2300,16 +2237,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" -dependencies = [ - "hermit-abi 0.1.19", - "libc", -] - [[package]] name = "num_threads" version = "0.1.6" @@ -2495,6 +2422,51 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +[[package]] +name = "pest" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "pest_meta" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + [[package]] name = "phf" version = "0.11.1" @@ -2597,12 +2569,6 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc59d1bcc64fc5d021d67521f818db868368028108d37f0e98d74e33f68297b5" -[[package]] -name = "powierza-coefficient" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04123079750026568dff0e68efe1ca676f6686023f3bf7686b87dab661c0375b" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2629,17 +2595,28 @@ dependencies = [ [[package]] name = "procfs" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943ca7f9f29bab5844ecd8fdb3992c5969b6622bb9609b9502fef9b4310e3f1f" +checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 1.3.2", - "byteorder", + "bitflags 2.4.0", "chrono", "flate2", "hex", "lazy_static", - "rustix 0.36.4", + "procfs-core", + "rustix 0.38.30", +] + +[[package]] +name = "procfs-core" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +dependencies = [ + "bitflags 2.4.0", + "chrono", + "hex", ] [[package]] @@ -2724,9 +2701,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -2734,14 +2711,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -2762,6 +2737,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -2775,9 +2759,9 @@ dependencies = [ [[package]] name = "reedline" -version = "0.24.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "971ac45071721aae18927f3feb7e4c2b95cce387d96af185c5103166d332e55c" +checksum = "07046f804ccb26a6fa8b638f505ccd2a8b7702399a89b9640a0d40ecda49233d" dependencies = [ "chrono", "crossterm", @@ -2797,26 +2781,32 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.2" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1a59b5d8e97dee33696bf13c5ba8ab85341c002922fba050069326b9c498974" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", + "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "roff" @@ -2869,20 +2859,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustix" -version = "0.36.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" -dependencies = [ - "bitflags 1.3.2", - "errno 0.2.8", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.3", - "windows-sys 0.42.0", -] - [[package]] name = "rustix" version = "0.37.7" @@ -2890,7 +2866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d" dependencies = [ "bitflags 1.3.2", - "errno 0.3.2", + "errno", "io-lifetimes", "libc", "linux-raw-sys 0.3.8", @@ -2899,15 +2875,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.8" +version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ "bitflags 2.4.0", - "errno 0.3.2", + "errno", "libc", - "linux-raw-sys 0.4.5", - "windows-sys 0.48.0", + "linux-raw-sys 0.4.12", + "windows-sys 0.52.0", ] [[package]] @@ -3047,9 +3023,9 @@ dependencies = [ [[package]] name = "shadow-rs" -version = "0.23.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970538704756fd0bb4ec8cb89f80674afb661e7c0fe716f9ba5be57717742300" +checksum = "f9198caff1c94f1a5df6664bddbc379896b51b98a55b0b3fedcb23078fe00c77" dependencies = [ "const_format", "is_debug", @@ -3128,7 +3104,7 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4f1976ee8fd1be27d5f72c98be0aac4397a882a4736935d47418a5fbbd12042" dependencies = [ - "anstream 0.6.7", + "anstream", "anstyle", "content_inspector", "dunce", @@ -3151,7 +3127,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e" dependencies = [ - "anstream 0.6.7", + "anstream", ] [[package]] @@ -3282,15 +3258,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.5.0" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", - "rustix 0.37.7", - "windows-sys 0.45.0", + "redox_syscall 0.4.1", + "rustix 0.38.30", + "windows-sys 0.52.0", ] [[package]] @@ -3312,23 +3288,13 @@ dependencies = [ "winapi", ] -[[package]] -name = "terminal_size" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" -dependencies = [ - "rustix 0.37.7", - "windows-sys 0.48.0", -] - [[package]] name = "terminal_size" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.8", + "rustix 0.38.30", "windows-sys 0.48.0", ] @@ -3466,7 +3432,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -3534,6 +3500,12 @@ dependencies = [ "syn 2.0.28", ] +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + [[package]] name = "umask" version = "2.1.0" @@ -3586,9 +3558,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check", ] @@ -3650,9 +3622,9 @@ checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" [[package]] name = "ureq" -version = "2.7.1" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9" +checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" dependencies = [ "base64", "encoding_rs", @@ -3690,11 +3662,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uu_cp" -version = "0.0.21" +version = "0.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce78537083be579c77dadfcced04e163a905ff51f3f83d11dcdaf252ea771c5" +checksum = "4c8e090cfcfa51cb224d247e05938d25718a7203c6f8c0f0de7b3b031d99dcea" dependencies = [ - "clap 4.3.0", + "clap 4.4.17", "filetime", "indicatif", "libc", @@ -3704,13 +3676,47 @@ dependencies = [ "xattr", ] +[[package]] +name = "uu_mkdir" +version = "0.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbf657c9e738d16ebc5c161a611ff25327c1fb599645afb2831062efb23c851" +dependencies = [ + "clap 4.4.17", + "uucore", +] + +[[package]] +name = "uu_mktemp" +version = "0.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "154531208d9ec160629bf9545a56ad9df38e964e547e0a17ee9d75aeec9831cb" +dependencies = [ + "clap 4.4.17", + "rand", + "tempfile", + "uucore", +] + +[[package]] +name = "uu_whoami" +version = "0.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70589dc3b41f34cbfe1fb22b8f20fcac233fa4565409905f12dd06780b18374d" +dependencies = [ + "clap 4.4.17", + "libc", + "uucore", + "windows-sys 0.48.0", +] + [[package]] name = "uucore" version = "0.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bea3522caab8af3fe1de1f27d9691e4ea159efe4d86d4e176306792163936a6" dependencies = [ - "clap 4.3.0", + "clap 4.4.17", "dunce", "glob", "libc", @@ -3743,9 +3749,9 @@ checksum = "6de61731e36d52d3babb63e2dce8fe648e2644e9ddfe2621e0eea699022051a6" [[package]] name = "uuid" -version = "1.3.3" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ "getrandom", ] @@ -3817,12 +3823,11 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -3888,18 +3893,15 @@ checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "wax" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c7a3bac6110ac062b7b422a442b7ee23e07209e2784a036654cab1e71bbafc" +checksum = "8d12a78aa0bab22d2f26ed1a96df7ab58e8a93506a3e20adb47c51a93b4e1357" dependencies = [ - "bstr", "const_format", - "itertools 0.10.5", + "itertools 0.11.0", "nom", - "nom-supreme", "pori", "regex", - "smallvec", "thiserror", "walkdir", ] @@ -3925,6 +3927,19 @@ dependencies = [ "once_cell", ] +[[package]] +name = "which" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.30", + "windows-sys 0.48.0", +] + [[package]] name = "wild" version = "2.2.0" @@ -4198,9 +4213,9 @@ dependencies = [ [[package]] name = "winreg" -version = "0.51.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", "windows-sys 0.48.0", diff --git a/Cargo.toml b/Cargo.toml index cf00ceb0f0d..7192e79e369 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ include = [ [package] name = "clap" -version = "4.4.17" +version = "4.4.18" description = "A simple to use, efficient, and full-featured Command Line Argument Parser" repository = "https://github.com/clap-rs/clap" categories = ["command-line-interface"] @@ -102,7 +102,7 @@ unstable-styles = ["clap_builder/unstable-styles"] bench = false [dependencies] -clap_builder = { path = "./clap_builder", version = "=4.4.17", default-features = false } +clap_builder = { path = "./clap_builder", version = "=4.4.18", default-features = false } clap_derive = { path = "./clap_derive", version = "=4.4.7", optional = true } [dev-dependencies] diff --git a/clap_builder/Cargo.toml b/clap_builder/Cargo.toml index 1736248f76a..9b3bf9ed442 100644 --- a/clap_builder/Cargo.toml +++ b/clap_builder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "clap_builder" -version = "4.4.17" +version = "4.4.18" description = "A simple to use, efficient, and full-featured Command Line Argument Parser" repository = "https://github.com/clap-rs/clap" categories = ["command-line-interface"] diff --git a/clap_builder/src/builder/command.rs b/clap_builder/src/builder/command.rs index 6e56b183411..3666d1955f8 100644 --- a/clap_builder/src/builder/command.rs +++ b/clap_builder/src/builder/command.rs @@ -588,7 +588,7 @@ impl Command { Error::raw(kind, message).format(self) } - /// Parse [`env::args_os`], exiting on failure. + /// Parse [`env::args_os`], [exiting][Error::exit] on failure. /// /// # Panics /// @@ -610,7 +610,7 @@ impl Command { self.get_matches_from(env::args_os()) } - /// Parse [`env::args_os`], exiting on failure. + /// Parse [`env::args_os`], [exiting][Error::exit] on failure. /// /// Like [`Command::get_matches`] but doesn't consume the `Command`. /// @@ -670,7 +670,7 @@ impl Command { self.try_get_matches_from(env::args_os()) } - /// Parse the specified arguments, exiting on failure. + /// Parse the specified arguments, [exiting][Error::exit] on failure. /// /// **NOTE:** The first argument will be parsed as the binary name unless /// [`Command::no_binary_name`] is used. diff --git a/clap_builder/src/derive.rs b/clap_builder/src/derive.rs index 7494e8461dc..d4dba8fd54a 100644 --- a/clap_builder/src/derive.rs +++ b/clap_builder/src/derive.rs @@ -22,7 +22,7 @@ use std::ffi::OsString; /// /// **NOTE:** Deriving requires the `derive` feature flag pub trait Parser: FromArgMatches + CommandFactory + Sized { - /// Parse from `std::env::args_os()`, exit on error + /// Parse from `std::env::args_os()`, [exit][Error::exit] on error. fn parse() -> Self { let mut matches = ::command().get_matches(); let res = ::from_arg_matches_mut(&mut matches) @@ -43,7 +43,7 @@ pub trait Parser: FromArgMatches + CommandFactory + Sized { ::from_arg_matches_mut(&mut matches).map_err(format_error::) } - /// Parse from iterator, exit on error + /// Parse from iterator, [exit][Error::exit] on error. fn parse_from(itr: I) -> Self where I: IntoIterator, @@ -72,7 +72,7 @@ pub trait Parser: FromArgMatches + CommandFactory + Sized { ::from_arg_matches_mut(&mut matches).map_err(format_error::) } - /// Update from iterator, exit on error + /// Update from iterator, [exit][Error::exit] on error. fn update_from(&mut self, itr: I) where I: IntoIterator, diff --git a/clap_builder/src/parser/validator.rs b/clap_builder/src/parser/validator.rs index 55f4633cc44..119d43a5f66 100644 --- a/clap_builder/src/parser/validator.rs +++ b/clap_builder/src/parser/validator.rs @@ -429,6 +429,8 @@ impl<'cmd> Validator<'cmd> { "".to_owned() } }) + .collect::>() + .into_iter() .collect::>() } }; diff --git a/clap_complete/CHANGELOG.md b/clap_complete/CHANGELOG.md index 08f37491111..04620455e45 100644 --- a/clap_complete/CHANGELOG.md +++ b/clap_complete/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - ReleaseDate +## [4.4.7] - 2024-01-15 + +### Fices + +- *(unstable)* Don't have dynamic completions pollute the parent command's help output + ## [4.4.6] - 2024-01-02 ### Fixes @@ -198,7 +204,8 @@ MSRV changed to 1.64.0 ## [3.0.1] - 2022-01-03 -[Unreleased]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.6...HEAD +[Unreleased]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.7...HEAD +[4.4.7]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.6...clap_complete-v4.4.7 [4.4.6]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.5...clap_complete-v4.4.6 [4.4.5]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.4...clap_complete-v4.4.5 [4.4.4]: https://github.com/clap-rs/clap/compare/clap_complete-v4.4.3...clap_complete-v4.4.4 diff --git a/clap_complete/Cargo.toml b/clap_complete/Cargo.toml index 21f1e8fb486..2e20b0d3880 100644 --- a/clap_complete/Cargo.toml +++ b/clap_complete/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "clap_complete" -version = "4.4.6" +version = "4.4.7" description = "Generate shell completion scripts for your clap::Command" repository = "https://github.com/clap-rs/clap/tree/master/clap_complete" categories = ["command-line-interface"] @@ -45,7 +45,8 @@ unicode-xid = { version = "0.2.2", optional = true } snapbox = { version = "0.4.15", features = ["diff", "path", "examples"] } # Cutting out `filesystem` feature trycmd = { version = "0.14.19", default-features = false, features = ["color-auto", "diff", "examples"] } -completest = "0.1.0" +completest = "0.4.0" +completest-pty = "0.5.0" clap = { path = "../", version = "4.0.0", default-features = false, features = ["std", "derive", "help"] } [[example]] diff --git a/clap_complete/README.md b/clap_complete/README.md index 4fb563f19fd..c2cca32cced 100644 --- a/clap_complete/README.md +++ b/clap_complete/README.md @@ -5,16 +5,16 @@ [![Crates.io](https://img.shields.io/crates/v/clap_complete?style=flat-square)](https://crates.io/crates/clap_complete) [![Crates.io](https://img.shields.io/crates/d/clap_complete?style=flat-square)](https://crates.io/crates/clap_complete) -[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.6/LICENSE-APACHE) -[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.6/LICENSE-MIT) +[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.7/LICENSE-APACHE) +[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.7/LICENSE-MIT) Dual-licensed under [Apache 2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT). 1. [About](#about) 2. [API Reference](https://docs.rs/clap_complete) 3. [Questions & Discussions](https://github.com/clap-rs/clap/discussions) -4. [CONTRIBUTING](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.6/clap_complete/CONTRIBUTING.md) -5. [Sponsors](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.6/README.md#sponsors) +4. [CONTRIBUTING](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.7/clap_complete/CONTRIBUTING.md) +5. [Sponsors](https://github.com/clap-rs/clap/blob/clap_complete-v4.4.7/README.md#sponsors) ## About diff --git a/clap_complete/src/dynamic/shells/mod.rs b/clap_complete/src/dynamic/shells/mod.rs index c8e96ec2b10..6cfed97ed5e 100644 --- a/clap_complete/src/dynamic/shells/mod.rs +++ b/clap_complete/src/dynamic/shells/mod.rs @@ -19,6 +19,7 @@ use crate::dynamic::Completer as _; #[derive(clap::Subcommand)] #[allow(missing_docs)] #[derive(Clone, Debug)] +#[command(about = None, long_about = None)] pub enum CompleteCommand { /// Register shell completions for this program #[command(hide = true)] @@ -31,6 +32,7 @@ pub enum CompleteCommand { #[command(group = clap::ArgGroup::new("complete").multiple(true).conflicts_with("register"))] #[allow(missing_docs)] #[derive(Clone, Debug)] +#[command(about = None, long_about = None)] pub struct CompleteArgs { /// Specify shell to complete for #[arg(long)] diff --git a/clap_complete/tests/snapshots/home/static/exhaustive/elvish/elvish/rc.elv b/clap_complete/tests/snapshots/home/static/exhaustive/elvish/elvish/rc.elv index 5fc437e571b..e403bd8310f 100644 --- a/clap_complete/tests/snapshots/home/static/exhaustive/elvish/elvish/rc.elv +++ b/clap_complete/tests/snapshots/home/static/exhaustive/elvish/elvish/rc.elv @@ -22,8 +22,8 @@ set edit:completion:arg-completer[exhaustive] = {|@words| &'exhaustive'= { cand --generate 'generate' cand --global 'everywhere' - cand -h 'Print help (see more with ''--help'')' - cand --help 'Print help (see more with ''--help'')' + cand -h 'Print help' + cand --help 'Print help' cand -V 'Print version' cand --version 'Print version' cand action 'action' diff --git a/clap_complete/tests/snapshots/home/static/exhaustive/fish/fish/completions/exhaustive.fish b/clap_complete/tests/snapshots/home/static/exhaustive/fish/fish/completions/exhaustive.fish index 95e67327e4e..e9558b91118 100644 --- a/clap_complete/tests/snapshots/home/static/exhaustive/fish/fish/completions/exhaustive.fish +++ b/clap_complete/tests/snapshots/home/static/exhaustive/fish/fish/completions/exhaustive.fish @@ -1,6 +1,6 @@ complete -c exhaustive -n "__fish_use_subcommand" -l generate -d 'generate' -r -f -a "{bash '',elvish '',fish '',powershell '',zsh ''}" complete -c exhaustive -n "__fish_use_subcommand" -l global -d 'everywhere' -complete -c exhaustive -n "__fish_use_subcommand" -s h -l help -d 'Print help (see more with \'--help\')' +complete -c exhaustive -n "__fish_use_subcommand" -s h -l help -d 'Print help' complete -c exhaustive -n "__fish_use_subcommand" -s V -l version -d 'Print version' complete -c exhaustive -n "__fish_use_subcommand" -f -a "action" complete -c exhaustive -n "__fish_use_subcommand" -f -a "quote" diff --git a/clap_complete/tests/snapshots/home/static/exhaustive/zsh/zsh/_exhaustive b/clap_complete/tests/snapshots/home/static/exhaustive/zsh/zsh/_exhaustive index 643a158a834..82e68ced2e9 100644 --- a/clap_complete/tests/snapshots/home/static/exhaustive/zsh/zsh/_exhaustive +++ b/clap_complete/tests/snapshots/home/static/exhaustive/zsh/zsh/_exhaustive @@ -17,8 +17,8 @@ _exhaustive() { _arguments "${_arguments_options[@]}" \ '--generate=[generate]:SHELL:(bash elvish fish powershell zsh)' \ '--global[everywhere]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ +'-h[Print help]' \ +'--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ":: :_exhaustive_commands" \ diff --git a/clap_complete/tests/testsuite/bash.rs b/clap_complete/tests/testsuite/bash.rs index b9692a421c9..2e960136704 100644 --- a/clap_complete/tests/testsuite/bash.rs +++ b/clap_complete/tests/testsuite/bash.rs @@ -141,7 +141,7 @@ fn subcommand_last() { #[test] #[cfg(unix)] fn register_completion() { - common::register_example("static", "exhaustive", completest::Shell::Bash); + common::register_example::("static", "exhaustive"); } #[test] @@ -152,12 +152,13 @@ fn complete() { } let term = completest::Term::new(); - let mut runtime = common::load_runtime("static", "exhaustive", completest::Shell::Bash); + let mut runtime = + common::load_runtime::("static", "exhaustive"); let input = "exhaustive \t\t"; - let expected = r#"% --h --global --help action value last hint help --V --generate --version quote pacman alias complete"#; + let expected = r#"% +-h --global --help action value last hint help +-V --generate --version quote pacman alias complete "#; let actual = runtime.complete(input, &term).unwrap(); snapbox::assert_eq(expected, actual); } @@ -165,5 +166,5 @@ fn complete() { #[test] #[cfg(unix)] fn register_dynamic_completion() { - common::register_example("dynamic", "exhaustive", completest::Shell::Bash); + common::register_example::("dynamic", "exhaustive"); } diff --git a/clap_complete/tests/testsuite/common.rs b/clap_complete/tests/testsuite/common.rs index 2d962dbf52b..f7378cd0ca3 100644 --- a/clap_complete/tests/testsuite/common.rs +++ b/clap_complete/tests/testsuite/common.rs @@ -296,11 +296,13 @@ pub fn assert_matches_path( .matches_path(expected_path, buf); } -pub fn register_example(context: &str, name: &str, shell: completest::Shell) { +pub fn register_example(context: &str, name: &str) { + use completest::Runtime as _; + let scratch = snapbox::path::PathFixture::mutable_temp().unwrap(); let scratch_path = scratch.path().unwrap(); - let shell_name = shell.name(); + let shell_name = R::name(); let home = std::path::Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests/snapshots/home") .join(context) @@ -341,7 +343,7 @@ pub fn register_example(context: &str, name: &str, shell: completest::Shell) { let registration = std::str::from_utf8(®istration.stdout).unwrap(); assert!(!registration.is_empty()); - let mut runtime = shell.init(bin_root, scratch_path.to_owned()).unwrap(); + let mut runtime = R::new(bin_root, scratch_path.to_owned()).unwrap(); runtime.register(name, registration).unwrap(); @@ -350,12 +352,14 @@ pub fn register_example(context: &str, name: &str, shell: completest::Shell) { scratch.close().unwrap(); } -pub fn load_runtime( +pub fn load_runtime( context: &str, name: &str, - shell: completest::Shell, -) -> Box { - let shell_name = shell.name(); +) -> Box +where + ::Runtime: 'static, +{ + let shell_name = R::name(); let home = std::path::Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests/snapshots/home") .join(context) @@ -382,11 +386,11 @@ pub fn load_runtime( println!("Compiled"); let bin_root = bin_path.parent().unwrap().to_owned(); - let runtime = shell.with_home(bin_root, home).unwrap(); + let runtime = R::with_home(bin_root, home).unwrap(); Box::new(ScratchRuntime { _scratch: scratch, - runtime, + runtime: Box::new(runtime), }) } diff --git a/clap_complete/tests/testsuite/elvish.rs b/clap_complete/tests/testsuite/elvish.rs index cf12d082277..09179509891 100644 --- a/clap_complete/tests/testsuite/elvish.rs +++ b/clap_complete/tests/testsuite/elvish.rs @@ -123,7 +123,7 @@ fn subcommand_last() { #[test] #[cfg(unix)] fn register_completion() { - common::register_example("static", "exhaustive", completest::Shell::Elvish); + common::register_example::("static", "exhaustive"); } #[test] @@ -134,25 +134,27 @@ fn complete() { } let term = completest::Term::new(); - let mut runtime = common::load_runtime("static", "exhaustive", completest::Shell::Elvish); + let mut runtime = + common::load_runtime::("static", "exhaustive"); let input = "exhaustive \t"; let expected = r#"% exhaustive --generate ---generate generate ---global everywhere ---help Print help ---version Print version --V Print version --h Print help -action action -alias alias -complete Register shell completions for this program + COMPLETING argument +--generate generate +--global everywhere +--help Print help +--version Print version +-V Print version +-h Print help +action action +alias alias +complete Register shell completions for this program help Print this message or the help of the given subcommand(s) -hint hint -last last -pacman pacman -quote quote -value value"#; +hint hint +last last +pacman pacman +quote quote +value value "#; let actual = runtime.complete(input, &term).unwrap(); snapbox::assert_eq(expected, actual); } diff --git a/clap_complete/tests/testsuite/fish.rs b/clap_complete/tests/testsuite/fish.rs index 68388991e6c..217470f7b71 100644 --- a/clap_complete/tests/testsuite/fish.rs +++ b/clap_complete/tests/testsuite/fish.rs @@ -123,7 +123,7 @@ fn subcommand_last() { #[test] #[cfg(unix)] fn register_completion() { - common::register_example("static", "exhaustive", completest::Shell::Fish); + common::register_example::("static", "exhaustive"); } #[test] @@ -134,18 +134,19 @@ fn complete() { } let term = completest::Term::new(); - let mut runtime = common::load_runtime("static", "exhaustive", completest::Shell::Fish); + let mut runtime = + common::load_runtime::("static", "exhaustive"); let input = "exhaustive \t"; - let expected = r#"% exhaustive + let expected = r#"% exhaustive action complete (Register shell completions for this program) hint pacman value -alias help (Print this message or the help of the given subcommand(s)) last quote"#; +alias help (Print this message or the help of the given subcommand(s)) last quote "#; let actual = runtime.complete(input, &term).unwrap(); snapbox::assert_eq(expected, actual); let input = "exhaustive quote --choice \t"; let actual = runtime.complete(input, &term).unwrap(); - let expected = r#"% exhaustive quote --choice + let expected = r#"% exhaustive quote --choice bash (bash (shell)) fish (fish shell) zsh (zsh shell)"#; snapbox::assert_eq(expected, actual); } @@ -153,7 +154,7 @@ bash (bash (shell)) fish (fish shell) zsh (zsh shell)"#; #[cfg(all(unix, feature = "unstable-dynamic"))] #[test] fn register_dynamic() { - common::register_example("dynamic", "exhaustive", completest::Shell::Fish); + common::register_example::("dynamic", "exhaustive"); } #[test] @@ -164,7 +165,8 @@ fn complete_dynamic() { } let term = completest::Term::new(); - let mut runtime = common::load_runtime("dynamic", "exhaustive", completest::Shell::Fish); + let mut runtime = + common::load_runtime::("dynamic", "exhaustive"); let input = "exhaustive \t"; let expected = r#"% exhaustive diff --git a/clap_complete/tests/testsuite/zsh.rs b/clap_complete/tests/testsuite/zsh.rs index d6b51ab00e7..fdf685c5cf4 100644 --- a/clap_complete/tests/testsuite/zsh.rs +++ b/clap_complete/tests/testsuite/zsh.rs @@ -123,7 +123,7 @@ fn subcommand_last() { #[test] #[cfg(unix)] fn register_completion() { - common::register_example("static", "exhaustive", completest::Shell::Zsh); + common::register_example::("static", "exhaustive"); } #[test] @@ -134,13 +134,14 @@ fn complete() { } let term = completest::Term::new(); - let mut runtime = common::load_runtime("static", "exhaustive", completest::Shell::Zsh); + let mut runtime = + common::load_runtime::("static", "exhaustive"); let input = "exhaustive \t"; let expected = r#"% exhaustive -complete -- Register shell completions for this program -help -- Print this message or the help of the given subcommand(s) -pacman action alias value quote hint last --"#; +complete -- Register shell completions for this program +help -- Print this message or the help of the given subcommand(s) +pacman action alias value quote hint last -- "#; let actual = runtime.complete(input, &term).unwrap(); snapbox::assert_eq(expected, actual); } diff --git a/clap_complete_nushell/Cargo.toml b/clap_complete_nushell/Cargo.toml index 49a61daca4e..2a97f4f7c8b 100644 --- a/clap_complete_nushell/Cargo.toml +++ b/clap_complete_nushell/Cargo.toml @@ -37,4 +37,5 @@ clap_complete = { path = "../clap_complete", version = "4.0.0" } [dev-dependencies] snapbox = { version = "0.4.15", features = ["diff", "examples", "path"] } clap = { path = "../", version = "4.0.0", default-features = false, features = ["std", "help"] } -completest = { version = "0.1.0", features = ["nu"] } +completest = "0.4.0" +completest-nu = "0.4.0" diff --git a/clap_complete_nushell/tests/common.rs b/clap_complete_nushell/tests/common.rs index bbf562a0767..fd7e9191d61 100644 --- a/clap_complete_nushell/tests/common.rs +++ b/clap_complete_nushell/tests/common.rs @@ -258,13 +258,16 @@ pub fn assert_matches_path( .matches_path(expected_path, buf); } -pub fn register_example(name: &str, shell: completest::Shell) { +pub fn register_example(context: &str, name: &str) { + use completest::Runtime as _; + let scratch = snapbox::path::PathFixture::mutable_temp().unwrap(); let scratch_path = scratch.path().unwrap(); - let shell_name = shell.name(); + let shell_name = R::name(); let home = std::path::Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests/snapshots/home") + .join(context) .join(name) .join(shell_name); println!("Compiling"); @@ -275,10 +278,17 @@ pub fn register_example(name: &str, shell: completest::Shell) { println!("Compiled"); let bin_root = bin_path.parent().unwrap().to_owned(); - let registration = std::process::Command::new(&bin_path) - .arg(format!("--generate={shell_name}")) - .output() - .unwrap(); + let mut registration = std::process::Command::new(&bin_path); + match context { + "static" => registration.args([format!("--generate={shell_name}")]), + "dynamic" => registration.args([ + "complete".to_owned(), + "--register=-".to_owned(), + format!("--shell={shell_name}"), + ]), + _ => unreachable!("unsupported context {}", context), + }; + let registration = registration.output().unwrap(); assert!( registration.status.success(), "{}", @@ -287,7 +297,7 @@ pub fn register_example(name: &str, shell: completest::Shell) { let registration = std::str::from_utf8(®istration.stdout).unwrap(); assert!(!registration.is_empty()); - let mut runtime = shell.init(bin_root, scratch_path.to_owned()).unwrap(); + let mut runtime = R::new(bin_root, scratch_path.to_owned()).unwrap(); runtime.register(name, registration).unwrap(); @@ -296,14 +306,23 @@ pub fn register_example(name: &str, shell: completest::Shell) { scratch.close().unwrap(); } -pub fn load_runtime(name: &str, shell: completest::Shell) -> Box { - let shell_name = shell.name(); +pub fn load_runtime( + context: &str, + name: &str, +) -> Box +where + ::Runtime: 'static, +{ + let shell_name = R::name(); let home = std::path::Path::new(env!("CARGO_MANIFEST_DIR")) .join("tests/snapshots/home") + .join(context) .join(name) .join(shell_name); - std::fs::create_dir_all(&home).unwrap(); - let scratch = snapbox::path::PathFixture::immutable(&home); + let scratch = snapbox::path::PathFixture::mutable_temp() + .unwrap() + .with_template(&home) + .unwrap(); let home = scratch.path().unwrap().to_owned(); println!("Compiling"); let manifest_path = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("Cargo.toml"); @@ -313,11 +332,11 @@ pub fn load_runtime(name: &str, shell: completest::Shell) -> Box bool { + let output = match std::process::Command::new(command) + .arg("--version") + .output() + { + Ok(output) => output, + Err(e) => { + // CI is expected to support all of the commands + if is_ci() && cfg!(linux) { + panic!( + "expected command `{}` to be somewhere in PATH: {}", + command, e + ); + } + return false; + } + }; + if !output.status.success() { + panic!( + "expected command `{}` to be runnable, got error {}:\n\ + stderr:{}\n\ + stdout:{}\n", + command, + output.status, + String::from_utf8_lossy(&output.stderr), + String::from_utf8_lossy(&output.stdout) + ); + } + let stdout = String::from_utf8_lossy(&output.stdout); + println!( + "$ {command} --version +{}", + stdout + ); + if cfg!(target_os = "macos") && stdout.starts_with("GNU bash, version 3") { + return false; + } + if cfg!(target_os = "macos") && command == "zsh" { + // HACK: At least on CI, the prompt override is not working + return false; + } + + true +} + +/// Whether or not this running in a Continuous Integration environment. +fn is_ci() -> bool { + // Consider using `tracked_env` instead of option_env! when it is stabilized. + // `tracked_env` will handle changes, but not require rebuilding the macro + // itself like option_env does. + option_env!("CI").is_some() || option_env!("TF_BUILD").is_some() +} diff --git a/clap_complete_nushell/tests/completion.rs b/clap_complete_nushell/tests/completion.rs index 562cf5e9b21..94b62d51496 100644 --- a/clap_complete_nushell/tests/completion.rs +++ b/clap_complete_nushell/tests/completion.rs @@ -2,13 +2,13 @@ mod common; #[test] fn register_completion() { - common::register_example("test", completest::Shell::Nu); + common::register_example::("static", "test"); } #[test] fn completion() { let term = completest::Term::new(); - let mut runtime = common::load_runtime("test", completest::Shell::Nu); + let mut runtime = common::load_runtime::("static", "test"); let input = "test -\t"; let expected = r#"% test - @@ -41,7 +41,7 @@ fn completion() { #[test] fn completion_value_hint() { let term = completest::Term::new(); - let mut runtime = common::load_runtime("test", completest::Shell::Nu); + let mut runtime = common::load_runtime::("static", "test"); let input = "test hint -\t"; let expected = r#"% test hint - diff --git a/clap_complete_nushell/tests/snapshots/home/test/nu/.config/nushell/completions/test.nu b/clap_complete_nushell/tests/snapshots/home/static/test/nu/.config/nushell/completions/test.nu similarity index 100% rename from clap_complete_nushell/tests/snapshots/home/test/nu/.config/nushell/completions/test.nu rename to clap_complete_nushell/tests/snapshots/home/static/test/nu/.config/nushell/completions/test.nu diff --git a/clap_complete_nushell/tests/snapshots/home/test/nu/.config/nushell/config.nu b/clap_complete_nushell/tests/snapshots/home/static/test/nu/.config/nushell/config.nu similarity index 100% rename from clap_complete_nushell/tests/snapshots/home/test/nu/.config/nushell/config.nu rename to clap_complete_nushell/tests/snapshots/home/static/test/nu/.config/nushell/config.nu diff --git a/src/lib.rs b/src/lib.rs index f7c0ef3bc4a..9508cbd3d35 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,7 +11,7 @@ //! - [Cookbook][_cookbook] //! - [FAQ][_faq] //! - [Discussions](https://github.com/clap-rs/clap/discussions) -//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.4.17/CHANGELOG.md) (includes major version migration +//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.4.18/CHANGELOG.md) (includes major version migration //! guides) //! //! ## Aspirations