summaryrefslogtreecommitdiff
path: root/src/md_generator.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/md_generator.rs')
-rw-r--r--src/md_generator.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/md_generator.rs b/src/md_generator.rs
index 54b7cbb..48f066c 100644
--- a/src/md_generator.rs
+++ b/src/md_generator.rs
@@ -1,3 +1,8 @@
+//! Generate Markdown from null-separated path lists.
+//!
+//! This module reads a stream of NUL-separated file paths, normalizes each path, skips duplicates,
+//! and renders selected files into Markdown.
+
use std::{
collections::HashSet,
ffi::OsStr,
@@ -15,6 +20,18 @@ use crate::{
const DEFAULT_PROJECT_NAME: &str = "Project Outline";
+/// Generates Markdown for the files listed in `input`.
+///
+/// `input` is expected to contain a NUL-separated sequence of paths, such as output from
+/// `find -print0` or `git ls-files -z`.
+///
+/// Relative input paths are resolved against `origin_base`. File headings use paths made relative
+/// to `root`.
+///
+/// Duplicate files are skipped after normalization, while preserving the first occurrence order.
+///
+/// Rendering behavior such as file-size limits and placeholder output is controlled by
+/// `render_options`.
pub fn generate_markdown_from_paths<R: Read, W: Write>(
mut input: R,
output: W,