Crate rumdl_lib

Crate rumdl_lib 

Source

Re-exports§

pub use rules::heading_utils::Heading;
pub use rules::heading_utils::HeadingStyle;
pub use crate::lint_context::LineInfo;
pub use crate::lint_context::LintContext;
pub use crate::lint_context::ListItemInfo;
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.
exit_codes
filtered_lines
Filtered line iteration for markdown linting
fix_coordinator
inline_config
Inline configuration comment handling for markdownlint compatibility
lint_context
lsp
Language Server Protocol implementation for rumdl
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.
output
Output formatting module for rumdl
parallel
performance
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.
rule_config
rule_config_serde
rules
types
Type-safe configuration types for rumdl.
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.
vscode
workspace_index
Workspace-wide index for cross-file analysis

Macros§

fancy_regex_cached
Macro for getting fancy regex from global cache.
impl_default_config
Helper macro to implement default_config_section for rules
impl_rule_clone
regex_cached
Macro for getting regex from global cache.
regex_lazy
Macro for defining a lazily-initialized, cached regex pattern.
time_function
Convenience macro to time a function call
time_section
Convenience macro to time a block of code

Functions§

build_file_index_only
Build FileIndex only (no linting) for cross-file analysis on cache hits
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.
lint_and_index
Lint a file and contribute to workspace index for cross-file analysis
reset_profiling
Reset the profiling data
run_cross_file_checks
Run cross-file checks for rules that need workspace-wide validation