Crate rumdl

Source

Re-exports§

pub use rules::heading_utils::Heading;
pub use rules::heading_utils::HeadingStyle;
pub use crate::lint_context::LintContext;
pub use rules::*;

Modules§

config
This module defines configuration structures, loading logic, and provenance tracking for rumdl. Supports TOML, pyproject.toml, and markdownlint config formats, and provides merging and override logic.
init
This module provides initialization utilities for rumdl, such as creating default configuration files.
lint_context
markdownlint_config
This module handles parsing and mapping markdownlint config files (JSON/YAML) to rumdl’s internal config format. It provides mapping from markdownlint rule keys to rumdl rule keys and provenance tracking for configuration values.
profiling
This module provides profiling utilities for measuring and reporting execution times in rumdl.
rule
This module defines the Rule trait and related types for implementing linting rules in rumdl. Includes rule categories, dynamic dispatch helpers, and inline comment handling for rule enable/disable.
rules
utils
Shared utilities for rumdl, including document structure analysis, code block handling, regex helpers, and string extensions. Provides reusable traits and functions for rule implementations and core linter logic.

Macros§

impl_rule_clone
regex_lazy
Macro for defining a lazily-initialized, cached regex pattern. Use this for ad-hoc regexes that are not already defined in this module. Example:
time_function
Convenience macro to time a function call
time_section
Convenience macro to time a block of code

Functions§

get_profiling_report
Get the profiling report
lint
Lint a file against the given rules Assumes the provided rules vector contains the final, configured, and filtered set of rules to be executed.
reset_profiling
Reset the profiling data