@@ -3,7 +3,7 @@ use emmylua_code_analysis::{
33} ;
44use fern:: Dispatch ;
55use log:: LevelFilter ;
6- use std:: { path:: PathBuf , str:: FromStr , sync :: Arc } ;
6+ use std:: { path:: PathBuf , str:: FromStr } ;
77
88fn root_from_configs ( config_paths : & Vec < PathBuf > , fallback : & PathBuf ) -> PathBuf {
99 if config_paths. len ( ) != 1 {
@@ -90,11 +90,9 @@ pub fn load_workspace(
9090 ) ;
9191 emmyrc. pre_process_emmyrc ( & config_root) ;
9292
93- for lib in & emmyrc. workspace . library {
94- workspace_folders. push ( PathBuf :: from_str ( lib) . unwrap ( ) ) ;
95- }
96-
9793 let mut analysis = EmmyLuaAnalysis :: new ( ) ;
94+ analysis. update_config ( emmyrc. clone ( ) . into ( ) ) ;
95+ analysis. init_std_lib ( None ) ;
9896
9997 for path in & workspace_folders {
10098 analysis. add_main_workspace ( path. clone ( ) ) ;
@@ -104,8 +102,10 @@ pub fn load_workspace(
104102 analysis. add_main_workspace ( PathBuf :: from_str ( root) . unwrap ( ) ) ;
105103 }
106104
107- analysis. update_config ( Arc :: new ( emmyrc) ) ;
108- analysis. init_std_lib ( None ) ;
105+ for lib in & emmyrc. workspace . library {
106+ analysis. add_library_workspace ( PathBuf :: from_str ( lib) . unwrap ( ) ) ;
107+ workspace_folders. push ( PathBuf :: from_str ( lib) . unwrap ( ) ) ;
108+ }
109109
110110 let file_infos = collect_files ( & workspace_folders, & analysis. emmyrc , ignore) ;
111111 let files = file_infos
0 commit comments