diff options
Diffstat (limited to 'crates/shirabe/src')
| -rw-r--r-- | crates/shirabe/src/command/remove_command.rs | 21 | ||||
| -rw-r--r-- | crates/shirabe/src/console/application.rs | 14 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/composer_repository.rs | 11 |
3 files changed, 23 insertions, 23 deletions
diff --git a/crates/shirabe/src/command/remove_command.rs b/crates/shirabe/src/command/remove_command.rs index a8b525e6..bba0285f 100644 --- a/crates/shirabe/src/command/remove_command.rs +++ b/crates/shirabe/src/command/remove_command.rs @@ -393,11 +393,11 @@ impl Command for RemoveCommand { .and_then(|v| v.as_array()) .map(|m| m.keys().cloned().collect()) .unwrap_or_default(); - let type_keys_refs: Vec<&str> = type_keys.iter().map(|s| s.as_str()).collect(); - let matches_in_type = Preg::grep( + let matches_in_type: Vec<&String> = Preg::grep( base_package::package_name_to_regexp(package), - &type_keys_refs, - ); + type_keys.iter(), + ) + .collect(); let alt_type_keys: Vec<String> = composer_data .as_array() @@ -405,15 +405,14 @@ impl Command for RemoveCommand { .and_then(|v| v.as_array()) .map(|m| m.keys().cloned().collect()) .unwrap_or_default(); - let alt_type_keys_refs: Vec<&str> = - alt_type_keys.iter().map(|s| s.as_str()).collect(); - let matches_in_alt_type = Preg::grep( + let matches_in_alt_type: Vec<&String> = Preg::grep( base_package::package_name_to_regexp(package), - &alt_type_keys_refs, - ); + alt_type_keys.iter(), + ) + .collect(); if !type_keys.is_empty() && !matches_in_type.is_empty() { - for matched_package in &matches_in_type { + for matched_package in matches_in_type { if dry_run { to_remove .entry(r#type.to_string()) @@ -424,7 +423,7 @@ impl Command for RemoveCommand { } } } else if !alt_type_keys.is_empty() && !matches_in_alt_type.is_empty() { - for matched_package in &matches_in_alt_type { + for matched_package in matches_in_alt_type { io.write_error(&format!( "<warning>{} could not be found in {} but it is present in {}</warning>", matched_package, r#type, alt_type 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])?; diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index 2faf33dc..ab8572ad 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -430,10 +430,7 @@ impl ComposerRepository { }; let filter_results = |results: Vec<String>| -> anyhow::Result<Vec<String>> { match &package_filter_regex { - Some(regex) => { - let results_refs: Vec<&str> = results.iter().map(|s| s.as_str()).collect(); - Ok(Preg::grep(regex, &results_refs)) - } + Some(regex) => Ok(Preg::grep(regex, results).collect()), None => Ok(results), } }; @@ -771,8 +768,7 @@ impl ComposerRepository { let regex = format!("{{(?:{})}}i", parts.join("|")); let vendor_names = self.get_vendor_names()?; - let vendor_names_refs: Vec<&str> = vendor_names.iter().map(|s| s.as_str()).collect(); - for name in Preg::grep(®ex, &vendor_names_refs) { + for name in Preg::grep(®ex, vendor_names) { let mut entry = IndexMap::new(); entry.insert("name".to_string(), PhpMixed::String(name)); entry.insert("description".to_string(), PhpMixed::String(String::new())); @@ -836,8 +832,7 @@ impl ComposerRepository { let regex = format!("{{(?:{})}}i", parts.join("|")); let package_names = self.get_package_names(None)?; - let package_names_refs: Vec<&str> = package_names.iter().map(|s| s.as_str()).collect(); - for name in Preg::grep(®ex, &package_names_refs) { + for name in Preg::grep(®ex, package_names) { let mut entry = IndexMap::new(); entry.insert("name".to_string(), PhpMixed::String(name)); entry.insert("description".to_string(), PhpMixed::String(String::new())); |
