@@ -15,9 +15,9 @@ use crate::{
1515 logger:: init_logger,
1616} ;
1717pub use client_config:: { get_client_config, ClientConfig } ;
18- use emmylua_code_analysis:: { uri_to_file_path, EmmyLuaAnalysis , Emmyrc , FileId , Profile } ;
1918use codestyle:: load_editorconfig;
2019use collect_files:: collect_files;
20+ use emmylua_code_analysis:: { uri_to_file_path, EmmyLuaAnalysis , Emmyrc , FileId , Profile } ;
2121use log:: info;
2222use lsp_types:: InitializeParams ;
2323use 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