diff --git a/Cargo.lock b/Cargo.lock index 333f355..e19a0fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - [[package]] name = "anstream" version = "0.6.18" @@ -205,29 +196,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -[[package]] -name = "lazy-regex" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8e41c97e6bc7ecb552016274b99fbb5d035e8de288c582d9b933af6677bfda" -dependencies = [ - "lazy-regex-proc_macros", - "once_cell", - "regex", -] - -[[package]] -name = "lazy-regex-proc_macros" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e1d8b05d672c53cb9c7b920bbba8783845ae4f0b076e02a3db1d02c81b4163" -dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -271,19 +239,13 @@ version = "1.1.2" dependencies = [ "anyhow", "clap", - "lazy-regex", "rbx_binary", "rbx_dom_weak", "rbx_reflection_database", "rbx_xml", + "regex", ] -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - [[package]] name = "num-traits" version = "0.2.19" @@ -293,12 +255,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - [[package]] name = "paste" version = "1.0.15" @@ -460,24 +416,20 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ - "aho-corasick", - "memchr", "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ - "aho-corasick", - "memchr", "regex-syntax", ] diff --git a/Cargo.toml b/Cargo.toml index 4594f2c..c967753 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,11 +8,11 @@ edition = "2021" [dependencies] anyhow = "1.0.75" clap = { version = "4.4.2", features = ["derive"] } -lazy-regex = "3.1.0" rbx_binary = { version = "0.7.4", registry = "strafesnet"} rbx_dom_weak = { version = "2.7.0", registry = "strafesnet"} rbx_reflection_database = { version = "0.2.10", registry = "strafesnet"} rbx_xml = { version = "0.13.3", registry = "strafesnet"} +regex = { version = "1.11.3", default-features = false } [profile.release] lto = true diff --git a/src/main.rs b/src/main.rs index 4af6b95..3aeb6be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -496,11 +496,20 @@ fn is_first_letter_lowercase(s:&str)->bool{ s.chars().next().map(char::is_lowercase).unwrap_or(false) } +macro_rules! lazy_regex{ + ($r:literal)=>{{ + use regex::Regex; + use std::sync::LazyLock; + static RE:LazyLock=LazyLock::new(||Regex::new($r).unwrap()); + &RE + }}; +} + fn is_title_case(display_name:&str)->bool{ display_name.len()!=0 &&!is_first_letter_lowercase(display_name) &&{ - let display_name_pattern=lazy_regex::regex!(r"\b\S+"); + let display_name_pattern=lazy_regex!(r"\b\S+"); display_name_pattern.find_iter(display_name) .all(|capture|match capture.as_str(){ "a"=>true, @@ -520,7 +529,7 @@ fn interactive() -> AResult<()>{ let mut allowed_map=get_allowed_map()?; let mut replace_map=get_replace_map()?; let mut blocked = get_blocked()?; - let model_name_pattern=lazy_regex::regex!(r"^[a-z0-9_]+$"); + let model_name_pattern=lazy_regex!(r"^[a-z0-9_]+$"); 'map_loop: for entry in std::fs::read_dir("maps/unprocessed")? { let file_thing=entry?; @@ -763,7 +772,7 @@ fn interactive() -> AResult<()>{ Ok(()) } -fn recursive_collect_regex(objects: &mut std::vec::Vec,dom: &rbx_dom_weak::WeakDom, instance: &rbx_dom_weak::Instance, regex: &lazy_regex::Lazy){ +fn recursive_collect_regex(objects: &mut std::vec::Vec,dom: &rbx_dom_weak::WeakDom, instance: &rbx_dom_weak::Instance, regex: ®ex::Regex){ for &referent in instance.children() { if let Some(c) = dom.get_by_ref(referent) { if regex.captures(c.name.as_str()).is_some(){ @@ -776,7 +785,7 @@ fn recursive_collect_regex(objects: &mut std::vec::Vec fn get_button_refs(dom:&rbx_dom_weak::WeakDom) -> Vec{ let mut buttons = std::vec::Vec::new(); - recursive_collect_regex(&mut buttons, dom, dom.root(),lazy_regex::regex!(r"Button(\d+)$")); + recursive_collect_regex(&mut buttons, dom, dom.root(),lazy_regex!(r"Button(\d+)$")); buttons }