aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/version/version_bumper.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/package/version/version_bumper.rs')
-rw-r--r--crates/shirabe/src/package/version/version_bumper.rs17
1 files changed, 10 insertions, 7 deletions
diff --git a/crates/shirabe/src/package/version/version_bumper.rs b/crates/shirabe/src/package/version/version_bumper.rs
index 8963fd6..f7c2377 100644
--- a/crates/shirabe/src/package/version/version_bumper.rs
+++ b/crates/shirabe/src/package/version/version_bumper.rs
@@ -7,7 +7,7 @@ use crate::package::version::version_parser::VersionParser;
use crate::util::platform::Platform;
use anyhow::Result;
use indexmap::IndexMap;
-use shirabe_external_packages::composer::pcre::preg::Preg;
+use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg};
use shirabe_semver::constraint::constraint_interface::ConstraintInterface;
use shirabe_semver::intervals::Intervals;
@@ -49,9 +49,9 @@ impl VersionBumper {
return Ok(pretty_constraint);
}
- let major = Preg::replace(r"{^([1-9][0-9]*|0\.\d+).*}", "$1", version.clone())?;
+ let major = Preg::replace(r"{^([1-9][0-9]*|0\.\d+).*}", "$1", &version)?;
let version_without_suffix =
- Preg::replace(r"{(?:\.(?:0|9999999))+(-dev)?$}", "", version.clone())?;
+ Preg::replace(r"{(?:\.(?:0|9999999))+(-dev)?$}", "", &version)?;
let new_pretty_constraint = format!("^{}", version_without_suffix);
if !Preg::is_match(r"{^\^\d+(\.\d+)*$}", &new_pretty_constraint)? {
@@ -73,13 +73,16 @@ impl VersionBumper {
major = major
);
- let mut matches: IndexMap<String, Vec<(String, i64)>> = IndexMap::new();
- if Preg::is_match_all_with_offsets(&pattern, &pretty_constraint, &mut matches)? {
+ let mut matches: IndexMap<CaptureKey, Vec<(String, usize)>> = IndexMap::new();
+ if Preg::is_match_all_with_offsets3(&pattern, &pretty_constraint, Some(&mut matches))? {
let mut modified = pretty_constraint.clone();
- let constraint_matches = matches.get("constraint").cloned().unwrap_or_default();
+ let constraint_matches = matches
+ .get(&CaptureKey::ByName("constraint".to_string()))
+ .cloned()
+ .unwrap_or_default();
for match_ in constraint_matches.iter().rev() {
let match_str = &match_.0;
- let match_offset = match_.1;
+ let match_offset = match_.1 as i64;
let suffix = if match_str.matches('.').count() == 2
&& version_without_suffix.matches('.').count() == 1
{