|
1 |
| -use std::{collections::HashSet, time::Instant}; |
| 1 | +use std::{collections::HashSet, time::Instant, fmt::Write}; |
2 | 2 |
|
3 | 3 | use ra_db::SourceDatabase;
|
4 | 4 | use ra_batch::BatchDatabase;
|
@@ -52,19 +52,24 @@ pub fn run(verbose: bool, path: &str, only: Option<&str>) -> Result<()> {
|
52 | 52 | println!("Total declarations: {}", num_decls);
|
53 | 53 | println!("Total functions: {}", funcs.len());
|
54 | 54 | let bar = indicatif::ProgressBar::new(funcs.len() as u64);
|
| 55 | + bar.set_style( |
| 56 | + indicatif::ProgressStyle::default_bar().template("{wide_bar} {pos}/{len}\n{msg}"), |
| 57 | + ); |
55 | 58 | bar.tick();
|
56 | 59 | let mut num_exprs = 0;
|
57 | 60 | let mut num_exprs_unknown = 0;
|
58 | 61 | let mut num_exprs_partially_unknown = 0;
|
59 | 62 | for f in funcs {
|
60 | 63 | let name = f.name(&db);
|
| 64 | + let mut msg = format!("processing: {}", name); |
61 | 65 | if verbose {
|
62 | 66 | let (file_id, source) = f.source(&db);
|
63 | 67 | let original_file = file_id.original_file(&db);
|
64 | 68 | let path = db.file_relative_path(original_file);
|
65 | 69 | let syntax_range = source.syntax().range();
|
66 |
| - println!("{} ({:?} {})", name, path, syntax_range); |
| 70 | + write!(msg, " ({:?} {})", path, syntax_range).unwrap(); |
67 | 71 | }
|
| 72 | + bar.set_message(&msg); |
68 | 73 | if let Some(only_name) = only {
|
69 | 74 | if name.to_string() != only_name {
|
70 | 75 | continue;
|
|
0 commit comments