aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/console
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/console')
-rw-r--r--crates/shirabe/src/console/application.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/crates/shirabe/src/console/application.rs b/crates/shirabe/src/console/application.rs
index 9033700b..b55b9e68 100644
--- a/crates/shirabe/src/console/application.rs
+++ b/crates/shirabe/src/console/application.rs
@@ -953,7 +953,8 @@ impl Application {
.map(|p| preg_quote(&p, None))
.collect();
let expr = format!("{}{}", shirabe_php_shim::implode("[^:]*:", &parts), "[^:]*");
- let namespaces = preg_grep(format!("{{^{}}}", expr), &all_namespaces);
+ let namespaces: Vec<String> =
+ preg_grep(format!("{{^{}}}", expr), all_namespaces.iter().cloned()).collect();
if namespaces.is_empty() {
let mut message = format!(
@@ -1049,14 +1050,19 @@ impl Application {
.map(|p| preg_quote(&p, None))
.collect();
let expr = format!("{}{}", shirabe_php_shim::implode("[^:]*:", &parts), "[^:]*");
- let mut commands = preg_grep(format!("{{^{}}}", expr), &all_commands);
+ let mut commands: Vec<String> =
+ preg_grep(format!("{{^{}}}", expr), all_commands.iter().cloned()).collect();
if commands.is_empty() {
- commands = preg_grep(format!("{{^{}}}i", expr), &all_commands);
+ commands = preg_grep(format!("{{^{}}}i", expr), all_commands.iter().cloned()).collect();
}
// if no commands matched or we just matched namespaces
- if commands.is_empty() || preg_grep(format!("{{^{}$}}i", expr), &commands).is_empty() {
+ if commands.is_empty()
+ || preg_grep(format!("{{^{}$}}i", expr), commands.iter())
+ .next()
+ .is_none()
+ {
if let Some(pos) = shirabe_php_shim::strrpos(name, ":") {
// check if a namespace exists and contains commands
self.find_namespace(&name[..pos])?;