summaryrefslogtreecommitdiffstats
path: root/src/compose/environment.rs
diff options
context:
space:
mode:
authorRory Dudley2024-03-30 20:15:12 -0600
committerRory Dudley2024-03-30 20:15:12 -0600
commit2439f63a1c0859fd454d4a67dc36b61ad6ab5eb8 (patch)
tree51926cec235e93eb759eacb5761e398dc50fc7f2 /src/compose/environment.rs
parentbc64d1917829623cea447871c548950460559232 (diff)
downloaddwarvish-2439f63a1c0859fd454d4a67dc36b61ad6ab5eb8.tar.gz
Add the 'alias' built-in command
The shell now has support for aliases (via alias foo=bar). The 'unalias' command is also available to remove aliases. Finally, Environment::aliases was changed to be a HashMap<String, String>, instead of a Vec<String>. Since the verse's verb might change (for instance, it is an environment variable, or an alias), add another check in Poem::recite, which simply continues, instead of running the spellchecker, if the verb is empty.
Diffstat (limited to 'src/compose/environment.rs')
-rw-r--r--src/compose/environment.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compose/environment.rs b/src/compose/environment.rs
index 219a597..df83e4f 100644
--- a/src/compose/environment.rs
+++ b/src/compose/environment.rs
@@ -1,13 +1,15 @@
+use std::collections::HashMap;
+
pub struct Environment {
- pub aliases: Vec<String>,
+ pub aliases: HashMap<String, String>,
pub bins: Vec<String>,
}
impl Environment {
pub fn new() -> Self {
Environment {
- aliases: vec![],
- bins: vec![],
+ aliases: HashMap::new(),
+ bins: Vec::new(),
}
}
}