From 06db6fc693c74950cefe8b189f18f7816a23deed Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 29 Oct 2019 11:36:50 -0600 Subject: [PATCH] refactor!: Move off of failure --- Cargo.lock | 78 +++++---------------------------------------- Cargo.toml | 2 +- src/config.rs | 6 ++-- src/main.rs | 4 +-- typos/Cargo.toml | 2 +- typos/src/checks.rs | 4 +-- typos/src/tokens.rs | 11 +++---- 7 files changed, 21 insertions(+), 86 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index decbff8..0bf2ec4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16,6 +16,11 @@ dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "anyhow" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "assert_fs" version = "0.11.3" @@ -42,26 +47,6 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "backtrace" -version = "0.3.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "bitflags" version = "1.2.1" @@ -91,11 +76,6 @@ dependencies = [ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "cc" -version = "1.0.46" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "cfg-if" version = "0.1.10" @@ -228,26 +208,6 @@ dependencies = [ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "failure" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure_derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "float-cmp" version = "0.4.0" @@ -600,11 +560,6 @@ dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "rustc_version" version = "0.2.3" @@ -718,17 +673,6 @@ dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "synstructure" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "tempfile" version = "3.1.0" @@ -783,9 +727,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "typos" version = "0.2.0" dependencies = [ + "anyhow 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -799,12 +743,12 @@ dependencies = [ name = "typos-cli" version = "0.1.3" dependencies = [ + "anyhow 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "assert_fs 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap-verbosity-flag 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ignore 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -950,16 +894,14 @@ dependencies = [ [metadata] "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +"checksum anyhow 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "ab335240fd942ab8191c5e628cd4ff3903c577bda961fb75df08e0303a00527b" "checksum assert_fs 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ce6ba957da497523c08f8e0bd0f2e038d23ad6a3f7a391ed9d4afa9314838c0" "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" -"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" "checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" "checksum clap-verbosity-flag 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "177e9a28add9de161079047d67bcaab629bdfb542c6908f838bfc4cecb3d7f63" @@ -972,8 +914,6 @@ dependencies = [ "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" -"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" -"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" "checksum float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "134a8fa843d80a51a5b77d36d42bc2def9edcb0262c914861d08129fd1926600" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" @@ -1015,7 +955,6 @@ dependencies = [ "checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9" "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" @@ -1030,7 +969,6 @@ dependencies = [ "checksum structopt-derive 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8fe0c13e476b4e21ff7f5c4ace3818b6d7bdc16897c31c73862471bc1663acae" "checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" "checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" -"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203" "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" "checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e" "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" diff --git a/Cargo.toml b/Cargo.toml index f66781f..8ff8fd8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ typos = { version = "^0.2", path = "typos" } typos-dict = { version = "^0.2", path = "dict/typos" } phf = { version = "0.8", features = ["unicase"] } unicase = "2.5" -failure = "0.1" +anyhow = "1.0" structopt = "0.3" clap = "2" clap-verbosity-flag = "0.3" diff --git a/src/config.rs b/src/config.rs index 80903f6..2c73aba 100644 --- a/src/config.rs +++ b/src/config.rs @@ -83,19 +83,19 @@ pub struct Config { } impl Config { - pub fn from_file(path: &std::path::Path) -> Result { + pub fn from_file(path: &std::path::Path) -> Result { let mut file = std::fs::File::open(path)?; let mut s = String::new(); file.read_to_string(&mut s)?; Self::from_toml(&s) } - pub fn from_toml(data: &str) -> Result { + pub fn from_toml(data: &str) -> Result { let content = toml::from_str(data)?; Ok(content) } - pub fn derive(cwd: &std::path::Path) -> Result { + pub fn derive(cwd: &std::path::Path) -> Result { if let Some(path) = find_project_file(cwd.to_owned(), "typos.toml") { Self::from_file(&path) } else { diff --git a/src/main.rs b/src/main.rs index 470dd0b..ad97085 100644 --- a/src/main.rs +++ b/src/main.rs @@ -271,7 +271,7 @@ fn check_entry( entry: Result, args: &Args, checks: &typos::checks::Checks, -) -> Result { +) -> Result { let mut typos_found = false; let entry = entry?; @@ -288,7 +288,7 @@ fn check_entry( Ok(typos_found) } -fn run() -> Result { +fn run() -> Result { let args = Args::from_args(); init_logging(args.verbose.log_level()); diff --git a/typos/Cargo.toml b/typos/Cargo.toml index fa1c342..9736360 100644 --- a/typos/Cargo.toml +++ b/typos/Cargo.toml @@ -15,7 +15,7 @@ azure-devops = { project = "crate-ci", pipeline = "typos" } codecov = { repository = "crate-ci/typos" } [dependencies] -failure = "0.1" +anyhow = "1.0" regex = "1.0" lazy_static = "1.2.0" serde = { version = "1.0", features = ["derive"] } diff --git a/typos/src/checks.rs b/typos/src/checks.rs index f6bc4c2..04193c5 100644 --- a/typos/src/checks.rs +++ b/typos/src/checks.rs @@ -70,7 +70,7 @@ impl<'d, 'p> Checks<'d, 'p> { &self, path: &std::path::Path, report: report::Report, - ) -> Result { + ) -> Result { let mut typos_found = false; if !self.check_filenames { @@ -113,7 +113,7 @@ impl<'d, 'p> Checks<'d, 'p> { path: &std::path::Path, explicit: bool, report: report::Report, - ) -> Result { + ) -> Result { let mut typos_found = false; if !self.check_files { diff --git a/typos/src/tokens.rs b/typos/src/tokens.rs index 40e1e2f..5617e98 100644 --- a/typos/src/tokens.rs +++ b/typos/src/tokens.rs @@ -148,20 +148,17 @@ pub struct Word<'t> { } impl<'t> Word<'t> { - pub fn new(token: &'t str, offset: usize) -> Result { + pub fn new(token: &'t str, offset: usize) -> Result { let mut itr = split_ident(token, 0); let mut item = itr .next() - .ok_or_else(|| failure::format_err!("Invalid word (none found): {:?}", token))?; + .ok_or_else(|| anyhow::anyhow!("Invalid word (none found): {:?}", token))?; if item.offset != 0 { - return Err(failure::format_err!( - "Invalid word (padding found): {:?}", - token - )); + return Err(anyhow::anyhow!("Invalid word (padding found): {:?}", token)); } item.offset += offset; if itr.next().is_some() { - return Err(failure::format_err!( + return Err(anyhow::anyhow!( "Invalid word (contains more than one): {:?}", token ));