From 2439f63a1c0859fd454d4a67dc36b61ad6ab5eb8 Mon Sep 17 00:00:00 2001 From: Rory Dudley Date: Sat, 30 Mar 2024 20:15:12 -0600 Subject: 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, instead of a Vec. 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. --- src/compose/environment.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/compose') 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, + pub aliases: HashMap, pub bins: Vec, } impl Environment { pub fn new() -> Self { Environment { - aliases: vec![], - bins: vec![], + aliases: HashMap::new(), + bins: Vec::new(), } } } -- cgit v1.2.3