diff options
| author | A Farzat <a@farzat.xyz> | 2026-06-06 12:59:45 +0300 |
|---|---|---|
| committer | A Farzat <a@farzat.xyz> | 2026-06-06 12:59:45 +0300 |
| commit | cc23e7734459f3e118dd6204b13296caf83591b2 (patch) | |
| tree | 0500f2a3ca9507b6e7d9a498ced96da794c44689 /src/renderer.rs | |
| parent | e26d589dc129faa3018546239fb2ac4675f5753c (diff) | |
| download | repo2markdown-cc23e7734459f3e118dd6204b13296caf83591b2.tar.gz repo2markdown-cc23e7734459f3e118dd6204b13296caf83591b2.zip | |
Delegate logging management to Logger struct
Allows verbosity management in a centralized way.
Diffstat (limited to 'src/renderer.rs')
| -rw-r--r-- | src/renderer.rs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/renderer.rs b/src/renderer.rs index bb21100..6ebc8ba 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -4,7 +4,7 @@ use std::{ path::Path, }; -use crate::{normalizer::NormalizedPath, util::path_display::display_path}; +use crate::{logger::Logger, normalizer::NormalizedPath, util::path_display::display_path}; const DEFAULT_MAX_FILE_SIZE: u64 = 1_000_000; @@ -12,6 +12,7 @@ const DEFAULT_MAX_FILE_SIZE: u64 = 1_000_000; pub struct Renderer<W: Write> { output: W, max_file_size: u64, + logger: Logger, } impl<W: Write> Renderer<W> { @@ -19,6 +20,7 @@ impl<W: Write> Renderer<W> { Self { output, max_file_size: DEFAULT_MAX_FILE_SIZE, + logger: Logger::default(), } } @@ -27,6 +29,11 @@ impl<W: Write> Renderer<W> { self } + pub fn with_logger(mut self, logger: Logger) -> Self { + self.logger = logger; + self + } + pub fn render_header(&mut self, project_name: &str) -> std::io::Result<()> { writeln!(self.output, "# {}", project_name) } @@ -75,16 +82,19 @@ impl<W: Write> Renderer<W> { } fn warn_about_filesize(&self, filename: &Path, filesize: u64) { - eprintln!( + self.logger.warn(format!( "Warning: skipping large file: {} ({} > limit {})", display_path(filename), human_readable_size(filesize), human_readable_size(self.max_file_size), - ) + )) } fn warn_about_binary_file(&self, filename: &Path) { - eprintln!("Warning: skipping binary file: {}", display_path(filename)) + self.logger.warn(format!( + "Warning: skipping binary file: {}", + display_path(filename) + )) } } |
