From 8df66b3a3546cb76f19b5211dc5556c31d2f8c2e Mon Sep 17 00:00:00 2001 From: Eduardo Pinho Date: Sat, 16 Apr 2022 14:25:03 +0100 Subject: [PATCH] Update clap to 3.1 - bump clap to 3.1.9 - feature "derive" needed for `Parser` derive macro - feature "cargo" required for `crate_authors` and other macros - feature "env" required for `env` field in clap attribute - replace deprecated cargo_generate with cargo_complete - replace deprecated constructs --- Cargo.lock | 76 +++++++++++++------------------------ Cargo.toml | 4 +- src/commands/completions.rs | 12 +++--- 3 files changed, 35 insertions(+), 57 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2a63b3a..7c35270 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -96,27 +96,35 @@ checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e" [[package]] name = "clap" -version = "3.0.0-beta.5" +version = "3.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feff3878564edb93745d58cf63e17b63f24142506e7a20c87a5521ed7bfb1d63" +checksum = "6aad2534fad53df1cc12519c5cda696dd3e20e6118a027e24054aea14a0bdcbe" dependencies = [ "atty", "bitflags", "clap_derive", + "clap_lex", "indexmap", "lazy_static", - "os_str_bytes", "strsim", "termcolor", "textwrap", - "unicase", +] + +[[package]] +name = "clap_complete" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df6f3613c0a3cddfd78b41b10203eb322cb29b600cbdf808a7d3db95691b8e25" +dependencies = [ + "clap", ] [[package]] name = "clap_derive" -version = "3.0.0-beta.5" +version = "3.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b15c6b4f786ffb6192ffe65a36855bc1fc2444bcd0945ae16748dcd6ed7d0d3" +checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1" dependencies = [ "heck", "proc-macro-error", @@ -126,12 +134,12 @@ dependencies = [ ] [[package]] -name = "clap_generate" -version = "3.0.0-beta.5" +name = "clap_lex" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "097ab5db1c3417442270cd57c8dd39f6c3114d3ce09d595f9efddbb1fcfaa799" +checksum = "189ddd3b5d32a70b35e7686054371742a937b0d99128e76dde6340210e966669" dependencies = [ - "clap", + "os_str_bytes", ] [[package]] @@ -238,12 +246,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "heck" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" @@ -349,12 +354,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - [[package]] name = "miniz_oxide" version = "0.4.4" @@ -379,12 +378,9 @@ checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "os_str_bytes" -version = "4.2.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addaa943333a514159c80c97ff4a93306530d965d27e139188283cd13e06a799" -dependencies = [ - "memchr", -] +checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" [[package]] name = "percent-encoding" @@ -615,7 +611,7 @@ version = "0.8.0" dependencies = [ "anyhow", "clap", - "clap_generate", + "clap_complete", "console", "dirs-next", "indicatif", @@ -701,12 +697,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" -dependencies = [ - "unicode-width", -] +checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" @@ -753,15 +746,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.6" @@ -777,12 +761,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" - [[package]] name = "unicode-width" version = "0.1.8" @@ -839,9 +817,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" diff --git a/Cargo.toml b/Cargo.toml index 5713f2c..aee3170 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,8 +19,8 @@ name = "snm" [dependencies] anyhow = "1.0.52" -clap = "3.0.0-beta.5" -clap_generate = "3.0.0-beta.5" +clap = { version = "3.1.9", features = ["cargo", "derive", "env"] } +clap_complete = "3.1.1" console = "0.15.0" dirs-next = "2.0.0" indicatif = "0.16.2" diff --git a/src/commands/completions.rs b/src/commands/completions.rs index c5eaf5c..8f3d203 100644 --- a/src/commands/completions.rs +++ b/src/commands/completions.rs @@ -1,6 +1,6 @@ use crate::cli::{Cli, Config}; use clap::{crate_name, IntoApp, Parser}; -use clap_generate::{generate, generators}; +use clap_complete::{generate, shells}; use snm_core::{shell::ShellKind, SnmRes}; #[derive(Debug, Parser)] @@ -13,21 +13,21 @@ pub struct Completions { impl super::Command for Completions { fn init(self, _: Config) -> SnmRes<()> { let name = crate_name!(); - let mut app = Cli::into_app(); + let mut app = Cli::command(); let mut stdout = std::io::stdout(); match &self.shell { ShellKind::Bash => { - generate(generators::Bash, &mut app, name, &mut stdout); + generate(shells::Bash, &mut app, name, &mut stdout); } ShellKind::Zsh => { - generate(generators::Zsh, &mut app, name, &mut stdout); + generate(shells::Zsh, &mut app, name, &mut stdout); } ShellKind::Fish => { - generate(generators::Fish, &mut app, name, &mut stdout); + generate(shells::Fish, &mut app, name, &mut stdout); } ShellKind::Pwsh => { - generate(generators::PowerShell, &mut app, name, &mut stdout); + generate(shells::PowerShell, &mut app, name, &mut stdout); } };