From 5904bb1df58da96252b583a3973311fb34eebd48 Mon Sep 17 00:00:00 2001 From: graelo Date: Sat, 20 Mar 2021 09:30:38 +0100 Subject: [PATCH] refactor: regexes.rs -> textbuf/regexes.rs --- src/lib.rs | 2 +- src/textbuf/mod.rs | 1 + src/textbuf/model.rs | 4 ++-- src/{ => textbuf}/regexes.rs | 6 +++--- 4 files changed, 7 insertions(+), 6 deletions(-) rename src/{ => textbuf}/regexes.rs (88%) diff --git a/src/lib.rs b/src/lib.rs index b0a3d18..a8ae97c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,5 @@ pub mod error; pub mod output_destination; -pub mod regexes; pub mod textbuf; pub mod tmux; pub mod ui; @@ -11,6 +10,7 @@ use std::path; use std::str::FromStr; use crate::textbuf::alphabet; +use crate::textbuf::regexes; /// Run copyrat on an input string `buffer`, configured by `Opt`. /// diff --git a/src/textbuf/mod.rs b/src/textbuf/mod.rs index 6d0b615..841d319 100644 --- a/src/textbuf/mod.rs +++ b/src/textbuf/mod.rs @@ -2,6 +2,7 @@ pub(crate) mod alphabet; mod matches; mod model; mod raw_match; +pub(crate) mod regexes; pub use matches::Match; pub use model::Model; diff --git a/src/textbuf/model.rs b/src/textbuf/model.rs index 0dc31f4..470b08c 100644 --- a/src/textbuf/model.rs +++ b/src/textbuf/model.rs @@ -6,7 +6,7 @@ use sequence_trie::SequenceTrie; use super::alphabet::Alphabet; use super::matches::Match; use super::raw_match::RawMatch; -use crate::regexes::{NamedPattern, EXCLUDE_PATTERNS, PATTERNS}; +use super::regexes::{NamedPattern, EXCLUDE_PATTERNS, PATTERNS}; /// Holds data for the `Ui`. pub struct Model<'a> { @@ -757,7 +757,7 @@ mod tests { let buffer = "Lorem [link](http://foo.bar) ipsum CUSTOM-52463 lorem ISSUE-123 lorem\nLorem /var/fd70b569/9999.log 52463 lorem\n Lorem 973113 lorem 123e4567-e89b-12d3-a456-426655440000 lorem 8888 lorem\n https://crates.io/23456/fd70b569 lorem"; let use_all_patterns = false; - use crate::regexes::parse_pattern_name; + use crate::textbuf::regexes::parse_pattern_name; let named_pat = vec![parse_pattern_name("url").unwrap()]; let custom = vec![]; diff --git a/src/regexes.rs b/src/textbuf/regexes.rs similarity index 88% rename from src/regexes.rs rename to src/textbuf/regexes.rs index aa90139..6b823b5 100644 --- a/src/regexes.rs +++ b/src/textbuf/regexes.rs @@ -1,13 +1,13 @@ use crate::error; -pub const EXCLUDE_PATTERNS: [(&str, &str); 1] = +pub(super) const EXCLUDE_PATTERNS: [(&str, &str); 1] = [("ansi_colors", r"[[:cntrl:]]\[([0-9]{1,2};)?([0-9]{1,2})?m")]; /// Holds all the regex patterns that are currently supported. /// /// The email address was obtained at https://www.regular-expressions.info/email.html. /// Others were obtained from Ferran Basora. -pub const PATTERNS: [(&str, &str); 16] = [ +pub(super) const PATTERNS: [(&str, &str); 16] = [ ("markdown-url", r"\[[^]]*\]\(([^)]+)\)"), ( "url", @@ -40,7 +40,7 @@ pub const PATTERNS: [(&str, &str); 16] = [ pub struct NamedPattern(pub String, pub String); /// Parse a name string into `NamedPattern`, used during CLI parsing. -pub fn parse_pattern_name(src: &str) -> Result { +pub(crate) fn parse_pattern_name(src: &str) -> Result { match PATTERNS.iter().find(|&(name, _pattern)| name == &src) { Some((name, pattern)) => Ok(NamedPattern(name.to_string(), pattern.to_string())), None => Err(error::ParseError::UnknownPatternName),