|
1 |
| -use std::cmp; |
2 |
| -use std::env; |
3 |
| -use std::ffi::{OsStr, OsString}; |
4 |
| -use std::fs; |
5 |
| -use std::io::{self, IsTerminal, Write}; |
6 |
| -use std::path::{Path, PathBuf}; |
7 |
| -use std::process; |
8 |
| -use std::str::FromStr; |
9 |
| -use std::sync::Arc; |
10 |
| -use std::time::SystemTime; |
11 |
| - |
12 |
| -use clap; |
13 |
| -use grep::cli; |
14 |
| -use grep::matcher::LineTerminator; |
| 1 | +use std::{ |
| 2 | + env, |
| 3 | + ffi::{OsStr, OsString}, |
| 4 | + io::{self, IsTerminal, Write}, |
| 5 | + path::{Path, PathBuf}, |
| 6 | + sync::Arc, |
| 7 | +}; |
| 8 | + |
| 9 | +use { |
| 10 | + clap, |
| 11 | + grep::{ |
| 12 | + cli, |
| 13 | + matcher::LineTerminator, |
| 14 | + printer::{ |
| 15 | + default_color_specs, ColorSpecs, HyperlinkConfig, |
| 16 | + HyperlinkEnvironment, HyperlinkFormat, JSONBuilder, PathPrinter, |
| 17 | + PathPrinterBuilder, Standard, StandardBuilder, Stats, Summary, |
| 18 | + SummaryBuilder, SummaryKind, JSON, |
| 19 | + }, |
| 20 | + regex::{ |
| 21 | + RegexMatcher as RustRegexMatcher, |
| 22 | + RegexMatcherBuilder as RustRegexMatcherBuilder, |
| 23 | + }, |
| 24 | + searcher::{ |
| 25 | + BinaryDetection, Encoding, MmapChoice, Searcher, SearcherBuilder, |
| 26 | + }, |
| 27 | + }, |
| 28 | + ignore::{ |
| 29 | + overrides::{Override, OverrideBuilder}, |
| 30 | + types::{FileTypeDef, Types, TypesBuilder}, |
| 31 | + {Walk, WalkBuilder, WalkParallel}, |
| 32 | + }, |
| 33 | + termcolor::{BufferWriter, ColorChoice, WriteColor}, |
| 34 | +}; |
| 35 | + |
15 | 36 | #[cfg(feature = "pcre2")]
|
16 | 37 | use grep::pcre2::{
|
17 | 38 | RegexMatcher as PCRE2RegexMatcher,
|
18 | 39 | RegexMatcherBuilder as PCRE2RegexMatcherBuilder,
|
19 | 40 | };
|
20 |
| -use grep::printer::{ |
21 |
| - default_color_specs, ColorSpecs, HyperlinkConfig, HyperlinkEnvironment, |
22 |
| - HyperlinkFormat, JSONBuilder, PathPrinter, PathPrinterBuilder, Standard, |
23 |
| - StandardBuilder, Stats, Summary, SummaryBuilder, SummaryKind, JSON, |
24 |
| -}; |
25 |
| -use grep::regex::{ |
26 |
| - RegexMatcher as RustRegexMatcher, |
27 |
| - RegexMatcherBuilder as RustRegexMatcherBuilder, |
28 |
| -}; |
29 |
| -use grep::searcher::{ |
30 |
| - BinaryDetection, Encoding, MmapChoice, Searcher, SearcherBuilder, |
31 |
| -}; |
32 |
| -use ignore::overrides::{Override, OverrideBuilder}; |
33 |
| -use ignore::types::{FileTypeDef, Types, TypesBuilder}; |
34 |
| -use ignore::{Walk, WalkBuilder, WalkParallel}; |
35 |
| -use log; |
36 |
| -use termcolor::{BufferWriter, ColorChoice, WriteColor}; |
37 |
| - |
38 |
| -use crate::app; |
39 |
| -use crate::config; |
40 |
| -use crate::logger::Logger; |
41 |
| -use crate::messages::{set_ignore_messages, set_messages}; |
42 |
| -use crate::search::{ |
43 |
| - PatternMatcher, Printer, SearchWorker, SearchWorkerBuilder, |
| 41 | + |
| 42 | +use crate::{ |
| 43 | + app, config, |
| 44 | + logger::Logger, |
| 45 | + messages::{set_ignore_messages, set_messages}, |
| 46 | + search::{PatternMatcher, Printer, SearchWorker, SearchWorkerBuilder}, |
| 47 | + subject::{Subject, SubjectBuilder}, |
| 48 | + Result, |
44 | 49 | };
|
45 |
| -use crate::subject::{Subject, SubjectBuilder}; |
46 |
| -use crate::Result; |
47 | 50 |
|
48 | 51 | /// The command that ripgrep should execute based on the command line
|
49 | 52 | /// configuration.
|
@@ -1130,16 +1133,17 @@ impl ArgMatches {
|
1130 | 1133 | let mut env = HyperlinkEnvironment::new();
|
1131 | 1134 | env.host(hostname(self.value_of_os("hostname-bin")))
|
1132 | 1135 | .wsl_prefix(wsl_prefix());
|
1133 |
| - let fmt = match self.value_of_lossy("hyperlink-format") { |
1134 |
| - None => HyperlinkFormat::from_str("default").unwrap(), |
1135 |
| - Some(format) => match HyperlinkFormat::from_str(&format) { |
1136 |
| - Ok(format) => format, |
1137 |
| - Err(err) => { |
1138 |
| - let msg = format!("invalid hyperlink format: {err}"); |
1139 |
| - return Err(msg.into()); |
1140 |
| - } |
1141 |
| - }, |
1142 |
| - }; |
| 1136 | + let fmt: HyperlinkFormat = |
| 1137 | + match self.value_of_lossy("hyperlink-format") { |
| 1138 | + None => "default".parse().unwrap(), |
| 1139 | + Some(format) => match format.parse() { |
| 1140 | + Ok(format) => format, |
| 1141 | + Err(err) => { |
| 1142 | + let msg = format!("invalid hyperlink format: {err}"); |
| 1143 | + return Err(msg.into()); |
| 1144 | + } |
| 1145 | + }, |
| 1146 | + }; |
1143 | 1147 | log::debug!("hyperlink format: {:?}", fmt.to_string());
|
1144 | 1148 | Ok(HyperlinkConfig::new(env, fmt))
|
1145 | 1149 | }
|
@@ -1589,7 +1593,7 @@ impl ArgMatches {
|
1589 | 1593 | let threads = self.usize_of("threads")?.unwrap_or(0);
|
1590 | 1594 | let available =
|
1591 | 1595 | std::thread::available_parallelism().map_or(1, |n| n.get());
|
1592 |
| - Ok(if threads == 0 { cmp::min(12, available) } else { threads }) |
| 1596 | + Ok(if threads == 0 { std::cmp::min(12, available) } else { threads }) |
1593 | 1597 | }
|
1594 | 1598 |
|
1595 | 1599 | /// Builds a file type matcher from the command line flags.
|
@@ -1790,11 +1794,11 @@ fn sort_by_option<T: Ord>(
|
1790 | 1794 | p1: &Option<T>,
|
1791 | 1795 | p2: &Option<T>,
|
1792 | 1796 | reverse: bool,
|
1793 |
| -) -> cmp::Ordering { |
| 1797 | +) -> std::cmp::Ordering { |
1794 | 1798 | match (p1, p2, reverse) {
|
1795 | 1799 | (Some(p1), Some(p2), true) => p1.cmp(&p2).reverse(),
|
1796 | 1800 | (Some(p1), Some(p2), false) => p1.cmp(&p2),
|
1797 |
| - _ => cmp::Ordering::Equal, |
| 1801 | + _ => std::cmp::Ordering::Equal, |
1798 | 1802 | }
|
1799 | 1803 | }
|
1800 | 1804 |
|
@@ -1823,7 +1827,7 @@ where
|
1823 | 1827 | // (This is the point of this helper function. clap's functionality for
|
1824 | 1828 | // doing this will panic on a broken pipe error.)
|
1825 | 1829 | let _ = write!(io::stdout(), "{}", err);
|
1826 |
| - process::exit(0); |
| 1830 | + std::process::exit(0); |
1827 | 1831 | }
|
1828 | 1832 |
|
1829 | 1833 | /// Attempts to discover the current working directory. This mostly just defers
|
@@ -1871,8 +1875,8 @@ fn hostname(bin: Option<&OsStr>) -> Option<String> {
|
1871 | 1875 | return platform_hostname();
|
1872 | 1876 | }
|
1873 | 1877 | };
|
1874 |
| - let mut cmd = process::Command::new(&bin); |
1875 |
| - cmd.stdin(process::Stdio::null()); |
| 1878 | + let mut cmd = std::process::Command::new(&bin); |
| 1879 | + cmd.stdin(std::process::Stdio::null()); |
1876 | 1880 | let rdr = match grep::cli::CommandReader::new(&mut cmd) {
|
1877 | 1881 | Ok(rdr) => rdr,
|
1878 | 1882 | Err(err) => {
|
@@ -1955,9 +1959,9 @@ fn wsl_prefix() -> Option<String> {
|
1955 | 1959 | fn load_timestamps<G>(
|
1956 | 1960 | subjects: impl Iterator<Item = Subject>,
|
1957 | 1961 | get_time: G,
|
1958 |
| -) -> Vec<(Option<SystemTime>, Subject)> |
| 1962 | +) -> Vec<(Option<std::time::SystemTime>, Subject)> |
1959 | 1963 | where
|
1960 |
| - G: Fn(&fs::Metadata) -> io::Result<SystemTime>, |
| 1964 | + G: Fn(&std::fs::Metadata) -> io::Result<std::time::SystemTime>, |
1961 | 1965 | {
|
1962 | 1966 | subjects
|
1963 | 1967 | .map(|s| (s.path().metadata().and_then(|m| get_time(&m)).ok(), s))
|
|
0 commit comments