Skip to main content

rumdl_lib/config/
mod.rs

1//!
2//! This module defines configuration structures, loading logic, and provenance tracking for rumdl.
3//! Supports TOML, pyproject.toml, and markdownlint config formats, and provides merging and override logic.
4
5pub mod flavor;
6pub use flavor::*;
7
8pub mod types;
9pub use types::*;
10
11pub mod source_tracking;
12pub use source_tracking::*;
13
14/// `.editorconfig` reading. Needs a real filesystem to walk, so it is absent
15/// from the browser wasm build; there `editorconfig = true` parses and has
16/// nothing to find.
17#[cfg(feature = "ec4rs")]
18pub mod editorconfig;
19
20mod loading;
21// Re-exported for the native LSP (`lsp::configuration`), the only cross-module
22// consumer; gated so non-native builds (e.g. wasm/WASI) don't warn on it.
23#[cfg(feature = "native")]
24pub(crate) use loading::rumdl_configs_in_dir;
25
26pub mod registry;
27pub use registry::*;
28
29pub mod validation;
30pub use validation::*;
31
32pub mod global_keys;
33pub use global_keys::{GlobalKeyValue, is_global_value_key, read_global_key};
34
35mod parsers;
36
37#[cfg(test)]
38mod tests;
39
40#[cfg(test)]
41#[path = "../config_intelligent_merge_tests.rs"]
42mod config_intelligent_merge_tests;