Upgrade to clap v3.1.0

This commit is contained in:
Ajeet D'Souza 2022-02-17 04:16:45 +05:30
parent 66d882bad4
commit b3366dd5b6
15 changed files with 113 additions and 85 deletions

83
Cargo.lock generated
View File

@ -19,9 +19,9 @@ checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0"
[[package]]
name = "askama"
version = "0.11.0"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d8f355701c672c2ba3d718acbd213f740beea577cc4eae66accdffe15be1882"
checksum = "fb98f10f371286b177db5eeb9a6e5396609555686a35e1d4f7b9a9c6d8af0139"
dependencies = [
"askama_derive",
"askama_escape",
@ -30,9 +30,9 @@ dependencies = [
[[package]]
name = "askama_derive"
version = "0.11.0"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84704cab5b7ae0fd3a9f78ee5eb7b27f3749df445f04623db6633459ae283267"
checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71"
dependencies = [
"askama_shared",
"proc-macro2",
@ -41,17 +41,19 @@ dependencies = [
[[package]]
name = "askama_escape"
version = "0.10.2"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a1bb320f97e6edf9f756bf015900038e43c7700e059688e5724a928c8f3b8d5"
checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
[[package]]
name = "askama_shared"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dae03eebba55a2697a376e58b573a29fe36893157173ac8df312ad85f3c0e012"
checksum = "e3d372b233d121e841b4cc5dc716538755e338ca902b3e12ac131ffb6b9d5fbf"
dependencies = [
"askama_escape",
"mime",
"mime_guess",
"nom",
"proc-macro2",
"quote",
@ -85,9 +87,9 @@ dependencies = [
[[package]]
name = "autocfg"
version = "1.0.1"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "bincode"
@ -123,9 +125,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "3.0.13"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08799f92c961c7a1cf0cc398a9073da99e21ce388b46372c37f3191f2f3eed3e"
checksum = "e5f1fea81f183005ced9e59cdb01737ef2423956dac5a6d731b06b2ecfaa3467"
dependencies = [
"atty",
"bitflags",
@ -140,18 +142,18 @@ dependencies = [
[[package]]
name = "clap_complete"
version = "3.0.5"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4dabb7e2f006497e1da045feaa512acf0686f76b68d94925da2d9422dcb521"
checksum = "23eec4dd324308f49d8bf86a2732078c34d57955fec1e1d865554fc37c15d420"
dependencies = [
"clap",
]
[[package]]
name = "clap_complete_fig"
version = "3.0.2"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29cc003d824770d10072f4aa4a958e66d33d74a9cb7339595ac2a445d80d50a0"
checksum = "5c11f6f44afea4aee21bb57a5297879c88ac8dc97224fbbbe796edd60a098f0e"
dependencies = [
"clap",
"clap_complete",
@ -159,9 +161,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "3.0.12"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fd2078197a22f338bd4fbf7d6387eb6f0d6a3c69e6cbc09f5c93e97321fd92a"
checksum = "5fd1122e63869df2cb309f449da1ad54a7c6dfeb7c7e6ccd8e0825d9eb93bb72"
dependencies = [
"heck",
"proc-macro-error",
@ -172,9 +174,9 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
version = "0.8.6"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120"
checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6"
dependencies = [
"cfg-if",
"lazy_static",
@ -344,9 +346,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.116"
version = "0.2.118"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74"
checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94"
[[package]]
name = "log"
@ -363,6 +365,22 @@ version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]]
name = "mime"
version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
[[package]]
name = "mime_guess"
version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
dependencies = [
"mime",
"unicase",
]
[[package]]
name = "minimal-lexical"
version = "0.2.1"
@ -484,9 +502,9 @@ dependencies = [
[[package]]
name = "rand"
version = "0.8.4"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"rand_core",
]
@ -584,9 +602,9 @@ dependencies = [
[[package]]
name = "semver"
version = "1.0.4"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7"
[[package]]
name = "serde"
@ -610,9 +628,9 @@ dependencies = [
[[package]]
name = "shell-words"
version = "1.0.0"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074"
checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
[[package]]
name = "strsim"
@ -695,6 +713,15 @@ dependencies = [
"once_cell",
]
[[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-xid"
version = "0.2.2"

View File

@ -20,7 +20,7 @@ members = ["xtask/"]
anyhow = "1.0.32"
askama = { version = "0.11.0", default-features = false }
bincode = "1.3.1"
clap = { version = "3.0.0", features = ["derive"] }
clap = { version = "3.1.0", features = ["derive"] }
dirs = "4.0.0"
dunce = "1.0.1"
glob = "0.3.0"
@ -36,9 +36,9 @@ rand = { version = "0.8.4", features = [
], default-features = false }
[build-dependencies]
clap = { version = "3.0.0", features = ["derive"] }
clap_complete = "3.0.0"
clap_complete_fig = "3.0.0"
clap = { version = "3.1.0", features = ["derive"] }
clap_complete = "3.1.0"
clap_complete_fig = "3.1.0"
[dev-dependencies]
assert_cmd = "2.0.0"

View File

@ -32,25 +32,25 @@ fn git_version() -> Option<String> {
}
fn generate_completions() -> io::Result<()> {
#[path = "src/app/_app.rs"]
mod app;
#[path = "src/cmd/_cmd.rs"]
mod cmd;
use app::App;
use clap::IntoApp;
use clap::CommandFactory;
use clap_complete::generate_to;
use clap_complete::Shell::{Bash, Elvish, Fish, PowerShell, Zsh};
use clap_complete::shells::{Bash, Elvish, Fish, PowerShell, Zsh};
use clap_complete_fig::Fig;
use cmd::Cmd;
let app = &mut App::into_app();
let cmd = &mut Cmd::command();
let bin_name = env!("CARGO_PKG_NAME");
let out_dir = "contrib/completions";
generate_to(Bash, app, bin_name, out_dir)?;
generate_to(Elvish, app, bin_name, out_dir)?;
generate_to(Fig, app, bin_name, out_dir)?;
generate_to(Fish, app, bin_name, out_dir)?;
generate_to(PowerShell, app, bin_name, out_dir)?;
generate_to(Zsh, app, bin_name, out_dir)?;
generate_to(Bash, cmd, bin_name, out_dir)?;
generate_to(Elvish, cmd, bin_name, out_dir)?;
generate_to(Fig, cmd, bin_name, out_dir)?;
generate_to(Fish, cmd, bin_name, out_dir)?;
generate_to(PowerShell, cmd, bin_name, out_dir)?;
generate_to(Zsh, cmd, bin_name, out_dir)?;
Ok(())
}

View File

@ -12,7 +12,8 @@ Register-ArgumentCompleter -Native -CommandName 'zoxide' -ScriptBlock {
$element = $commandElements[$i]
if ($element -isnot [StringConstantExpressionAst] -or
$element.StringConstantType -ne [StringConstantType]::BareWord -or
$element.Value.StartsWith('-')) {
$element.Value.StartsWith('-') -or
$element.Value -eq $wordToComplete) {
break
}
$element.Value

View File

@ -1,26 +0,0 @@
mod _app;
mod add;
mod import;
mod init;
mod query;
mod remove;
use anyhow::Result;
pub use crate::app::_app::*;
pub trait Run {
fn run(&self) -> Result<()>;
}
impl Run for App {
fn run(&self) -> Result<()> {
match self {
App::Add(cmd) => cmd.run(),
App::Import(cmd) => cmd.run(),
App::Init(cmd) => cmd.run(),
App::Query(cmd) => cmd.run(),
App::Remove(cmd) => cmd.run(),
}
}
}

View File

@ -1,6 +1,6 @@
use std::path::PathBuf;
use clap::{AppSettings, ArgEnum, Parser, ValueHint};
use clap::{ArgEnum, Parser, ValueHint};
const ENV_HELP: &str = "ENVIRONMENT VARIABLES:
_ZO_DATA_DIR Path for zoxide data files
@ -16,11 +16,11 @@ const ENV_HELP: &str = "ENVIRONMENT VARIABLES:
about,
author,
after_help = ENV_HELP,
global_setting(AppSettings::DisableHelpSubcommand),
global_setting(AppSettings::PropagateVersion),
disable_help_subcommand = true,
propagate_version = true,
version = option_env!("ZOXIDE_VERSION").unwrap_or_default()
)]
pub enum App {
pub enum Cmd {
Add(Add),
Import(Import),
Init(Init),

View File

@ -2,7 +2,7 @@ use std::path::Path;
use anyhow::{bail, Result};
use crate::app::{Add, Run};
use crate::cmd::{Add, Run};
use crate::db::DatabaseFile;
use crate::{config, util};

View File

@ -2,7 +2,7 @@ use std::fs;
use anyhow::{bail, Context, Result};
use crate::app::{Import, ImportFrom, Run};
use crate::cmd::{Import, ImportFrom, Run};
use crate::config;
use crate::db::{Database, DatabaseFile, Dir};

View File

@ -3,7 +3,7 @@ use std::io::{self, Write};
use anyhow::{Context, Result};
use askama::Template;
use crate::app::{Init, InitShell, Run};
use crate::cmd::{Init, InitShell, Run};
use crate::config;
use crate::error::BrokenPipeHandler;
use crate::shell::{self, Opts};

26
src/cmd/mod.rs Normal file
View File

@ -0,0 +1,26 @@
mod _cmd;
mod add;
mod import;
mod init;
mod query;
mod remove;
use anyhow::Result;
pub use crate::cmd::_cmd::*;
pub trait Run {
fn run(&self) -> Result<()>;
}
impl Run for Cmd {
fn run(&self) -> Result<()> {
match self {
Cmd::Add(cmd) => cmd.run(),
Cmd::Import(cmd) => cmd.run(),
Cmd::Init(cmd) => cmd.run(),
Cmd::Query(cmd) => cmd.run(),
Cmd::Remove(cmd) => cmd.run(),
}
}
}

View File

@ -2,7 +2,7 @@ use std::io::{self, Write};
use anyhow::{Context, Result};
use crate::app::{Query, Run};
use crate::cmd::{Query, Run};
use crate::db::{Database, DatabaseFile};
use crate::error::BrokenPipeHandler;
use crate::fzf::Fzf;

View File

@ -2,7 +2,7 @@ use std::io::{self, Write};
use anyhow::{bail, Context, Result};
use crate::app::{Remove, Run};
use crate::cmd::{Remove, Run};
use crate::db::DatabaseFile;
use crate::fzf::Fzf;
use crate::{config, util};

View File

@ -1,4 +1,4 @@
mod app;
mod cmd;
mod config;
mod db;
mod error;
@ -11,7 +11,7 @@ use std::{env, process};
use clap::Parser;
use crate::app::{App, Run};
use crate::cmd::{Cmd, Run};
use crate::error::SilentExit;
pub fn main() {
@ -19,7 +19,7 @@ pub fn main() {
env::remove_var("RUST_LIB_BACKTRACE");
env::remove_var("RUST_BACKTRACE");
if let Err(e) = App::parse().run() {
if let Err(e) = Cmd::parse().run() {
match e.downcast::<SilentExit>() {
Ok(SilentExit { code }) => process::exit(code),
Err(e) => {

View File

@ -1,4 +1,4 @@
use crate::app::InitHook;
use crate::cmd::InitHook;
#[derive(Debug, Eq, PartialEq)]
pub struct Opts<'a> {

View File

@ -6,6 +6,6 @@ publish = false
[dependencies]
anyhow = "1.0.32"
clap = { version = "3.0.0", features = ["derive"] }
clap = { version = "3.1.0", features = ["derive"] }
ignore = "0.4.18"
shell-words = "1.0.0"