1
0
mirror of https://github.com/jht5945/finding.git synced 2025-12-27 13:20:03 +08:00

add --filter-file-name

This commit is contained in:
2019-08-04 23:41:08 +08:00
parent cc2387be23
commit 8772470264
2 changed files with 8 additions and 0 deletions

View File

@@ -188,6 +188,11 @@ fn find_text_files(options: &Options, dir_path: &Path) {
return;
}
}
if options.filter_file_name.len() > 0 {
if ! p_str.contains(options.filter_file_name.as_str()) {
return;
}
}
let file_content = match read_file_content(p, options.parsed_large_text_file_size) {
Err(err) => {
if options.verbose {

View File

@@ -18,6 +18,7 @@ pub struct Options {
pub parsed_large_line_size: u64,
pub scan_dot_git: bool,
pub skip_link_dir: bool,
pub filter_file_name: String,
pub verbose: bool,
pub search_text: String,
}
@@ -39,6 +40,7 @@ impl Options {
parsed_large_line_size: 0u64,
scan_dot_git: false,
skip_link_dir: false,
filter_file_name: String::new(),
verbose: false,
search_text: String::new(),
}
@@ -58,6 +60,7 @@ impl Options {
ap.refer(&mut self.large_line_size).add_option(&["--large-line-size"], Store, "Large line, default 10KB");
ap.refer(&mut self.scan_dot_git).add_option(&["--scan-dot-git"], StoreTrue, "Scan dot git");
ap.refer(&mut self.skip_link_dir).add_option(&["--skip-link-dir"], StoreTrue, "Skip link dir");
ap.refer(&mut self.filter_file_name).add_option(&["--filter-file-name"], Store, "Filter file name [Text Mode]");
ap.refer(&mut self.version).add_option(&["-v", "--version"], StoreTrue, "Print version");
ap.refer(&mut self.verbose).add_option(&["--verbose"], StoreTrue, "Verbose");
ap.refer(&mut self.search_text).add_argument("SEARCH TEXT", Store, "Search text");