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
20pub(crate) mod file_source;
21
22mod loading;
23// Re-exported for the native LSP (`lsp::configuration`), the only cross-module
24// consumer; gated so non-native builds (e.g. wasm/WASI) don't warn on it.
25#[cfg(feature = "native")]
26pub(crate) use loading::collect_project_config_candidates;
27
28pub mod registry;
29pub use registry::*;
30
31pub mod validation;
32pub use validation::*;
33
34pub mod global_keys;
35pub use global_keys::{GlobalKeyValue, is_global_value_key, read_global_key};
36
37mod parsers;
38
39#[cfg(test)]
40mod tests;
41
42#[cfg(test)]
43#[path = "../config_intelligent_merge_tests.rs"]
44mod config_intelligent_merge_tests;