diff --git a/crates/core/flags/lowargs.rs b/crates/core/flags/lowargs.rs index 184c96ae..1941cae4 100644 --- a/crates/core/flags/lowargs.rs +++ b/crates/core/flags/lowargs.rs @@ -229,13 +229,14 @@ pub(crate) enum GenerateMode { } /// Indicates how ripgrep should treat binary data. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum BinaryMode { /// Automatically determine the binary mode to use. Essentially, when /// a file is searched explicitly, then it will be searched using the /// `SearchAndSuppress` strategy. Otherwise, it will be searched in a way /// that attempts to skip binary files as much as possible. That is, once /// a file is classified as binary, searching will immediately stop. + #[default] Auto, /// Search files even when they have binary data, but if a match is found, /// suppress it and emit a warning. @@ -251,12 +252,6 @@ pub(crate) enum BinaryMode { AsText, } -impl Default for BinaryMode { - fn default() -> BinaryMode { - BinaryMode::Auto - } -} - /// Indicates what kind of boundary mode to use (line or word). #[derive(Debug, Eq, PartialEq)] pub(crate) enum BoundaryMode { @@ -269,10 +264,11 @@ pub(crate) enum BoundaryMode { /// Indicates the buffer mode that ripgrep should use when printing output. /// /// The default is `Auto`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum BufferMode { /// Select the buffer mode, 'line' or 'block', automatically based on /// whether stdout is connected to a tty. + #[default] Auto, /// Flush the output buffer whenever a line terminator is seen. /// @@ -287,18 +283,13 @@ pub(crate) enum BufferMode { Block, } -impl Default for BufferMode { - fn default() -> BufferMode { - BufferMode::Auto - } -} - /// Indicates the case mode for how to interpret all patterns given to ripgrep. /// /// The default is `Sensitive`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum CaseMode { /// Patterns are matched case sensitively. i.e., `a` does not match `A`. + #[default] Sensitive, /// Patterns are matched case insensitively. i.e., `a` does match `A`. Insensitive, @@ -308,21 +299,16 @@ pub(crate) enum CaseMode { Smart, } -impl Default for CaseMode { - fn default() -> CaseMode { - CaseMode::Sensitive - } -} - /// Indicates whether ripgrep should include color/hyperlinks in its output. /// /// The default is `Auto`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum ColorChoice { /// Color and hyperlinks will never be used. Never, /// Color and hyperlinks will be used only when stdout is connected to a /// tty. + #[default] Auto, /// Color will always be used. Always, @@ -335,12 +321,6 @@ pub(crate) enum ColorChoice { Ansi, } -impl Default for ColorChoice { - fn default() -> ColorChoice { - ColorChoice::Auto - } -} - impl ColorChoice { /// Convert this color choice to the corresponding termcolor type. pub(crate) fn to_termcolor(&self) -> termcolor::ColorChoice { @@ -529,9 +509,10 @@ impl ContextSeparator { /// The encoding mode the searcher will use. /// /// The default is `Auto`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum EncodingMode { /// Use only BOM sniffing to auto-detect an encoding. + #[default] Auto, /// Use an explicit encoding forcefully, but let BOM sniffing override it. Some(grep::searcher::Encoding), @@ -541,21 +522,16 @@ pub(crate) enum EncodingMode { Disabled, } -impl Default for EncodingMode { - fn default() -> EncodingMode { - EncodingMode::Auto - } -} - /// The regex engine to use. /// /// The default is `Default`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum EngineChoice { /// Uses the default regex engine: Rust's `regex` crate. /// /// (Well, technically it uses `regex-automata`, but `regex-automata` is /// the implementation of the `regex` crate.) + #[default] Default, /// Dynamically select the right engine to use. /// @@ -566,12 +542,6 @@ pub(crate) enum EngineChoice { PCRE2, } -impl Default for EngineChoice { - fn default() -> EngineChoice { - EngineChoice::Default - } -} - /// The field context separator to use to between metadata for each contextual /// line. /// @@ -651,10 +621,11 @@ pub(crate) enum LoggingMode { /// Indicates when to use memory maps. /// /// The default is `Auto`. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Default, Eq, PartialEq)] pub(crate) enum MmapMode { /// This instructs ripgrep to use heuristics for selecting when to and not /// to use memory maps for searching. + #[default] Auto, /// This instructs ripgrep to always try memory maps when possible. (Memory /// maps are not possible to use in all circumstances, for example, for @@ -666,12 +637,6 @@ pub(crate) enum MmapMode { Never, } -impl Default for MmapMode { - fn default() -> MmapMode { - MmapMode::Auto - } -} - /// Represents a source of patterns that ripgrep should search for. /// /// The reason to unify these is so that we can retain the order of `-f/--flag`