From 78157ab3ffeca37023381a422fccda2d4a0c64af Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 14 Jun 2026 04:01:45 +0900 Subject: refactor(pcre): drop strict-groups Preg variants Rust's type system already distinguishes participating from non-participating capture groups via Option, so the *StrictGroups methods add no safety here. Remove them and switch callers to the plain variants. --- crates/shirabe/src/command/archive_command.rs | 2 +- crates/shirabe/src/command/config_command.rs | 2 +- crates/shirabe/src/command/create_project_command.rs | 2 +- crates/shirabe/src/command/diagnose_command.rs | 2 +- crates/shirabe/src/command/init_command.rs | 6 ++---- crates/shirabe/src/command/package_discovery_trait.rs | 2 +- 6 files changed, 7 insertions(+), 9 deletions(-) (limited to 'crates/shirabe/src/command') diff --git a/crates/shirabe/src/command/archive_command.rs b/crates/shirabe/src/command/archive_command.rs index f657ef4..71d353e 100644 --- a/crates/shirabe/src/command/archive_command.rs +++ b/crates/shirabe/src/command/archive_command.rs @@ -280,7 +280,7 @@ impl ArchiveCommand { if let Some(version_str) = &version { let mut matches: IndexMap = IndexMap::new(); - if Preg::match_strict_groups3( + if Preg::match3( r"{@(stable|RC|beta|alpha|dev)$}i", version_str, Some(&mut matches), diff --git a/crates/shirabe/src/command/config_command.rs b/crates/shirabe/src/command/config_command.rs index 2bcb681..e55b92e 100644 --- a/crates/shirabe/src/command/config_command.rs +++ b/crates/shirabe/src/command/config_command.rs @@ -703,7 +703,7 @@ impl ConfigCommand { // handle repositories let mut matches: IndexMap = IndexMap::new(); - if Preg::is_match_strict_groups3( + if Preg::is_match3( "/^repos?(?:itories)?\\.(.+)/", &setting_key, Some(&mut matches), diff --git a/crates/shirabe/src/command/create_project_command.rs b/crates/shirabe/src/command/create_project_command.rs index 247941b..aa4245d 100644 --- a/crates/shirabe/src/command/create_project_command.rs +++ b/crates/shirabe/src/command/create_project_command.rs @@ -692,7 +692,7 @@ impl CreateProjectCommand { stability = Some("stable".to_string()); } else if { let mut matched: IndexMap = IndexMap::new(); - let ok = Preg::is_match_strict_groups3( + let ok = Preg::is_match3( &format!( "{{^[^,\\s]*?@({})$}}i", implode( diff --git a/crates/shirabe/src/command/diagnose_command.rs b/crates/shirabe/src/command/diagnose_command.rs index aa75ad7..6c37459 100644 --- a/crates/shirabe/src/command/diagnose_command.rs +++ b/crates/shirabe/src/command/diagnose_command.rs @@ -1178,7 +1178,7 @@ impl DiagnoseCommand { let phpinfo_str = ob_get_clean(); let mut phpinfo_match: IndexMap = IndexMap::new(); if phpinfo_str.is_some() - && Preg::is_match_strict_groups3( + && Preg::is_match3( "{Configure Command(?: *| *=> *)(.*?)(?:|$)}m", phpinfo_str.as_ref().unwrap(), Some(&mut phpinfo_match), diff --git a/crates/shirabe/src/command/init_command.rs b/crates/shirabe/src/command/init_command.rs index 205494c..d7af222 100644 --- a/crates/shirabe/src/command/init_command.rs +++ b/crates/shirabe/src/command/init_command.rs @@ -928,7 +928,7 @@ impl InitCommand { /// @return array{name: string, email: string|null} fn parse_author_string(&self, author: &str) -> Result>> { let mut m: IndexMap = IndexMap::new(); - if Preg::is_match_strict_groups3( + if Preg::is_match3( r#"/^(?P[- .,\p{L}\p{N}\p{Mn}\'’\"()]+)(?:\s+<(?P.+?)>)?$/u"#, author, Some(&mut m), @@ -1022,9 +1022,7 @@ impl InitCommand { { self.git_config = Some(IndexMap::new()); let mut m: IndexMap> = IndexMap::new(); - if Preg::is_match_all_strict_groups3(r"{^([^=]+)=(.*)$}m", &output, Some(&mut m)) - .unwrap_or(false) - { + if Preg::is_match_all3(r"{^([^=]+)=(.*)$}m", &output, Some(&mut m)).unwrap_or(false) { let keys: Vec = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default(); let values: Vec = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(); diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs index 2fe856c..917a716 100644 --- a/crates/shirabe/src/command/package_discovery_trait.rs +++ b/crates/shirabe/src/command/package_discovery_trait.rs @@ -375,7 +375,7 @@ pub trait PackageDiscoveryTrait { } let mut m: IndexMap = IndexMap::new(); - if Preg::is_match_strict_groups3( + if Preg::is_match3( r"{^\s*(?P[\S/]+)(?:\s+(?P\S+))?\s*$}", &selection, Some(&mut m), -- cgit v1.3.1