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/source.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/poem/anthology') diff --git a/src/poem/anthology/source.rs b/src/poem/anthology/source.rs index f7b9a0b..b4148cb 100644 --- a/src/poem/anthology/source.rs +++ b/src/poem/anthology/source.rs @@ -1,8 +1,9 @@ +use crate::compose::Environment; use crate::poem::Verse; use crate::poem::{read::Readable, recite::Reciteable, Poem}; use std::fs; -pub fn incant(verse: &Verse, bins: &mut Vec) -> i32 { +pub fn incant(verse: &Verse, env: &mut Environment) -> i32 { let files = match verse.clause() { Some(clause) => clause, None => { @@ -32,7 +33,7 @@ pub fn incant(verse: &Verse, bins: &mut Vec) -> i32 { } }; - match poem.recite(bins, None) { + match poem.recite(env, None) { Ok(_) => {} Err(e) => { eprintln!("dwvsh: {}", e.to_string().to_lowercase()); -- cgit v1.2.3