From 5273034e7b152f0cb7891d17d752357245e2d7b9 Mon Sep 17 00:00:00 2001 From: Daniel Edrisian Date: Tue, 26 Aug 2025 08:28:26 -0700 Subject: [PATCH] only .md files --- codex-rs/core/src/custom_prompts.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/codex-rs/core/src/custom_prompts.rs b/codex-rs/core/src/custom_prompts.rs index 696c15d919..3785a0c42d 100644 --- a/codex-rs/core/src/custom_prompts.rs +++ b/codex-rs/core/src/custom_prompts.rs @@ -25,6 +25,15 @@ pub fn discover_prompts_in_excluding(dir: &Path, exclude: &HashSet) -> V if !path.is_file() { continue; } + // Only include Markdown files with a .md extension. + let is_md = path + .extension() + .and_then(|s| s.to_str()) + .map(|ext| ext.eq_ignore_ascii_case("md")) + .unwrap_or(false); + if !is_md { + continue; + } let Some(name) = path .file_stem() .and_then(|s| s.to_str()) @@ -67,8 +76,8 @@ mod tests { fn discovers_and_sorts_files() { let tmp = TempDir::new().unwrap(); let dir = tmp.path(); - fs::write(dir.join("b"), b"b").unwrap(); - fs::write(dir.join("a"), b"a").unwrap(); + fs::write(dir.join("b.md"), b"b").unwrap(); + fs::write(dir.join("a.md"), b"a").unwrap(); fs::create_dir(dir.join("subdir")).unwrap(); let found = discover_prompts_in(dir); let names: Vec = found.into_iter().map(|e| e.name).collect(); @@ -79,8 +88,8 @@ mod tests { fn excludes_builtins() { let tmp = TempDir::new().unwrap(); let dir = tmp.path(); - fs::write(dir.join("init"), b"ignored").unwrap(); - fs::write(dir.join("foo"), b"ok").unwrap(); + fs::write(dir.join("init.md"), b"ignored").unwrap(); + fs::write(dir.join("foo.md"), b"ok").unwrap(); let mut exclude = HashSet::new(); exclude.insert("init".to_string()); let found = discover_prompts_in_excluding(dir, &exclude);