commit bea196f4ff3712586eb601851fc354b7cf8332e1
parent 42b3263a1cd66804dd6a54f5dcffbe3ce917ab61
Author: cy6erlion <dev@merely.tech>
Date: Tue, 12 Jan 2021 12:29:46 +0200
fmt
Diffstat:
M | Cargo.lock | | | 288 | +------------------------------------------------------------------------------ |
M | Cargo.toml | | | 8 | ++------ |
D | src/#search.rs# | | | 66 | ------------------------------------------------------------------ |
D | src/search.rs | | | 65 | ----------------------------------------------------------------- |
4 files changed, 3 insertions(+), 424 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -1,15 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
-name = "aho-corasick"
-version = "0.7.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
-dependencies = [
- "memchr",
-]
-
-[[package]]
name = "ansi_term"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -39,41 +30,18 @@ dependencies = [
]
[[package]]
-name = "base64"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
-
-[[package]]
name = "bitflags"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]]
-name = "bstr"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473fc6b38233f9af7baa94fb5852dca389e3d95b8e21c8e3719301462c5d9faf"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
-]
-
-[[package]]
name = "bumpalo"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
[[package]]
-name = "bytecount"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72feb31ffc86498dacdbd0fcebb56138e7177a8cc5cea4516031d15ae85a742e"
-
-[[package]]
name = "byteorder"
version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -134,24 +102,6 @@ dependencies = [
]
[[package]]
-name = "encoding_rs"
-version = "0.8.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "801bbab217d7f79c0062f4f7205b5d4427c6d1a7bd7aafdd1475f7c59d62b283"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "encoding_rs_io"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
-dependencies = [
- "encoding_rs",
-]
-
-[[package]]
name = "errno"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -173,12 +123,6 @@ dependencies = [
]
[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
name = "gcc"
version = "0.3.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -196,104 +140,6 @@ dependencies = [
]
[[package]]
-name = "globset"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a"
-dependencies = [
- "aho-corasick",
- "bstr",
- "fnv",
- "log",
- "regex",
-]
-
-[[package]]
-name = "grep"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "582e93ba59eae0f9607f53832326f351f87a5175f17ff123b3986b927a0e7e68"
-dependencies = [
- "grep-cli",
- "grep-matcher",
- "grep-printer",
- "grep-regex",
- "grep-searcher",
-]
-
-[[package]]
-name = "grep-cli"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3592784f7791f5f0bfc2e4b5595dc2d4e34a79099d7228d121b954bae73db182"
-dependencies = [
- "atty",
- "bstr",
- "globset",
- "lazy_static",
- "log",
- "regex",
- "same-file",
- "termcolor",
- "winapi-util",
-]
-
-[[package]]
-name = "grep-matcher"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdf0e1fd5af17008a918fd868e63ec0226e96ce88b832f00c7fb041e014b9350"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "grep-printer"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f34d40c840fe8e413a94598345d8a4bb25fdbb4f3860a6c00a88bb296d89d00"
-dependencies = [
- "base64 0.12.3",
- "bstr",
- "grep-matcher",
- "grep-searcher",
- "serde",
- "serde_derive",
- "serde_json",
- "termcolor",
-]
-
-[[package]]
-name = "grep-regex"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7ba5e492a049950acbd60f5d183011fdca66c248663f6b4e118d591eeada3d2"
-dependencies = [
- "aho-corasick",
- "bstr",
- "grep-matcher",
- "log",
- "regex",
- "regex-syntax",
- "thread_local",
-]
-
-[[package]]
-name = "grep-searcher"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19897320890970db77fb9e8110aeafdf5a74f4ee32756db16d44a96d8f454b1b"
-dependencies = [
- "bstr",
- "bytecount",
- "encoding_rs",
- "encoding_rs_io",
- "grep-matcher",
- "log",
- "memmap",
-]
-
-[[package]]
name = "hermit-abi"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -308,19 +154,11 @@ version = "0.1.0"
dependencies = [
"clap",
"dirs-next",
- "grep",
"minreq",
"pager",
- "walkdir",
]
[[package]]
-name = "itoa"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-
-[[package]]
name = "js-sys"
version = "0.3.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -351,22 +189,6 @@ dependencies = [
]
[[package]]
-name = "memchr"
-version = "2.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
-
-[[package]]
-name = "memmap"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
name = "minreq"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -429,33 +251,6 @@ dependencies = [
]
[[package]]
-name = "regex"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
- "thread_local",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
-
-[[package]]
name = "ring"
version = "0.16.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -476,7 +271,7 @@ version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e"
dependencies = [
- "base64 0.10.1",
+ "base64",
"log",
"ring",
"sct",
@@ -484,21 +279,6 @@ dependencies = [
]
[[package]]
-name = "ryu"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
name = "sct"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -509,34 +289,6 @@ dependencies = [
]
[[package]]
-name = "serde"
-version = "1.0.118"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
-
-[[package]]
-name = "serde_derive"
-version = "1.0.118"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
name = "spin"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -560,15 +312,6 @@ dependencies = [
]
[[package]]
-name = "termcolor"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -578,15 +321,6 @@ dependencies = [
]
[[package]]
-name = "thread_local"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
name = "unicode-width"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -611,17 +345,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]]
-name = "walkdir"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
-dependencies = [
- "same-file",
- "winapi",
- "winapi-util",
-]
-
-[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -727,15 +450,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi",
-]
-
-[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
@@ -23,8 +23,4 @@ minreq = {version = "2.2.1", features = ["https"]}
# Pager
pager = "0.16.0"
# Directories
-dirs-next = "2.0.0"
-# ripgrep, as a library.
-grep = "0.2"
-#
-walkdir = "2.3.1"
-\ No newline at end of file
+dirs-next = "2.0.0"
+\ No newline at end of file
diff --git a/src/#search.rs# b/src/#search.rs#
@@ -1,66 +0,0 @@
-extern crate grep;
-extern crate walkdir;
-
-use std::env;
-use std::error::Error;
-use std::ffi::OsString;
-use std::process;
-use std::io::prelude::*;
-
-use grep::cli;
-use grep::printer::{ColorSpecs, StandardBuilder};
-use grep::regex::RegexMatcher;
-use grep::searcher::{BinaryDetection, SearcherBuilder};
-use walkdir::WalkDir;
-
-fn main() {
- if let Err(err) = try_main() {
- eprintln!("{}", err);
- process::exit(1);
- }
-}
-
-fn try_main() -> Result<(), Box<dyn Error>> {
- let mut args: Vec<OsString> = env::args_os().collect();
- if args.len() < 2 {
- return Err("Usage: simplegrep <pattern> [<path> ...]".into());
- }
- if args.len() == 2 {
- args.push(OsString::from("./"));
- }
- search(cli::pattern_from_os(&args[1])?, &args[2..])
-}
-
-fn search(pattern: &str, spath: OsString) -> Result<(), Box<dyn Error>> {
- let matcher = RegexMatcher::new_line_matcher(&pattern)?;
- let mut searcher = SearcherBuilder::new()
- .binary_detection(BinaryDetection::quit(b'\x00'))
- .line_number(false)
- .build();
- let mut printer = StandardBuilder::new()
- .color_specs(ColorSpecs::default_with_color())
- .build(cli::stdout(if cli::is_tty_stdout() {
- ColorChoice::Auto
- } else {
- ColorChoice::Never
- }));
-
- for result in WalkDir::new(spath) {
- let dent = match result {
- Ok(dent) => dent,
- Err(err) => {
- eprintln!("{}", err);
- continue;
- }
- };
- if !dent.file_type().is_file() {
- continue;
- }
- let result = searcher.search_path(&matcher, dent.path(), std::io::stdout);
- if let Err(err) = result {
- eprintln!("{}: {}", dent.path().display(), err);
- }
- }
-
- Ok(())
-}
diff --git a/src/search.rs b/src/search.rs
@@ -1,65 +0,0 @@
-extern crate grep;
-extern crate walkdir;
-
-use std::env;
-use std::error::Error;
-use std::ffi::OsString;
-use std::process;
-
-use grep::cli;
-use grep::printer::{ColorSpecs, StandardBuilder};
-use grep::regex::RegexMatcher;
-use grep::searcher::{BinaryDetection, SearcherBuilder};
-use walkdir::WalkDir;
-
-fn main() {
- if let Err(err) = try_main() {
- eprintln!("{}", err);
- process::exit(1);
- }
-}
-
-fn try_main() -> Result<(), Box<dyn Error>> {
- let mut args: Vec<OsString> = env::args_os().collect();
- if args.len() < 2 {
- return Err("Usage: simplegrep <pattern> [<path> ...]".into());
- }
- if args.len() == 2 {
- args.push(OsString::from("./"));
- }
- search(cli::pattern_from_os(&args[1])?, &args[2..])
-}
-
-fn search(pattern: &str, spath: OsString) -> Result<(), Box<dyn Error>> {
- let matcher = RegexMatcher::new_line_matcher(&pattern)?;
- let mut searcher = SearcherBuilder::new()
- .binary_detection(BinaryDetection::quit(b'\x00'))
- .line_number(false)
- .build();
- let mut printer = StandardBuilder::new()
- .color_specs(ColorSpecs::default_with_color())
- .build(cli::stdout(if cli::is_tty_stdout() {
- ColorChoice::Auto
- } else {
- ColorChoice::Never
- }));
-
- for result in WalkDir::new(spath) {
- let dent = match result {
- Ok(dent) => dent,
- Err(err) => {
- eprintln!("{}", err);
- continue;
- }
- };
- if !dent.file_type().is_file() {
- continue;
- }
- let result = searcher.search_path(&matcher, dent.path(), std::io::stdout);
- if let Err(err) = result {
- eprintln!("{}: {}", dent.path().display(), err);
- }
- }
-
- Ok(())
-}