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§

fancy_regex_cached
Macro for getting fancy regex from global cache
impl_rule_clone
regex_cached
Macro for getting regex from global cache
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§

clear_all_caches
Clear all caches (useful for testing and memory management)
get_ast_cache_stats
Get AST cache statistics for performance monitoring
get_cache_performance_report
Get comprehensive cache performance report
get_profiling_report
Get the profiling report
get_regex_cache_stats
Get regex cache statistics for performance monitoring
lint
Lint a file against the given rules with intelligent rule filtering Assumes the provided rules vector contains the final, configured, and filtered set of rules to be executed.
reset_profiling
Reset the profiling data