summaryrefslogtreecommitdiff
path: root/src/run.rs
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2026-06-21 21:35:56 +0300
committerA Farzat <a@farzat.xyz>2026-06-22 05:19:58 +0300
commit06b52872961427ed4eb32e60f33936fa0a309d86 (patch)
tree471f1a02e8ca45597bfe3196a5aa12bcabfdef74 /src/run.rs
parentd460ef157a5822f6326958cf7ab2309560eba2a4 (diff)
downloadrepo2markdown-06b52872961427ed4eb32e60f33936fa0a309d86.tar.gz
repo2markdown-06b52872961427ed4eb32e60f33936fa0a309d86.zip
Refactor markdown generators into a single struct
Diffstat (limited to 'src/run.rs')
-rw-r--r--src/run.rs30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/run.rs b/src/run.rs
index 50b076b..c28d7f3 100644
--- a/src/run.rs
+++ b/src/run.rs
@@ -7,8 +7,7 @@
use std::io::{Read, Write};
use repo2markdown::{
- fenced_md_generator::generate_fenced_markdown, logger::Logger,
- md_generator::generate_markdown_from_paths, path_list::paths_from_null_separated_bytes,
+ generator::MarkdownGenerator, logger::Logger, path_list::paths_from_null_separated_bytes,
};
use crate::cli::Cli;
@@ -31,26 +30,17 @@ pub fn run<R: Read, W: Write>(
input.read_to_end(&mut input_buf)?;
let paths = paths_from_null_separated_bytes(&input_buf);
+ let md_generator = MarkdownGenerator::new(&paths)
+ .with_logger(logger)
+ .with_origin(&cli.origin)
+ .with_project_title(cli.name.as_deref())
+ .with_render_options(cli.render_options())
+ .with_root(&cli.root);
+
if cli.fenced {
- generate_fenced_markdown(
- &paths,
- output,
- cli.render_options(),
- &cli.root,
- &cli.origin,
- cli.name.as_deref(),
- logger,
- )
+ md_generator.generate_fenced(output)
} else {
- generate_markdown_from_paths(
- &paths,
- output,
- cli.render_options(),
- &cli.root,
- &cli.origin,
- cli.name.as_deref(),
- logger,
- )
+ md_generator.generate(output)
}
}