| skipped 47 lines |
48 | 48 | | let progress_style = |
49 | 49 | | ProgressStyle::with_template("{spinner:.green} [mapping paths] {pos} paths")?; |
50 | 50 | | progress.set_style(progress_style); |
51 | | - | progress.enable_steady_tick(Duration::from_millis(100)); |
| 51 | + | progress.enable_steady_tick(Duration::from_millis(50)); |
52 | 52 | | |
53 | 53 | | let files = walker |
54 | 54 | | .progress_with(progress) |
55 | 55 | | .filter_map(Result::ok) |
56 | 56 | | .map(|file| file.into_path()) |
57 | 57 | | .filter(|fpath| fpath.is_file()) |
58 | | - | .collect::<Vec<PathBuf>>() |
| 58 | + | .collect::<Vec<PathBuf>>(); |
| 59 | + | |
| 60 | + | let scan_progress = ProgressBar::new(files.len() as u64); |
| 61 | + | let scan_progress_style = ProgressStyle::with_template( |
| 62 | + | "{spinner:.green} [processing mapped paths] [{wide_bar:.cyan/blue}] {pos}/{len} files", |
| 63 | + | )?; |
| 64 | + | scan_progress.set_style(scan_progress_style); |
| 65 | + | scan_progress.enable_steady_tick(Duration::from_millis(50)); |
| 66 | + | |
| 67 | + | let scan_results = files |
59 | 68 | | .into_par_iter() |
60 | | - | .progress_with_style(ProgressStyle::with_template( |
61 | | - | "{spinner:.green} [processing mapped paths] [{wide_bar:.cyan/blue}] {pos}/{len} files", |
62 | | - | )?) |
| 69 | + | .progress_with(scan_progress) |
63 | 70 | | .map(|fpath| File { |
64 | 71 | | path: fpath.clone(), |
65 | 72 | | hash: None, |
| skipped 6 lines |
72 | 79 | | .filter(|file| filters::is_file_gt_min_size(app_opts, file)) |
73 | 80 | | .collect(); |
74 | 81 | | |
75 | | - | Ok(files) |
| 82 | + | Ok(scan_results) |
76 | 83 | | } |
77 | 84 | | |
78 | 85 | | fn process_file_index( |
| skipped 23 lines |
102 | 109 | | index_criteria: IndexCritera, |
103 | 110 | | ) -> Result<DashMap<String, Vec<File>>> { |
104 | 111 | | let store: DashMap<String, Vec<File>> = DashMap::new(); |
| 112 | + | let index_progress = ProgressBar::new(files.len() as u64); |
| 113 | + | let index_progress_style = ProgressStyle::with_template( |
| 114 | + | "{spinner:.green} [indexing files] [{wide_bar:.cyan/blue}] {pos}/{len} files", |
| 115 | + | )?; |
| 116 | + | index_progress.set_style(index_progress_style); |
| 117 | + | index_progress.enable_steady_tick(Duration::from_millis(50)); |
| 118 | + | |
105 | 119 | | files |
106 | 120 | | .into_par_iter() |
107 | | - | .progress_with_style(ProgressStyle::with_template( |
108 | | - | "{spinner:.green} [indexing files] [{wide_bar:.cyan/blue}] {pos}/{len} files", |
109 | | - | )?) |
| 121 | + | .progress_with(index_progress) |
110 | 122 | | .for_each(|file| process_file_index(file, &store, index_criteria)); |
111 | 123 | | |
112 | 124 | | Ok(store) |
| skipped 28 lines |