From 931d7e0b201d2c1c51801c3141509239a4c7a2b2 Mon Sep 17 00:00:00 2001 From: sigoden Date: Tue, 5 Nov 2024 22:00:53 +0800 Subject: feat: `.agent` accepts session name (#970) --- src/utils/path.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/utils') diff --git a/src/utils/path.rs b/src/utils/path.rs index a8534fb..b0a5614 100644 --- a/src/utils/path.rs +++ b/src/utils/path.rs @@ -42,6 +42,27 @@ pub async fn expand_glob_paths>(paths: &[T]) -> Result Ok(new_paths) } +pub fn list_file_names>(dir: Option, ext: &str) -> Vec { + let dir = match dir { + Some(v) => v, + None => return vec![], + }; + match std::fs::read_dir(dir) { + Ok(rd) => { + let mut names = vec![]; + for entry in rd.flatten() { + let name = entry.file_name(); + if let Some(name) = name.to_string_lossy().strip_suffix(ext) { + names.push(name.to_string()); + } + } + names.sort_unstable(); + names + } + Err(_) => vec![], + } +} + pub fn get_patch_extension(path: &str) -> Option { Path::new(&path) .extension() -- cgit v1.2.3