aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/init_command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/command/init_command.rs')
-rw-r--r--crates/shirabe/src/command/init_command.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/crates/shirabe/src/command/init_command.rs b/crates/shirabe/src/command/init_command.rs
index c348fa6f..1ca3e428 100644
--- a/crates/shirabe/src/command/init_command.rs
+++ b/crates/shirabe/src/command/init_command.rs
@@ -175,17 +175,20 @@ impl InitCommand {
) == 0
{
*self.git_config.borrow_mut() = Some(IndexMap::new());
- let mut m: IndexMap<CaptureKey, Vec<String>> = IndexMap::new();
+ let mut m: IndexMap<CaptureKey, Vec<Option<String>>> = IndexMap::new();
if Preg::is_match_all3(php_regex!(r"{^([^=]+)=(.*)$}m"), &output, Some(&mut m)) {
- let keys: Vec<String> = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
- let values: Vec<String> =
+ let keys: Vec<Option<String>> =
+ m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
+ let values: Vec<Option<String>> =
m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default();
for (key, value) in keys.iter().zip(values.iter()) {
- self.git_config
- .borrow_mut()
- .as_mut()
- .unwrap()
- .insert(key.clone(), value.clone());
+ self.git_config.borrow_mut().as_mut().unwrap().insert(
+ key.clone()
+ .expect("group 1 participates whenever the pattern matches"),
+ value
+ .clone()
+ .expect("group 2 participates whenever the pattern matches"),
+ );
}
}