Skip to content

Commit 7e9cb51

Browse files
committed
fix: inherit config
1 parent dab9def commit 7e9cb51

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

crates/els/completion.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use erg_common::consts::PYTHON_MODE;
22
use lsp_types::CompletionResponse;
33
use serde_json::Value;
44

5-
use erg_common::config::ErgConfig;
5+
use erg_common::config::{ErgConfig, Input};
66
use erg_common::dict::Dict;
77
use erg_common::env::erg_pystd_path;
88
use erg_common::impl_u8_enum;
@@ -264,7 +264,7 @@ fn module_completions() -> Vec<CompletionItem> {
264264
comps
265265
}
266266

267-
fn load_modules(cache: Cache) {
267+
fn load_modules(cfg: ErgConfig, cache: Cache) {
268268
let major_mods = [
269269
"datetime",
270270
"glob",
@@ -285,7 +285,10 @@ fn load_modules(cache: Cache) {
285285
let src = major_mods.into_iter().fold("".to_string(), |acc, module| {
286286
acc + &format!("_ = pyimport \"{module}\"\n")
287287
});
288-
let cfg = ErgConfig::string(src.clone());
288+
let cfg = ErgConfig {
289+
input: Input::str(src.clone()),
290+
..cfg
291+
};
289292
let shared = SharedCompilerResource::new(cfg.clone());
290293
let mut checker = HIRBuilder::inherit(cfg, shared.clone());
291294
let _res = checker.build(src, "exec");
@@ -312,12 +315,12 @@ fn load_modules(cache: Cache) {
312315
}
313316

314317
impl CompletionCache {
315-
pub fn new() -> Self {
318+
pub fn new(cfg: ErgConfig) -> Self {
316319
let cache = AtomicShared::new(Dict::default());
317320
let clone = cache.clone();
318321
std::thread::spawn(move || {
319322
crate::_log!("load_modules");
320-
load_modules(clone)
323+
load_modules(cfg, clone)
321324
});
322325
Self { cache }
323326
}

crates/els/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,13 @@ pub struct Server<Checker: BuildRunnable = HIRBuilder> {
221221
impl<Checker: BuildRunnable> Server<Checker> {
222222
pub fn new(cfg: ErgConfig) -> Self {
223223
Self {
224+
comp_cache: CompletionCache::new(cfg.copy()),
224225
cfg,
225226
home: normalize_path(std::env::current_dir().unwrap_or_default()),
226227
erg_path: erg_path(), // already normalized
227228
client_capas: ClientCapabilities::default(),
228229
disabled_features: vec![],
229230
opt_features: vec![],
230-
comp_cache: CompletionCache::new(),
231231
file_cache: FileCache::new(),
232232
modules: Dict::new(),
233233
analysis_result: Dict::new(),

0 commit comments

Comments
 (0)