summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2026-06-07 17:40:25 +0300
committerA Farzat <a@farzat.xyz>2026-06-07 17:40:25 +0300
commit8e7af6623d2f77aad77d346498e79fb83594d23e (patch)
tree0e3c6b37f8799758a7d6131ad383587adad147ba
parent697167a1abe9d31f97dc4645183b8142e5cc383d (diff)
downloadrepo2markdown-8e7af6623d2f77aad77d346498e79fb83594d23e.tar.gz
repo2markdown-8e7af6623d2f77aad77d346498e79fb83594d23e.zip
Standardize format in Logger and add Verbose level
I kind of want verbose level now as I want to know which files got included.
-rw-r--r--src/logger.rs9
-rw-r--r--src/main.rs2
-rw-r--r--src/renderer.rs14
-rw-r--r--src/run.rs2
4 files changed, 19 insertions, 8 deletions
diff --git a/src/logger.rs b/src/logger.rs
index a1db035..8841bcc 100644
--- a/src/logger.rs
+++ b/src/logger.rs
@@ -2,6 +2,7 @@
pub enum Verbosity {
Quiet,
Normal,
+ Verbose,
}
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
@@ -16,7 +17,13 @@ impl Logger {
pub fn warn(&self, message: impl AsRef<str>) {
if self.verbosity != Verbosity::Quiet {
- eprintln!("{}", message.as_ref());
+ eprintln!("Warning: {}", message.as_ref());
+ }
+ }
+
+ pub fn info(&self, message: impl AsRef<str>) {
+ if self.verbosity == Verbosity::Verbose {
+ eprintln!("Info: {}", message.as_ref());
}
}
}
diff --git a/src/main.rs b/src/main.rs
index d9ba728..b558ae4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -41,7 +41,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let stdin = io::stdin();
let stdout = io::stdout();
- let logger = Logger::new(Verbosity::Normal);
+ let logger = Logger::new(Verbosity::Verbose);
run(
stdin.lock(),
stdout.lock(),
diff --git a/src/renderer.rs b/src/renderer.rs
index eb14a7d..8b9d3a5 100644
--- a/src/renderer.rs
+++ b/src/renderer.rs
@@ -60,6 +60,7 @@ impl<W: Write> Renderer<W> {
};
let name = display_path(filename);
let fence = outer_backticks(contents);
+ self.log_file_render(filename);
writeln!(self.output)?;
writeln!(self.output, "## File: {}", name)?;
writeln!(self.output, "{}", fence)?;
@@ -83,7 +84,7 @@ impl<W: Write> Renderer<W> {
fn warn_about_filesize(&self, filename: &Path, filesize: u64) {
self.logger.warn(format!(
- "Warning: skipping large file: {} ({} > limit {})",
+ "skipping large file: {} ({} > limit {})",
display_path(filename),
human_readable_size(filesize),
human_readable_size(self.max_file_size),
@@ -91,10 +92,13 @@ impl<W: Write> Renderer<W> {
}
fn warn_about_binary_file(&self, filename: &Path) {
- self.logger.warn(format!(
- "Warning: skipping binary file: {}",
- display_path(filename)
- ))
+ self.logger
+ .warn(format!("skipping binary file: {}", display_path(filename)))
+ }
+
+ fn log_file_render(&self, filename: &Path) {
+ self.logger
+ .info(format!("rendering file: {}", display_path(filename)));
}
}
diff --git a/src/run.rs b/src/run.rs
index 097ace3..c276d7c 100644
--- a/src/run.rs
+++ b/src/run.rs
@@ -39,7 +39,7 @@ pub fn run<R: Read, W: Write>(
let normalized_path = normalizer.normalize(path)?;
if !seen_paths.insert(normalized_path.relative.clone()) {
logger.warn(format!(
- "Warning: skipping duplicate file: {}",
+ "skipping duplicate file: {}",
display_path(&normalized_path.relative)
));
continue;