From 1415c8f9b89699000ef8d864ff8f0e1bebca4a5f Mon Sep 17 00:00:00 2001 From: Rory Dudley Date: Thu, 4 Apr 2024 22:12:14 -0600 Subject: Handle aliases in read() Instead of handling aliases in the recite() function, which requires two loops to handle properly with the current implementation, offload checking for aliases to the read() function. --- src/poem/recite.rs | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) (limited to 'src/poem/recite.rs') diff --git a/src/poem/recite.rs b/src/poem/recite.rs index 1f24d14..4038e37 100644 --- a/src/poem/recite.rs +++ b/src/poem/recite.rs @@ -4,7 +4,6 @@ use crate::compose::Environment; use crate::path; use crate::poem::anthology; use crate::poem::elements::rune::Rune; -use crate::poem::read::Readable; use std::env; use std::{ io, @@ -26,30 +25,8 @@ impl Reciteable for Poem { // Keep track of pids for background processes let mut pids: Arc>> = Arc::new(Mutex::new(Vec::new())); - // Check for aliases - let mut vv = Poem::new(); - for verse in self.iter() { - let alias = match env.aliases.get(&verse.verb()) { - Some(alias) => alias, - None => { - vv.push(verse.clone()); - continue; - } - } - .to_string(); - - let mut poem = Poem::read(alias).unwrap(); - let len = poem.len(); - for (i, new_verse) in poem.iter_mut().enumerate() { - if verse.clause().is_some() && i + 1 == len { - new_verse.stanza.append(&mut verse.clause().unwrap()); - } - vv.push(new_verse.clone()); - } - } - // Loop through each verse in the poem - for verse in vv.iter() { + for verse in self.iter() { // Verse may need to be mutable let mut verse = verse.clone(); -- cgit v1.2.3