[[bench]]
name = "fix_performance"
path = "benches/fix_performance.rs"
[[bench]]
harness = false
name = "link_parsing_manual"
path = "benches/link_parsing_manual.rs"
[[bench]]
name = "range_performance"
path = "benches/range_performance.rs"
[[bench]]
name = "range_utils_benchmark"
path = "benches/range_utils_benchmark.rs"
[[bench]]
name = "rule_performance"
path = "benches/rule_performance.rs"
[[bench]]
name = "simple_fix_bench"
path = "benches/simple_fix_bench.rs"
[[bin]]
name = "rumdl"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.blake3]
optional = true
version = "1.8"
[dependencies.chrono]
features = ["serde"]
optional = true
version = "0.4"
[dependencies.clap]
features = ["derive"]
version = "4.5"
[dependencies.colored]
optional = true
version = "3.0.0"
[dependencies.console_error_panic_hook]
optional = true
version = "0.1"
[dependencies.dyn-clone]
version = "1"
[dependencies.env_logger]
optional = true
version = "0.11"
[dependencies.etcetera]
optional = true
version = "0.11"
[dependencies.fancy-regex]
version = "0.17.0"
[dependencies.futures]
features = ["alloc"]
version = "0.3.31"
[dependencies.globset]
version = "0.4.18"
[dependencies.ignore]
version = "0.4.25"
[dependencies.indexmap]
features = ["serde"]
version = "2"
[dependencies.itertools]
version = "0.14"
[dependencies.js-sys]
optional = true
version = "0.3"
[dependencies.log]
version = "0.4.29"
[dependencies.memmap2]
version = "0.9"
[dependencies.memory-stats]
optional = true
version = "1.2.0"
[dependencies.notify]
optional = true
version = "8.2"
[dependencies.phf]
features = ["macros"]
version = "0.13"
[dependencies.postcard]
features = ["alloc"]
optional = true
version = "1.1"
[dependencies.pulldown-cmark]
version = "0.13.0"
[dependencies.rayon]
optional = true
version = "1.11.0"
[dependencies.regex]
version = "1.12"
[dependencies.schemars]
version = "1.1"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde-wasm-bindgen]
optional = true
version = "0.6"
[dependencies.serde_json]
features = ["preserve_order"]
version = "1.0"
[dependencies.serde_yml]
version = "0.0.12"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.titlecase]
version = "3"
[dependencies.tokio]
features = ["full"]
optional = true
version = "1.48"
[dependencies.tokio-util]
optional = true
version = "0.7"
[dependencies.toml]
version = "0.9"
[dependencies.toml_edit]
version = "0.24"
[dependencies.tower]
optional = true
version = "0.5.2"
[dependencies.tower-lsp]
optional = true
version = "0.20"
[dependencies.tower-service]
optional = true
version = "0.3"
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.unicode-width]
version = "0.2"
[dependencies.url]
features = ["serde"]
version = "2"
[dependencies.wasm-bindgen]
optional = true
version = "0.2"
[dev-dependencies.assert_cmd]
version = "2.1.1"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.8"
[dev-dependencies.jsonschema]
version = "0.37"
[dev-dependencies.predicates]
version = "3.1.3"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.serial_test]
version = "3.2"
[dev-dependencies.tempfile]
version = "3.23"
[dev-dependencies.unicode-segmentation]
version = "1.12"
[dev-dependencies.ureq]
version = "3.1"
[[example]]
name = "profile_quadratic"
path = "examples/profile_quadratic.rs"
[features]
default = ["parallel", "native"]
native = ["tower-lsp", "tokio", "tokio-util", "tower", "tower-service", "env_logger", "chrono", "notify", "etcetera", "blake3", "postcard", "colored", "memory-stats"]
parallel = ["rayon"]
profiling = []
wasm = ["wasm-bindgen", "console_error_panic_hook", "js-sys", "serde-wasm-bindgen"]
[lib]
crate-type = ["cdylib", "rlib"]
name = "rumdl_lib"
path = "src/lib.rs"
[package]
authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities", "development-tools", "text-processing"]
description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
documentation = "https://github.com/rvben/rumdl/blob/main/docs"
edition = "2024"
exclude = [".github/", ".gitignore", "*.bak"]
homepage = "https://github.com/rvben/rumdl"
keywords = ["markdown", "linter", "markdown-linter", "static-analysis", "documentation"]
license = "MIT"
name = "rumdl"
readme = "README.md"
repository = "https://github.com/rvben/rumdl"
rust-version = "1.91.0"
version = "0.0.220"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[profile.perf-test]
codegen-units = 16
inherits = "release"
lto = false
opt-level = 3
[profile.profiling]
debug = 2
inherits = "release"
opt-level = 3
strip = false
[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
strip = true
[target.'cfg(all(not(target_env = "msvc"), not(target_arch = "wasm32")))'.dependencies.tikv-jemallocator]
version = "0.6"
[target.'cfg(all(target_env = "msvc", not(target_arch = "wasm32")))'.dependencies.mimalloc]
default-features = false
version = "0.1"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[[test]]
name = "advanced_integration_tests"
path = "tests/advanced_integration_tests.rs"
[[test]]
name = "cli_alias_test"
path = "tests/cli_alias_test.rs"
[[test]]
name = "cli_duplication_test"
path = "tests/cli_duplication_test.rs"
[[test]]
name = "cli_explain_test"
path = "tests/cli_explain_test.rs"
[[test]]
name = "cli_fail_on_test"
path = "tests/cli_fail_on_test.rs"
[[test]]
name = "cli_flag_precedence_test"
path = "tests/cli_flag_precedence_test.rs"
[[test]]
name = "cli_flavor_test"
path = "tests/cli_flavor_test.rs"
[[test]]
name = "cli_integration_tests"
path = "tests/cli_integration_tests.rs"
[[test]]
name = "cli_lsp_fix_consistency"
path = "tests/cli_lsp_fix_consistency.rs"
[[test]]
name = "cli_respect_gitignore_test"
path = "tests/cli_respect_gitignore_test.rs"
[[test]]
name = "cli_show_full_path_test"
path = "tests/cli_show_full_path_test.rs"
[[test]]
name = "cli_statistics_test"
path = "tests/cli_statistics_test.rs"
[[test]]
name = "code_block_blockquote_edge_cases"
path = "tests/code_block_blockquote_edge_cases.rs"
[[test]]
name = "commonmark_compliance_test"
path = "tests/commonmark_compliance_test.rs"
[[test]]
name = "commonmark_compliance_tests"
path = "tests/commonmark_compliance_tests.rs"
[[test]]
name = "comprehensive_integration_tests"
path = "tests/comprehensive_integration_tests.rs"
[[test]]
name = "comprehensive_output_format_tests"
path = "tests/comprehensive_output_format_tests.rs"
[[test]]
name = "config_application_tests"
path = "tests/config_application_tests.rs"
[[test]]
name = "config_documentation_completeness"
path = "tests/config_documentation_completeness.rs"
[[test]]
name = "config_file_command_test"
path = "tests/config_file_command_test.rs"
[[test]]
name = "config_path_resolution_test"
path = "tests/config_path_resolution_test.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "config_upward_traversal_test"
path = "tests/config_upward_traversal_test.rs"
[[test]]
name = "configuration_inheritance_tests"
path = "tests/configuration_inheritance_tests.rs"
[[test]]
name = "consistency_regression_tests"
path = "tests/consistency_regression_tests.rs"
[[test]]
name = "crlf_line_endings_test"
path = "tests/crlf_line_endings_test.rs"
[[test]]
name = "cross_file_validation_test"
path = "tests/cross_file_validation_test.rs"
[[test]]
name = "cross_platform_compatibility_tests"
path = "tests/cross_platform_compatibility_tests.rs"
[[test]]
name = "deeply_nested_lists_performance_test"
path = "tests/deeply_nested_lists_performance_test.rs"
[[test]]
name = "definition_list_reflow_test"
path = "tests/definition_list_reflow_test.rs"
[[test]]
name = "escaped_brackets_test"
path = "tests/escaped_brackets_test.rs"
[[test]]
name = "exclude_with_explicit_paths_test"
path = "tests/exclude_with_explicit_paths_test.rs"
[[test]]
name = "final_confidence_assessment"
path = "tests/final_confidence_assessment.rs"
[[test]]
name = "fix_counting_test"
path = "tests/fix_counting_test.rs"
[[test]]
name = "fix_performance_baseline_test"
path = "tests/fix_performance_baseline_test.rs"
[[test]]
name = "fixable_unfixable_config_test"
path = "tests/fixable_unfixable_config_test.rs"
[[test]]
name = "gfm_comprehensive_test"
path = "tests/gfm_comprehensive_test.rs"
[[test]]
name = "html_comments_test"
path = "tests/html_comments_test.rs"
[[test]]
name = "init_command_test"
path = "tests/init_command_test.rs"
[[test]]
name = "init_tests"
path = "tests/init_tests.rs"
[[test]]
name = "inline_config_blocks_test"
path = "tests/inline_config_blocks_test.rs"
[[test]]
name = "inline_config_test"
path = "tests/inline_config_test.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "json_output_test"
path = "tests/json_output_test.rs"
[[test]]
name = "kramdown_integration_test"
path = "tests/kramdown_integration_test.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[test]]
name = "lint_context_list_blocks_issue_148_test"
path = "tests/lint_context_list_blocks_issue_148_test.rs"
[[test]]
name = "lint_context_list_continuation_test"
path = "tests/lint_context_list_continuation_test.rs"
[[test]]
name = "lint_context_visual_indent_test"
path = "tests/lint_context_visual_indent_test.rs"
[[test]]
name = "lsp_editor_integration_tests"
path = "tests/lsp_editor_integration_tests.rs"
[[test]]
name = "lsp_formatting_tests"
path = "tests/lsp_formatting_tests.rs"
[[test]]
name = "lsp_initialization_options_test"
path = "tests/lsp_initialization_options_test.rs"
[[test]]
name = "lsp_integration_tests"
path = "tests/lsp_integration_tests.rs"
[[test]]
name = "lsp_memory_leak_tests"
path = "tests/lsp_memory_leak_tests.rs"
[[test]]
name = "lsp_mkdocs_flavor_test"
path = "tests/lsp_mkdocs_flavor_test.rs"
[[test]]
name = "lsp_tests"
path = "tests/lsp_tests.rs"
[[test]]
name = "lsp_unopened_document_test"
path = "tests/lsp_unopened_document_test.rs"
[[test]]
name = "malformed_markdown_stress_tests"
path = "tests/malformed_markdown_stress_tests.rs"
[[test]]
name = "markdownlint_cli_integration"
path = "tests/markdownlint_cli_integration.rs"
[[test]]
name = "markdownlint_config_test"
path = "tests/markdownlint_config_test.rs"
[[test]]
name = "markdownlintignore_test"
path = "tests/markdownlintignore_test.rs"
[[test]]
name = "md009_md013_integration_test"
path = "tests/md009_md013_integration_test.rs"
[[test]]
name = "md009_md013_order_test"
path = "tests/md009_md013_order_test.rs"
[[test]]
name = "md013_hard_breaks_test"
path = "tests/md013_hard_breaks_test.rs"
[[test]]
name = "md013_reflow_integration_test"
path = "tests/md013_reflow_integration_test.rs"
[[test]]
name = "md013_reflow_nested_lists_test"
path = "tests/md013_reflow_nested_lists_test.rs"
[[test]]
name = "md032_edge_cases_test"
path = "tests/md032_edge_cases_test.rs"
[[test]]
name = "md032_ordered_list_bug_test"
path = "tests/md032_ordered_list_bug_test.rs"
[[test]]
name = "md033_edge_cases_test"
path = "tests/md033_edge_cases_test.rs"
[[test]]
name = "md034_parentheses_url_test"
path = "tests/md034_parentheses_url_test.rs"
[[test]]
name = "md037_xxxx_regression_test"
path = "tests/md037_xxxx_regression_test.rs"
[[test]]
name = "md038_false_positive_test"
path = "tests/md038_false_positive_test.rs"
[[test]]
name = "md051_issue_39_regression_test"
path = "tests/md051_issue_39_regression_test.rs"
[[test]]
name = "md051_readme_bug_test"
path = "tests/md051_readme_bug_test.rs"
[[test]]
name = "md051_toc_bug_test"
path = "tests/md051_toc_bug_test.rs"
[[test]]
name = "md052_literal_brackets_test"
path = "tests/md052_literal_brackets_test.rs"
[[test]]
name = "md054_code_span_test"
path = "tests/md054_code_span_test.rs"
[[test]]
name = "mdx_comprehensive_test"
path = "tests/mdx_comprehensive_test.rs"
[[test]]
name = "mkdocs_anchor_edge_cases_test"
path = "tests/mkdocs_anchor_edge_cases_test.rs"
[[test]]
name = "mkdocs_anchor_test"
path = "tests/mkdocs_anchor_test.rs"
[[test]]
name = "nested_code_block_test"
path = "tests/nested_code_block_test.rs"
[[test]]
name = "output_format_integration_tests"
path = "tests/output_format_integration_tests.rs"
[[test]]
name = "output_format_tests"
path = "tests/output_format_tests.rs"
[[test]]
name = "per_file_ignores_integration_test"
path = "tests/per_file_ignores_integration_test.rs"
[[test]]
name = "perf_check"
path = "tests/perf_check.rs"
[[test]]
name = "perf_regression_issue_148"
path = "tests/perf_regression_issue_148.rs"
[[test]]
name = "performance_validation_tests"
path = "tests/performance_validation_tests.rs"
[[test]]
name = "pyproject_config_tests"
path = "tests/pyproject_config_tests.rs"
[[test]]
name = "quarto_comprehensive_test"
path = "tests/quarto_comprehensive_test.rs"
[[test]]
name = "real_world_repository_tests"
path = "tests/real_world_repository_tests.rs"
[[test]]
name = "regression_prevention_tests"
path = "tests/regression_prevention_tests.rs"
[[test]]
name = "rule_complexity_regression_test"
path = "tests/rule_complexity_regression_test.rs"
[[test]]
name = "rules_mod_test"
path = "tests/rules_mod_test.rs"
[[test]]
name = "schema_validation_test"
path = "tests/schema_validation_test.rs"
[[test]]
name = "sentence_per_line_test"
path = "tests/sentence_per_line_test.rs"
[[test]]
name = "skip_context_tests"
path = "tests/skip_context_tests.rs"
[[test]]
name = "test_lint_context_flow"
path = "tests/test_lint_context_flow.rs"
[[test]]
name = "test_underscore_edge_cases"
path = "tests/test_underscore_edge_cases.rs"
[[test]]
name = "thread_safety_tests"
path = "tests/thread_safety_tests.rs"
[[test]]
name = "unfixable_rules_test"
path = "tests/unfixable_rules_test.rs"
[[test]]
name = "unicode_edge_case_tests"
path = "tests/unicode_edge_case_tests.rs"
[[test]]
name = "utf8_boundary_tests"
path = "tests/utf8_boundary_tests.rs"
[[test]]
name = "utf8_comprehensive_stress_test"
path = "tests/utf8_comprehensive_stress_test.rs"
[[test]]
name = "utf8_safety_test"
path = "tests/utf8_safety_test.rs"
[[test]]
name = "utils_markdown_edge_cases"
path = "tests/utils_markdown_edge_cases.rs"
[[test]]
name = "utils_tests"
path = "tests/utils_tests.rs"
[[test]]
name = "vscode_extension_fixes"
path = "tests/vscode_extension_fixes.rs"
[[test]]
name = "vscode_test"
path = "tests/vscode_test.rs"
[[test]]
name = "vscode_tests"
path = "tests/vscode_tests.rs"
[[test]]
name = "vscode_windows_comprehensive_test"
path = "tests/vscode_windows_comprehensive_test.rs"
[[test]]
name = "vscode_windows_test"
path = "tests/vscode_windows_test.rs"