From d408624afeb0035217d3d327e21b24a62b803f28 Mon Sep 17 00:00:00 2001 From: Rory Dudley Date: Sat, 30 Mar 2024 19:05:23 -0600 Subject: Add wrapper for global shell environment Instead of having to pass around a bunch of different data structures for various shell functions, create the wrapper compose::Environment, which serves as a global shell state. It is configured via login/profile/rc scripts initially, but can of course be modified throughout the lifetime of the shell. --- src/poem/anthology.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/poem/anthology.rs') diff --git a/src/poem/anthology.rs b/src/poem/anthology.rs index b9e747c..f1adae7 100644 --- a/src/poem/anthology.rs +++ b/src/poem/anthology.rs @@ -19,13 +19,13 @@ pub fn lookup(verb: &str) -> Option { INDEX.iter().position(|v| v.to_string() == verb) } -pub fn incant(verse: &Verse, index: usize, bins: &mut Vec) -> i32 { +pub fn incant(verse: &Verse, index: usize, env: &mut Environment) -> i32 { let verb = INDEX[index]; match verb { "cd" => cd::incant(verse), "exit" => exit::incant(), "export" => export::incant(verse), - "source" => source::incant(verse, bins), + "source" => source::incant(verse, env), _ => unreachable!(), } } -- cgit v1.2.3