Skip to content

Commit 1ced6f4

Browse files
committed
fix some load issue for cli tool
1 parent c71627a commit 1ced6f4

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

crates/emmylua_check/src/init.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ pub fn load_workspace(
3131
let mut emmyrc = load_configs(config_files, None);
3232
emmyrc.pre_process_emmyrc(&main_path);
3333

34+
for root in &emmyrc.workspace.workspace_roots {
35+
analysis.add_workspace_root(PathBuf::from_str(root).unwrap());
36+
}
37+
3438
for lib in &emmyrc.workspace.library {
3539
analysis.add_workspace_root(PathBuf::from_str(lib).unwrap());
3640
workspace_folders.push(PathBuf::from_str(lib).unwrap());

crates/emmylua_doc_cli/src/init.rs

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,43 @@
1-
use std::{path::PathBuf, sync::Arc};
1+
use std::{path::PathBuf, str::FromStr, sync::Arc};
22

3-
use emmylua_code_analysis::{load_configs, load_workspace_files, EmmyLuaAnalysis, Emmyrc, LuaFileInfo};
3+
use emmylua_code_analysis::{
4+
load_configs, load_workspace_files, EmmyLuaAnalysis, Emmyrc, LuaFileInfo,
5+
};
46

57
#[allow(unused)]
68
pub fn load_workspace(workspace_folders: Vec<&str>) -> Option<EmmyLuaAnalysis> {
79
let mut analysis = EmmyLuaAnalysis::new();
810
analysis.init_std_lib(false);
911

10-
let paths = workspace_folders
12+
let mut workspace_folders = workspace_folders
1113
.iter()
1214
.map(|s| PathBuf::from(s))
1315
.collect::<Vec<_>>();
14-
for path in &paths {
16+
for path in &workspace_folders {
1517
analysis.add_workspace_root(path.clone());
1618
}
1719

18-
let main_path = paths.get(0)?.clone();
20+
let main_path = workspace_folders.get(0)?.clone();
1921
let config_files = vec![
2022
main_path.join(".luarc.json"),
2123
main_path.join(".emmyrc.json"),
2224
];
23-
let emmyrc = Arc::new(load_configs(config_files, None));
25+
let mut emmyrc = load_configs(config_files, None);
26+
emmyrc.pre_process_emmyrc(&main_path);
27+
let emmyrc = Arc::new(emmyrc);
28+
29+
for root in &emmyrc.workspace.workspace_roots {
30+
analysis.add_workspace_root(PathBuf::from_str(root).unwrap());
31+
}
32+
33+
for lib in &emmyrc.workspace.library {
34+
analysis.add_workspace_root(PathBuf::from_str(lib).unwrap());
35+
workspace_folders.push(PathBuf::from_str(lib).unwrap());
36+
}
37+
2438
analysis.update_config(emmyrc);
2539

26-
let file_infos = collect_files(&paths, &analysis.emmyrc);
40+
let file_infos = collect_files(&workspace_folders, &analysis.emmyrc);
2741
let files = file_infos
2842
.into_iter()
2943
.map(|file| file.into_tuple())

0 commit comments

Comments
 (0)