aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorTeddy Wing2016-04-06 12:55:56 -0400
committerTeddy Wing2016-04-06 12:55:56 -0400
commitde3a9b7f68e1f1b368630f498dd338d8b50444c8 (patch)
treec6111f6818efc1d25f2a522f177770ec94c68199 /src/main.rs
parentcad8246ab54f7c81b70d1445ccac356bc4b06d02 (diff)
downloadmutt-alias-auto-add-de3a9b7f68e1f1b368630f498dd338d8b50444c8.tar.bz2
build_alias: Remove [,'"] characters
Make the function a bit more DRY by taking the `push_str` calls out of the `if` block. Add a new test and some code to remove commas and quotes from aliases.
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index 2a0a471..1f3ff29 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -16,18 +16,23 @@ fn build_alias(s: &str) -> String {
split.remove(0);
let mut alias_line = String::from("alias ");
+ let mut alias = String::new();
if split.len() == 1 {
- alias_line.push_str(&format!("{} ", split[0].to_lowercase()));
- alias_line.push_str(&split.join(" "))
+ alias = format!("{} ", split[0].to_lowercase());
} else if split.len() == 2 {
- alias_line.push_str(&format!("{} ", split[0].to_lowercase()));
- alias_line.push_str(&split.join(" "));
+ alias = format!("{} ", split[0].to_lowercase());
} else if split.len() > 2 {
- alias_line.push_str(&format!("{}-{} ", split[split.len() - 2], split[0]).to_lowercase());
- alias_line.push_str(&split.join(" "));
+ alias = format!("{}-{} ", split[split.len() - 2], split[0]).to_lowercase();
}
+ alias = alias.replace(',', "");
+ alias = alias.replace('\'', "");
+ alias = alias.replace('"', "");
+
+ alias_line.push_str(&alias);
+ alias_line.push_str(&split.join(" "));
+
alias_line
}