Skip to content

Commit 888cfb1

Browse files
committed
fix diagnostic progress issue
1 parent 8045c04 commit 888cfb1

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
`Fix` Fix a documentation cli tool render issue
1414

15+
`FIX` Fix diagnostic progress issue
16+
1517
# 0.4.4
1618

1719
`NEW` Support generic alias fold

crates/emmylua_ls/src/handlers/initialized/mod.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ use crate::{
1515
logger::init_logger,
1616
};
1717
pub use client_config::{get_client_config, ClientConfig};
18-
use emmylua_code_analysis::{uri_to_file_path, EmmyLuaAnalysis, Emmyrc, FileId, Profile};
1918
use codestyle::load_editorconfig;
2019
use collect_files::collect_files;
20+
use emmylua_code_analysis::{uri_to_file_path, EmmyLuaAnalysis, Emmyrc, FileId, Profile};
2121
use log::info;
2222
use lsp_types::InitializeParams;
2323
use tokio::sync::RwLock;
@@ -128,7 +128,6 @@ pub async fn init_analysis(
128128
files.into_iter().map(|file| file.into_tuple()).collect();
129129

130130
let file_count = files.len();
131-
132131
status_bar.update_progress_task(
133132
client_id,
134133
ProgressTask::LoadWorkspace,
@@ -147,6 +146,7 @@ pub async fn init_analysis(
147146
let cancle_token = CancellationToken::new();
148147
// diagnostic files
149148
let (tx, mut rx) = tokio::sync::mpsc::channel::<FileId>(100);
149+
let valid_file_count = file_ids.len();
150150
for file_id in file_ids {
151151
let analysis = analysis.clone();
152152
let token = cancle_token.clone();
@@ -169,23 +169,23 @@ pub async fn init_analysis(
169169
}
170170

171171
let mut count = 0;
172-
if file_count != 0 {
173-
let text = format!("diagnose {} files", file_count);
172+
if valid_file_count != 0 {
173+
let text = format!("diagnose {} files", valid_file_count);
174174
let _p = Profile::new(text.as_str());
175175
status_bar.create_progress_task(client_id, ProgressTask::DiagnoseWorkspace);
176176
while let Some(_) = rx.recv().await {
177177
count += 1;
178178

179-
let message = format!("diagnostic {}/{}", count, file_count);
180-
let percentage_done = ((count as f32 / file_count as f32) * 100.0) as u32;
179+
let message = format!("diagnostic {}/{}", count, valid_file_count);
180+
let percentage_done = ((count as f32 / valid_file_count as f32) * 100.0) as u32;
181181
status_bar.update_progress_task(
182182
client_id,
183183
ProgressTask::DiagnoseWorkspace,
184184
Some(percentage_done),
185185
Some(message),
186186
);
187187

188-
if count == file_count {
188+
if count == valid_file_count {
189189
status_bar.finish_progress_task(client_id, ProgressTask::DiagnoseWorkspace, None);
190190
break;
191191
}

0 commit comments

Comments
 (0)