From c1d7152992fcaf3f0f77dedb038da14a9c654372 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Tue, 30 Jun 2026 18:30:19 +0200 Subject: [PATCH] Deduped config --- Cargo.lock | 1 + crates/analyzer/Cargo.toml | 1 + crates/analyzer/src/lib.rs | 14 +++----------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5621ceb..5dd1e46 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -481,6 +481,7 @@ dependencies = [ "cargo_metadata", "dashmap 6.1.0", "heck", + "mist-api", "mist-codegen", "mist-parser", "pest", diff --git a/crates/analyzer/Cargo.toml b/crates/analyzer/Cargo.toml index 9516385..7f6449c 100644 --- a/crates/analyzer/Cargo.toml +++ b/crates/analyzer/Cargo.toml @@ -9,6 +9,7 @@ keywords = ["language-server", "language", "mist"] categories = ["compilers"] [dependencies] +mist-api = { workspace = true } mist-parser = { workspace = true } mist-codegen = { workspace = true } pest = "2.8.6" diff --git a/crates/analyzer/src/lib.rs b/crates/analyzer/src/lib.rs index 5c7a025..815ea48 100644 --- a/crates/analyzer/src/lib.rs +++ b/crates/analyzer/src/lib.rs @@ -7,11 +7,12 @@ use std::sync::Arc; use std::sync::atomic::{AtomicU64, Ordering}; use heck::ToSnakeCase; +use mist_api::transpiler::MistConfig; use mist_parser::MistFmtConfig; use mist_parser::error::ParseError; use mist_parser::rev_mapper::{Mapping, MistMap, RustMap}; use ropey::Rope; -use serde::{Deserialize, Serialize}; +use serde::Deserialize; use serde_json::Value; use tokio::sync::Mutex; use tower_lsp::lsp_types::{self, *}; @@ -1890,13 +1891,6 @@ fn read_mist_package(workspace_root: &Path) -> String { .unwrap_or_else(|| "main.mist".to_string()) } -#[derive(Debug, Serialize, Deserialize)] -pub struct MistConfig { - pub package: PathBuf, - pub packages: Vec, - pub fmt: Option, -} - fn read_mist_fmt(workspace_root: &Path) -> Option { let toml_path = workspace_root.join("Mist.toml"); let content = match std::fs::read_to_string(&toml_path) { @@ -1908,9 +1902,7 @@ fn read_mist_fmt(workspace_root: &Path) -> Option { } }; - toml::from_str::(&content) - .ok() - .and_then(|v| v.fmt) + toml::from_str::(&content).ok().map(|v| v.fmt) } fn compute_mod_decls(