summaryrefslogtreecommitdiff
path: root/src/fenced_md_generator.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/fenced_md_generator.rs')
-rw-r--r--src/fenced_md_generator.rs30
1 files changed, 20 insertions, 10 deletions
diff --git a/src/fenced_md_generator.rs b/src/fenced_md_generator.rs
index 078a8cb..41ca8cc 100644
--- a/src/fenced_md_generator.rs
+++ b/src/fenced_md_generator.rs
@@ -4,13 +4,14 @@ use std::{
};
use crate::{
- logger::Logger, md_generator::generate_markdown_from_paths,
+ logger::Logger, md_generator::generate_markdown_from_paths, renderer::RenderOptions,
util::fence::generate_outer_backticks,
};
pub fn generate_fenced_markdown<R: Read, W: Write>(
input: R,
mut output: W,
+ render_options: RenderOptions,
root: &Path,
origin_base: &Path,
project_title: Option<&str>,
@@ -20,6 +21,7 @@ pub fn generate_fenced_markdown<R: Read, W: Write>(
generate_markdown_from_paths(
input,
&mut md_output,
+ render_options,
root,
origin_base,
project_title,
@@ -39,10 +41,11 @@ mod tests {
use tempfile::tempdir;
use crate::logger::Logger;
+ use crate::renderer::RenderOptions;
use super::generate_fenced_markdown;
- fn wrap_with_default_logger<R: Read, W: Write>(
+ fn wrap_with_defaults<R: Read, W: Write>(
input: R,
output: W,
root: &std::path::Path,
@@ -50,7 +53,16 @@ mod tests {
project_title: Option<&str>,
) -> Result<(), Box<dyn std::error::Error>> {
let logger = Logger::default();
- generate_fenced_markdown(input, output, root, origin_base, project_title, logger)
+ let render_options = RenderOptions::default();
+ generate_fenced_markdown(
+ input,
+ output,
+ render_options,
+ root,
+ origin_base,
+ project_title,
+ logger,
+ )
}
#[test]
@@ -61,8 +73,7 @@ mod tests {
let root = temp_dir.path();
let origin_base = temp_dir.path();
- wrap_with_default_logger(input, &mut output, root, origin_base, Some("Project name"))
- .unwrap();
+ wrap_with_defaults(input, &mut output, root, origin_base, Some("Project name")).unwrap();
assert_eq!(
String::from_utf8(output).unwrap(),
@@ -80,7 +91,7 @@ mod tests {
fs::write(origin_base.join("test_main.rs"), "fn main() {}").unwrap();
- wrap_with_default_logger(input, &mut output, root, origin_base, None).unwrap();
+ wrap_with_defaults(input, &mut output, root, origin_base, None).unwrap();
let output_str = String::from_utf8(output).unwrap();
// Must contain outer fence
@@ -102,7 +113,7 @@ mod tests {
fs::write(origin_base.join("a.rs"), "A").unwrap();
fs::write(origin_base.join("b.rs"), "B").unwrap();
- wrap_with_default_logger(input, &mut output, root, origin_base, None).unwrap();
+ wrap_with_defaults(input, &mut output, root, origin_base, None).unwrap();
let output_str = String::from_utf8(output).unwrap();
// Each inner file must have its own language‑specific fence
@@ -124,7 +135,7 @@ mod tests {
let content = "````"; // 4 backticks
fs::write(origin_base.join("backticks.rs"), content).unwrap();
- wrap_with_default_logger(input, &mut output, root, origin_base, None).unwrap();
+ wrap_with_defaults(input, &mut output, root, origin_base, None).unwrap();
let output_str = String::from_utf8(output).unwrap();
// Inner fence should be 5 backticks because inner content contains 4 backticks
@@ -143,8 +154,7 @@ mod tests {
let origin_base = temp_dir.path();
let project_title = "Project ``` name";
- wrap_with_default_logger(input, &mut output, root, origin_base, Some(project_title))
- .unwrap();
+ wrap_with_defaults(input, &mut output, root, origin_base, Some(project_title)).unwrap();
let output_str = String::from_utf8(output).unwrap();
// Outer fence must be 4 backticks because the header contains 3 backticks