VC: Tmp fix

This commit is contained in:
2026-06-21 19:48:49 +02:00
parent cd7a62dc34
commit c735441f37
+19 -9
View File
@@ -374,14 +374,25 @@ impl LanguageServer for Backend {
eprintln!("Loaded {} mist files", files.len()); eprintln!("Loaded {} mist files", files.len());
let mapping_c = mapping.clone(); // Compute mod_decls before any transpile so the root file gets its
let documents_c = documents.clone(); // child module declarations from the very first didOpen.
let ra_c = ra.clone(); let package_mist = read_mist_package(root);
let src_root = root.join("src");
let mod_decls = {
let docs = documents.lock().await;
compute_mod_decls(&docs, &src_root, &package_mist)
};
for file in &files { for file in &files {
if let Some(source) = documents_c.lock().await.get(file).map(|r| r.to_string()) let decl = mod_decls.get(file).map(String::as_str).unwrap_or("");
{ let source = match documents.lock().await.get(file) {
let transpiled = match transpile_mist(file, &source, "") { Some(r) => r.to_string(),
None => {
eprintln!("missing document for {:?}", file);
continue;
}
};
let transpiled = match transpile_mist(file, &source, decl) {
Ok(t) => t, Ok(t) => t,
Err(e) => { Err(e) => {
eprintln!("transpile error for {:?}: {e}", file); eprintln!("transpile error for {:?}: {e}", file);
@@ -390,18 +401,17 @@ impl LanguageServer for Backend {
}; };
if let Some(rust_uri) = clean_lsp_url(&transpiled.rust_path) { if let Some(rust_uri) = clean_lsp_url(&transpiled.rust_path) {
let _ = ra_c let _ = ra
.lock() .lock()
.await .await
.did_open(rust_uri, &transpiled.rust_content) .did_open(rust_uri, &transpiled.rust_content)
.await; .await;
mapping_c mapping
.lock() .lock()
.await .await
.insert(transpiled.rust_path, transpiled.mapping); .insert(transpiled.rust_path, transpiled.mapping);
} }
} }
}
if let Some(rx) = notification_rx.lock().await.take() { if let Some(rx) = notification_rx.lock().await.take() {
tokio::spawn(handle_ra_notifications( tokio::spawn(handle_ra_notifications(