Skip to content
This repository was archived by the owner on Jun 9, 2026. It is now read-only.

Commit 8775610

Browse files
Add --tempalte-dir argument
1 parent 91df53e commit 8775610

1 file changed

Lines changed: 25 additions & 3 deletions

File tree

src/main.rs

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ impl Job {
8383
}
8484
}
8585

86-
fn enqueue_readme_jobs(sender: std::sync::mpsc::Sender<Job>) {
86+
fn enqueue_readme_jobs(sender: std::sync::mpsc::Sender<Job>, template_dir: Option<&Path>) {
8787
let workspace_dir = std::env::current_dir().unwrap();
8888
let entries = match fs_err::read_dir(&workspace_dir) {
8989
Ok(e) => e,
@@ -163,7 +163,16 @@ fn enqueue_readme_jobs(sender: std::sync::mpsc::Sender<Job>) {
163163

164164
let crate_name = dir_name.to_string();
165165

166-
let template_path = if crate_name == "facet" {
166+
// Check for custom template path (from --template-dir or config)
167+
let template_path = if let Some(custom_dir) = template_dir {
168+
let custom_path = custom_dir.join(&crate_name).with_extension("md.in");
169+
if custom_path.exists() {
170+
custom_path
171+
} else {
172+
// Fall back to crate's own template
173+
crate_path.join(template_name)
174+
}
175+
} else if crate_name == "facet" {
167176
Path::new(template_name).to_path_buf()
168177
} else {
169178
crate_path.join(template_name)
@@ -1067,6 +1076,18 @@ fn main() {
10671076
return;
10681077
}
10691078

1079+
// Parse --template-dir argument
1080+
let mut template_dir: Option<PathBuf> = None;
1081+
let mut i = 1;
1082+
while i < args.len() {
1083+
if args[i] == "--template-dir" && i + 1 < args.len() {
1084+
template_dir = Some(PathBuf::from(&args[i + 1]));
1085+
i += 2;
1086+
} else {
1087+
i += 1;
1088+
}
1089+
}
1090+
10701091
let staged_files = match collect_staged_files() {
10711092
Ok(sf) => sf,
10721093
Err(e) => {
@@ -1085,8 +1106,9 @@ fn main() {
10851106

10861107
handles.push(std::thread::spawn({
10871108
let sender = tx_job.clone();
1109+
let template_dir = template_dir.clone();
10881110
move || {
1089-
enqueue_readme_jobs(sender);
1111+
enqueue_readme_jobs(sender, template_dir.as_deref());
10901112
}
10911113
}));
10921114

0 commit comments

Comments
 (0)