Skip to content

Commit 64ab5ab

Browse files
bors[bot]matklad
andcommitted
Merge #1273
1273: show current function in analysis-stats progress bar r=matklad a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2 parents c417c77 + d4b1e95 commit 64ab5ab

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

crates/ra_cli/src/analysis_stats.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{collections::HashSet, time::Instant};
1+
use std::{collections::HashSet, time::Instant, fmt::Write};
22

33
use ra_db::SourceDatabase;
44
use ra_batch::BatchDatabase;
@@ -52,19 +52,24 @@ pub fn run(verbose: bool, path: &str, only: Option<&str>) -> Result<()> {
5252
println!("Total declarations: {}", num_decls);
5353
println!("Total functions: {}", funcs.len());
5454
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+
);
5558
bar.tick();
5659
let mut num_exprs = 0;
5760
let mut num_exprs_unknown = 0;
5861
let mut num_exprs_partially_unknown = 0;
5962
for f in funcs {
6063
let name = f.name(&db);
64+
let mut msg = format!("processing: {}", name);
6165
if verbose {
6266
let (file_id, source) = f.source(&db);
6367
let original_file = file_id.original_file(&db);
6468
let path = db.file_relative_path(original_file);
6569
let syntax_range = source.syntax().range();
66-
println!("{} ({:?} {})", name, path, syntax_range);
70+
write!(msg, " ({:?} {})", path, syntax_range).unwrap();
6771
}
72+
bar.set_message(&msg);
6873
if let Some(only_name) = only {
6974
if name.to_string() != only_name {
7075
continue;

crates/ra_cli/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fn main() -> Result<()> {
1818
.subcommand(SubCommand::with_name("symbols"))
1919
.subcommand(
2020
SubCommand::with_name("analysis-stats")
21-
.arg(Arg::with_name("verbose").short("v"))
21+
.arg(Arg::with_name("verbose").short("v").long("verbose"))
2222
.arg(Arg::with_name("only").short("o").takes_value(true))
2323
.arg(Arg::with_name("path")),
2424
)

0 commit comments

Comments
 (0)