[package]
edition = "2024"
rust-version = "1.91.0"
name = "rumdl"
version = "0.0.224"
authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
build = false
exclude = [
".github/",
".gitignore",
"*.bak",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
homepage = "https://github.com/rvben/rumdl"
documentation = "https://github.com/rvben/rumdl/blob/main/docs"
readme = "README.md"
keywords = [
"markdown",
"linter",
"markdown-linter",
"static-analysis",
"documentation",
]
categories = [
"command-line-utilities",
"development-tools",
"text-processing",
]
license = "MIT"
repository = "https://github.com/rvben/rumdl"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[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]
name = "rumdl_lib"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "rumdl"
path = "src/main.rs"
[[example]]
name = "profile_quadratic"
path = "examples/profile_quadratic.rs"
[[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"
[[bench]]
name = "fix_performance"
path = "benches/fix_performance.rs"
[[bench]]
name = "link_parsing_manual"
path = "benches/link_parsing_manual.rs"
harness = false
[[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"
[dependencies.anyhow]
version = "1.0"
[dependencies.blake3]
version = "1.8"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.colored]
version = "3.0.0"
optional = true
[dependencies.console_error_panic_hook]
version = "0.1"
optional = true
[dependencies.dyn-clone]
version = "1"
[dependencies.env_logger]
version = "0.11"
optional = true
[dependencies.etcetera]
version = "0.11"
optional = true
[dependencies.fancy-regex]
version = "0.17.0"
[dependencies.futures]
version = "0.3.31"
features = ["alloc"]
[dependencies.globset]
version = "0.4.18"
[dependencies.ignore]
version = "0.4.25"
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.itertools]
version = "0.14"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.log]
version = "0.4.29"
[dependencies.memmap2]
version = "0.9"
[dependencies.memory-stats]
version = "1.2.0"
optional = true
[dependencies.notify]
version = "8.2"
optional = true
[dependencies.phf]
version = "0.13"
features = ["macros"]
[dependencies.postcard]
version = "1.1"
features = ["alloc"]
optional = true
[dependencies.pulldown-cmark]
version = "0.13.0"
[dependencies.rayon]
version = "1.11.0"
optional = true
[dependencies.regex]
version = "1.12"
[dependencies.schemars]
version = "1.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.serde_yml]
version = "0.0.12"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.titlecase]
version = "3"
[dependencies.tokio]
version = "1.48"
features = ["full"]
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.toml]
version = "0.9"
[dependencies.toml_edit]
version = "0.24"
[dependencies.tower]
version = "0.5.2"
optional = true
[dependencies.tower-lsp]
version = "0.20"
optional = true
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.unicode-width]
version = "0.2"
[dependencies.url]
version = "2"
features = ["serde"]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dev-dependencies.assert_cmd]
version = "2.1.1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[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"
[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]
version = "0.1"
default-features = false
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[profile.perf-test]
opt-level = 3
lto = false
codegen-units = 16
inherits = "release"
[profile.profiling]
opt-level = 3
debug = 2
inherits = "release"
strip = false
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
strip = true