aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-symfony-console/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-symfony-console/src')
-rw-r--r--crates/shirabe-symfony-console/src/formatter/output_formatter.rs4
-rw-r--r--crates/shirabe-symfony-console/src/helper/progress_bar.rs12
-rw-r--r--crates/shirabe-symfony-console/src/input/string_input.rs22
3 files changed, 21 insertions, 17 deletions
diff --git a/crates/shirabe-symfony-console/src/formatter/output_formatter.rs b/crates/shirabe-symfony-console/src/formatter/output_formatter.rs
index 1153bc9e..571d66c0 100644
--- a/crates/shirabe-symfony-console/src/formatter/output_formatter.rs
+++ b/crates/shirabe-symfony-console/src/formatter/output_formatter.rs
@@ -321,7 +321,9 @@ impl WrappableOutputFormatterInterface for OutputFormatter {
// opening tag?
let open = shirabe_php_shim::byte_at(&text, 1) != b'/';
let tag = if open {
- matches[&CaptureKey::ByIndex(1)][i]
+ matches
+ .get(&CaptureKey::ByIndex(1))
+ .expect("group 1 exists in the tag pattern")[i]
.0
.clone()
.expect("group 1 participates whenever the pattern matches")
diff --git a/crates/shirabe-symfony-console/src/helper/progress_bar.rs b/crates/shirabe-symfony-console/src/helper/progress_bar.rs
index 4764d617..7a7a3c53 100644
--- a/crates/shirabe-symfony-console/src/helper/progress_bar.rs
+++ b/crates/shirabe-symfony-console/src/helper/progress_bar.rs
@@ -799,7 +799,10 @@ impl ProgressBar {
// $callback in PHP, expressed as a closure over $this and the matches.
let callback = |matches: &PregMatches| -> anyhow::Result<String> {
- let name = matches[&CaptureKey::ByIndex(1)].clone().unwrap_or_default();
+ let name = matches
+ .get(&CaptureKey::ByIndex(1))
+ .unwrap_or_default()
+ .to_string();
let text: shirabe_php_shim::PhpMixed =
if Self::get_placeholder_formatter_definition(&name).is_some() {
@@ -813,10 +816,13 @@ impl ProgressBar {
} else if let Some(message) = self.messages.get(&name) {
shirabe_php_shim::PhpMixed::String(message.clone())
} else {
- return Ok(matches[&CaptureKey::ByIndex(0)].clone().unwrap_or_default());
+ return Ok(matches
+ .get(&CaptureKey::ByIndex(0))
+ .unwrap_or_default()
+ .to_string());
};
- if let Some(modifier) = matches.get(&CaptureKey::ByIndex(2)).and_then(|m| m.clone()) {
+ if let Some(modifier) = matches.get(&CaptureKey::ByIndex(2)) {
return Ok(shirabe_php_shim::sprintf(&format!("%{modifier}"), &[text]));
}
diff --git a/crates/shirabe-symfony-console/src/input/string_input.rs b/crates/shirabe-symfony-console/src/input/string_input.rs
index b0c3b159..0dcc1a9d 100644
--- a/crates/shirabe-symfony-console/src/input/string_input.rs
+++ b/crates/shirabe-symfony-console/src/input/string_input.rs
@@ -61,15 +61,14 @@ impl StringInput {
if token.is_some() {
tokens.push(token.take().unwrap());
}
- cursor +=
- shirabe_php_shim::strlen(m[&CaptureKey::ByIndex(0)].as_deref().unwrap_or(""));
+ cursor += shirabe_php_shim::strlen(m.get(&CaptureKey::ByIndex(0)).unwrap_or(""));
} else if let Some(m) = preg_match2(
format!(r#"/([^="'\s]+?)(=?)({}+)/A"#, Self::REGEX_QUOTED_STRING),
input,
cursor as usize,
) {
let inner = shirabe_php_shim::substr(
- m[&CaptureKey::ByIndex(3)].as_deref().unwrap_or(""),
+ m.get(&CaptureKey::ByIndex(3)).unwrap_or(""),
1,
Some(-1),
);
@@ -78,12 +77,11 @@ impl StringInput {
token = Some(format!(
"{}{}{}{}",
token.unwrap_or_default(),
- m[&CaptureKey::ByIndex(1)].as_deref().unwrap_or(""),
- m[&CaptureKey::ByIndex(2)].as_deref().unwrap_or(""),
+ m.get(&CaptureKey::ByIndex(1)).unwrap_or(""),
+ m.get(&CaptureKey::ByIndex(2)).unwrap_or(""),
shirabe_php_shim::stripcslashes(&replaced)
));
- cursor +=
- shirabe_php_shim::strlen(m[&CaptureKey::ByIndex(0)].as_deref().unwrap_or(""));
+ cursor += shirabe_php_shim::strlen(m.get(&CaptureKey::ByIndex(0)).unwrap_or(""));
} else if let Some(m) = preg_match2(
format!(r"/{}/A", Self::REGEX_QUOTED_STRING),
input,
@@ -93,13 +91,12 @@ impl StringInput {
"{}{}",
token.unwrap_or_default(),
shirabe_php_shim::stripcslashes(&shirabe_php_shim::substr(
- m[&CaptureKey::ByIndex(0)].as_deref().unwrap_or(""),
+ m.get(&CaptureKey::ByIndex(0)).unwrap_or(""),
1,
Some(-1)
))
));
- cursor +=
- shirabe_php_shim::strlen(m[&CaptureKey::ByIndex(0)].as_deref().unwrap_or(""));
+ cursor += shirabe_php_shim::strlen(m.get(&CaptureKey::ByIndex(0)).unwrap_or(""));
} else if let Some(m) = preg_match2(
format!(r"/{}/A", Self::REGEX_UNQUOTED_STRING),
input,
@@ -108,10 +105,9 @@ impl StringInput {
token = Some(format!(
"{}{}",
token.unwrap_or_default(),
- m[&CaptureKey::ByIndex(1)].as_deref().unwrap_or("")
+ m.get(&CaptureKey::ByIndex(1)).unwrap_or("")
));
- cursor +=
- shirabe_php_shim::strlen(m[&CaptureKey::ByIndex(0)].as_deref().unwrap_or(""));
+ cursor += shirabe_php_shim::strlen(m.get(&CaptureKey::ByIndex(0)).unwrap_or(""));
} else {
// should never happen
return Err(InvalidArgumentException::new(format!(