diff options
author | Noah Too <krivahtoo@gmail.com> | 2022-10-17 19:39:53 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-17 12:39:53 -0400 |
commit | be452d4c9abf7891111138000fe7683f169d69a5 (patch) | |
tree | 75d9967795d601f7dc7eacd5e3dede155bd36d1f /src/history.rs | |
parent | 02c7e941566a2d828e77dd33a6dda74c8a0c42ef (diff) |
add `filter` command (#205)
* add `filter` command
* cargo fmt
Diffstat (limited to 'src/history.rs')
-rw-r--r-- | src/history.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/history.rs b/src/history.rs index 162c3bd..076f59c 100644 --- a/src/history.rs +++ b/src/history.rs @@ -155,7 +155,7 @@ pub fn create_dirlist_with_history( tab_options: &TabDisplayOption, ) -> io::Result<JoshutoDirList> { let filter_func = options.filter_func(); - let mut contents = read_directory(path, filter_func, options)?; + let mut contents = read_directory(path, filter_func, options, tab_options)?; // re-use directory size information on reload for entry in contents.iter_mut() { @@ -246,12 +246,13 @@ pub fn read_directory<F>( path: &Path, filter_func: F, options: &DisplayOption, + tab_options: &TabDisplayOption, ) -> io::Result<Vec<JoshutoDirEntry>> where - F: Fn(&Result<fs::DirEntry, io::Error>) -> bool, + F: Fn(&Result<fs::DirEntry, io::Error>, &DisplayOption, &TabDisplayOption) -> bool, { let results: Vec<JoshutoDirEntry> = fs::read_dir(path)? - .filter(filter_func) + .filter(|res| filter_func(res, options, tab_options)) .filter_map(|res| JoshutoDirEntry::from(&res.ok()?, options).ok()) .collect(); |