@@ -2,7 +2,7 @@ use erg_common::consts::PYTHON_MODE;
22use lsp_types:: CompletionResponse ;
33use serde_json:: Value ;
44
5- use erg_common:: config:: ErgConfig ;
5+ use erg_common:: config:: { ErgConfig , Input } ;
66use erg_common:: dict:: Dict ;
77use erg_common:: env:: erg_pystd_path;
88use 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
314317impl 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 }
0 commit comments