diff options
| author | Rory Dudley | 2024-03-30 19:05:23 -0600 | 
|---|---|---|
| committer | Rory Dudley | 2024-03-30 19:05:23 -0600 | 
| commit | d408624afeb0035217d3d327e21b24a62b803f28 (patch) | |
| tree | 891f52eb69f827ca71de157ab67f51606c7b40f0 /src/poem/anthology/source.rs | |
| parent | 491d3fbff384d4b04483b54e5bb78d23bb1181c5 (diff) | |
| download | dwarvish-d408624afeb0035217d3d327e21b24a62b803f28.tar.gz | |
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.
Diffstat (limited to 'src/poem/anthology/source.rs')
| -rw-r--r-- | src/poem/anthology/source.rs | 5 | 
1 files changed, 3 insertions, 2 deletions
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<String>) -> 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<String>) -> i32 {              }          }; -        match poem.recite(bins, None) { +        match poem.recite(env, None) {              Ok(_) => {}              Err(e) => {                  eprintln!("dwvsh: {}", e.to_string().to_lowercase());  | 
