From e093b2be1c333e67c96aebb0a5291bea9ae3d6db Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 18 Aug 2026 01:57:02 +0900 Subject: refactor(preg): drop the offset argument from preg_match Every call site but one passed offset 0. The remaining one, the UTF-8 chunking loop in Application, slices the subject instead: its pattern has no anchor or lookaround, so matching a suffix is equivalent to starting the search at that offset. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe/src/command/create_project_command.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/command/create_project_command.rs') diff --git a/crates/shirabe/src/command/create_project_command.rs b/crates/shirabe/src/command/create_project_command.rs index fbdcfabb..b2842d9d 100644 --- a/crates/shirabe/src/command/create_project_command.rs +++ b/crates/shirabe/src/command/create_project_command.rs @@ -41,7 +41,7 @@ use shirabe_php_shim::Catch as _; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, RuntimeException, UnexpectedValueException, array_pop, chdir, explode_with_limit, file_exists, getcwd, impl_php_class, implode, is_dir, is_file, - mkdir, preg_match2, realpath, rtrim, strtolower, unlink, + mkdir, preg_match, realpath, rtrim, strtolower, unlink, }; use shirabe_symfony_console::command::Command; use shirabe_symfony_console::input::InputInterface; @@ -525,7 +525,7 @@ impl CreateProjectCommand { if package_version.is_none() { stability = Some("stable".to_string()); } else { - let matched = preg_match2( + let matched = preg_match( format!( "{{^[^,\\s]*?@({})$}}i", implode( @@ -537,7 +537,6 @@ impl CreateProjectCommand { ) ), package_version.as_deref().unwrap_or(""), - 0, ); if let Some(matched) = matched { stability = Some(matched.get(1).unwrap_or_default().to_string()); -- cgit v1.3.1-4-g156e