pub struct Config {
pub global: GlobalConfig,
pub per_file_ignores: HashMap<String, Vec<String>>,
pub per_file_flavor: IndexMap<String, MarkdownFlavor>,
pub rules: BTreeMap<String, RuleConfig>,
pub project_root: Option<PathBuf>,
/* private fields */
}Expand description
Represents the complete configuration loaded from rumdl.toml
Fields§
§global: GlobalConfigGlobal configuration options
per_file_ignores: HashMap<String, Vec<String>>Per-file rule ignores: maps file patterns to lists of rules to ignore Example: { “README.md”: [“MD033”], “docs/**/*.md”: [“MD013”] }
per_file_flavor: IndexMap<String, MarkdownFlavor>Per-file flavor overrides: maps file patterns to Markdown flavors Example: { “docs//*.md”: MkDocs, “/*.mdx”: MDX } Uses IndexMap to preserve config file order for “first match wins” semantics
rules: BTreeMap<String, RuleConfig>Rule-specific configurations (e.g., MD013, MD007, MD044) Each rule section can contain options specific to that rule.
Common examples:
- MD013: line_length, code_blocks, tables, headings
- MD007: indent
- MD003: style (“atx”, “atx_closed”, “setext”)
- MD044: names (array of proper names to check)
See https://github.com/rvben/rumdl for full rule documentation.
project_root: Option<PathBuf>Project root directory, used for resolving relative paths in per-file-ignores
Implementations§
Source§impl Config
impl Config
Sourcepub fn is_mkdocs_flavor(&self) -> bool
pub fn is_mkdocs_flavor(&self) -> bool
Check if the Markdown flavor is set to MkDocs
Sourcepub fn markdown_flavor(&self) -> MarkdownFlavor
pub fn markdown_flavor(&self) -> MarkdownFlavor
Get the configured Markdown flavor
Sourcepub fn is_mkdocs_project(&self) -> bool
pub fn is_mkdocs_project(&self) -> bool
Legacy method for backwards compatibility - redirects to is_mkdocs_flavor
Sourcepub fn get_rule_severity(&self, rule_name: &str) -> Option<Severity>
pub fn get_rule_severity(&self, rule_name: &str) -> Option<Severity>
Get the severity override for a specific rule, if configured
Sourcepub fn get_ignored_rules_for_file(&self, file_path: &Path) -> HashSet<String>
pub fn get_ignored_rules_for_file(&self, file_path: &Path) -> HashSet<String>
Get the set of rules that should be ignored for a specific file based on per-file-ignores configuration Returns a HashSet of rule names (uppercase, e.g., “MD033”) that match the given file path
Sourcepub fn get_flavor_for_file(&self, file_path: &Path) -> MarkdownFlavor
pub fn get_flavor_for_file(&self, file_path: &Path) -> MarkdownFlavor
Get the MarkdownFlavor for a specific file based on per-file-flavor configuration. Returns the first matching pattern’s flavor, or falls back to global flavor, or auto-detects from extension, or defaults to Standard.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<SourcedConfig<ConfigValidated>> for Config
Convert a validated configuration to the final Config type.
impl From<SourcedConfig<ConfigValidated>> for Config
Convert a validated configuration to the final Config type.
This implementation only exists for SourcedConfig<ConfigValidated>,
ensuring that validation must occur before conversion.
Source§fn from(sourced: SourcedConfig<ConfigValidated>) -> Self
fn from(sourced: SourcedConfig<ConfigValidated>) -> Self
Source§impl JsonSchema for Config
impl JsonSchema for Config
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more