diff options
Diffstat (limited to 'src/generator/generation.rs')
| -rw-r--r-- | src/generator/generation.rs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/generator/generation.rs b/src/generator/generation.rs index 4235cd2..738373b 100644 --- a/src/generator/generation.rs +++ b/src/generator/generation.rs @@ -9,25 +9,27 @@ use crate::{ use super::MarkdownGenerator; -pub(super) struct MarkdownGeneration<'a, W: Write> { - logger: Logger, +pub(super) struct MarkdownGeneration<'a, W: Write, LW: Write> { + logger: &'a Logger<LW>, normalizer: Normalizer, paths: &'a [&'a Path], project_title: String, - renderer: Renderer<W>, + renderer: Renderer<'a, W, LW>, seen_paths: HashSet<NormalizedPath>, } -impl<'a, W: Write> MarkdownGeneration<'a, W> { - pub fn new(generator: MarkdownGenerator<'a>, output: W) -> Result<Self, NormalizeError> { - let renderer = - Renderer::new(output, generator.render_options).with_logger(generator.logger); +impl<'a, W: Write, LW: Write> MarkdownGeneration<'a, W, LW> { + pub fn new( + generator: MarkdownGenerator<'a>, + output: W, + logger: &'a Logger<LW>, + ) -> Result<Self, NormalizeError> { Ok(Self { - logger: generator.logger, + logger, normalizer: Normalizer::new(generator.root, generator.origin_base)?, paths: generator.paths, project_title: generator.get_or_derive_project_title().to_string(), - renderer, + renderer: Renderer::new(output, logger, generator.render_options), seen_paths: HashSet::new(), }) } |
