rumdl 0.0.97__tar.gz → 0.0.100__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rumdl might be problematic. Click here for more details.
- rumdl-0.0.100/.pre-commit-config.yaml +59 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/CHANGELOG.md +31 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/Cargo.lock +11 -11
- {rumdl-0.0.97 → rumdl-0.0.100}/Cargo.toml +1 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/Makefile +12 -6
- {rumdl-0.0.97 → rumdl-0.0.100}/PKG-INFO +10 -2
- {rumdl-0.0.97 → rumdl-0.0.100}/README.md +9 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/global-settings.md +1 -1
- rumdl-0.0.100/scripts/setup-pre-commit.sh +49 -0
- rumdl-0.0.100/scripts/update-pre-commit-docs.sh +35 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/bin/benchmark_rule.rs +26 -27
- {rumdl-0.0.97 → rumdl-0.0.100}/src/config.rs +4 -11
- rumdl-0.0.100/src/exit_codes.rs +32 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/lib.rs +1 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/lint_context.rs +198 -38
- {rumdl-0.0.97 → rumdl-0.0.100}/src/lsp/server.rs +21 -22
- {rumdl-0.0.97 → rumdl-0.0.100}/src/main.rs +112 -33
- {rumdl-0.0.97 → rumdl-0.0.100}/src/parallel.rs +1 -6
- {rumdl-0.0.97 → rumdl-0.0.100}/src/performance.rs +12 -16
- {rumdl-0.0.97 → rumdl-0.0.100}/src/python.rs +2 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/heading_utils.rs +2 -2
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md001_heading_increment.rs +27 -27
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md003_heading_style.rs +19 -5
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md004_unordered_list_style.rs +28 -8
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md005_list_indent.rs +181 -182
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md007_ul_indent.rs +24 -15
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md009_trailing_spaces.rs +22 -18
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md010_no_hard_tabs.rs +36 -27
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md011_no_reversed_links.rs +13 -13
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md012_no_multiple_blanks.rs +8 -9
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md013_line_length.rs +108 -82
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md018_no_missing_space_atx.rs +12 -10
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md020_no_missing_space_closed_atx.rs +2 -6
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md024_no_duplicate_heading.rs +5 -7
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md025_single_title.rs +5 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md029_ordered_list_prefix.rs +173 -9
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md030_list_marker_space.rs +2 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md031_blanks_around_fences.rs +17 -10
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md032_blanks_around_lists.rs +62 -73
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md033_no_inline_html.rs +66 -18
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md034_no_bare_urls.rs +43 -29
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md035_hr_style.rs +2 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md036_no_emphasis_only_first.rs +11 -9
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md038_no_space_in_code.rs +26 -23
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md041_first_line_heading.rs +26 -22
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md044_proper_names.rs +215 -51
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md045_no_alt_text/md045_config.rs +1 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md045_no_alt_text.rs +108 -11
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md047_single_trailing_newline.rs +7 -2
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md049_emphasis_style.rs +5 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md050_strong_style.rs +26 -8
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md051_link_fragments.rs +6 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md052_reference_links_images.rs +143 -10
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md053_link_image_reference_definitions.rs +5 -5
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md057_existing_relative_links.rs +1 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/document_structure.rs +148 -111
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/text_reflow.rs +91 -90
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/advanced_integration_tests.rs +32 -33
- rumdl-0.0.100/tests/cli_explain_test.rs +104 -0
- rumdl-0.0.100/tests/cli_flag_precedence_test.rs +292 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/cli_integration_tests.rs +1 -4
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/cli_lsp_fix_consistency.rs +3 -9
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/commonmark_compliance_tests.rs +13 -4
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/comprehensive_integration_tests.rs +30 -32
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/config_tests.rs +15 -3
- rumdl-0.0.100/tests/deeply_nested_lists_performance_test.rs +455 -0
- rumdl-0.0.100/tests/escaped_brackets_test.rs +89 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/final_confidence_assessment.rs +9 -22
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/lsp_integration_tests.rs +2 -6
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/lsp_memory_leak_tests.rs +1 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/md013_reflow_integration_test.rs +77 -59
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/nested_code_block_test.rs +24 -20
- rumdl-0.0.100/tests/python_bindings_test.rs +40 -0
- rumdl-0.0.100/tests/rules/emphasis_edge_cases_test.rs +664 -0
- rumdl-0.0.100/tests/rules/heading_edge_cases_test.rs +835 -0
- rumdl-0.0.100/tests/rules/inline_content_edge_cases_test.rs +839 -0
- rumdl-0.0.100/tests/rules/link_edge_cases_test.rs +652 -0
- rumdl-0.0.100/tests/rules/list_rules_integration_test.rs +386 -0
- rumdl-0.0.100/tests/rules/md005_unicode_test.rs +191 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md013_test.rs +126 -107
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md018_test.rs +18 -9
- rumdl-0.0.100/tests/rules/md029_test.rs +447 -0
- rumdl-0.0.100/tests/rules/md029_unicode_test.rs +247 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md032_test.rs +1 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md034_ipv6_test.rs +33 -21
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md034_test.rs +1 -5
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md036_test.rs +17 -16
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md038_nested_backticks_test.rs +17 -21
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md041_test.rs +17 -13
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md044_test.rs +2 -1
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md045_test.rs +27 -12
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md051_unicode_test.rs +27 -34
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/mod.rs +12 -3
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules_mod_test.rs +80 -67
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/core_utils_test.rs +5 -5
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/vscode_tests.rs +37 -37
- rumdl-0.0.97/src/exit_codes.rs +0 -34
- rumdl-0.0.97/tests/rules/md029_test.rs +0 -207
- {rumdl-0.0.97 → rumdl-0.0.100}/.config/nextest.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/.mise.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/.rumdl.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/.rustfmt.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/LICENSE +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/MANIFEST.in +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/assets/logo.png +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/benches/range_performance.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/RULES.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md001.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md002.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md003.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md004.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md005.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md006.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md007.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md009.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md010.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md011.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md012.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md013.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md014.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md018.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md019.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md020.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md021.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md022.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md023.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md024.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md025.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md026.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md027.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md028.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md029.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md030.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md031.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md032.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md033.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md034.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md035.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md036.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md037.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md038.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md039.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md040.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md041.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md042.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md043.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md044.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md045.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md046.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md047.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md048.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md049.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md050.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md051.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md052.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md053.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md054.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md055.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md056.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md057.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/md058.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/parity_check.py +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/pyproject.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/python/MANIFEST.in +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/python/PYTHON-README.md +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/python/rumdl/__init__.py +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/python/rumdl/__main__.py +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/python/rumdl/py.typed +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/rumdl.toml.example +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/rust-toolchain.toml +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/bin/benchmark.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/init.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/inline_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/lsp/types.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/azure.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/concise.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/github.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/gitlab.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/grouped.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/json.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/json_lines.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/junit.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/pylint.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/sarif.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/formatters/text.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/output/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/profiling.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rule.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rule_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rule_config_serde.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md002_first_heading_h1.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md006_start_bullets.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md007_ul_indent/md007_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md013_line_length/md013_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md014_commands_show_output.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md019_no_multiple_space_atx.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md022_blanks_around_headings.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md023_heading_start_left.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md025_single_title/md025_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md026_no_trailing_punctuation.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md028_no_blanks_blockquote.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md039_no_space_in_links.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md042_no_empty_links.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md043_required_headings.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md044_proper_names/md044_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md046_code_block_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md048_code_fence_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md054_link_image_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md055_table_pipe_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/src/vscode.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/comprehensive_output_format_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/init_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/lib.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/perf_check.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md009_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.97 → rumdl-0.0.100}/tests/vscode_test.rs +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Pre-commit hooks for rumdl
|
|
2
|
+
# Install with: pre-commit install
|
|
3
|
+
# Run manually: pre-commit run --all-files
|
|
4
|
+
|
|
5
|
+
repos:
|
|
6
|
+
# Rust formatting and linting
|
|
7
|
+
- repo: local
|
|
8
|
+
hooks:
|
|
9
|
+
- id: cargo-fmt
|
|
10
|
+
name: cargo fmt
|
|
11
|
+
entry: cargo fmt --all --
|
|
12
|
+
language: system
|
|
13
|
+
types: [rust]
|
|
14
|
+
pass_filenames: false
|
|
15
|
+
|
|
16
|
+
- id: cargo-clippy
|
|
17
|
+
name: cargo clippy
|
|
18
|
+
entry: make lint
|
|
19
|
+
language: system
|
|
20
|
+
types: [rust]
|
|
21
|
+
pass_filenames: false
|
|
22
|
+
|
|
23
|
+
- id: cargo-test-quick
|
|
24
|
+
name: cargo test (quick)
|
|
25
|
+
entry: make test-quick
|
|
26
|
+
language: system
|
|
27
|
+
types: [rust]
|
|
28
|
+
pass_filenames: false
|
|
29
|
+
stages: [pre-commit]
|
|
30
|
+
|
|
31
|
+
- id: cargo-check
|
|
32
|
+
name: cargo check
|
|
33
|
+
entry: cargo check --all-targets --all-features
|
|
34
|
+
language: system
|
|
35
|
+
types: [rust]
|
|
36
|
+
pass_filenames: false
|
|
37
|
+
|
|
38
|
+
# General file quality checks
|
|
39
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
40
|
+
rev: v4.6.0
|
|
41
|
+
hooks:
|
|
42
|
+
- id: trailing-whitespace
|
|
43
|
+
exclude: \.md$
|
|
44
|
+
- id: end-of-file-fixer
|
|
45
|
+
exclude: \.md$
|
|
46
|
+
- id: check-yaml
|
|
47
|
+
- id: check-toml
|
|
48
|
+
- id: check-json
|
|
49
|
+
- id: check-merge-conflict
|
|
50
|
+
- id: check-case-conflict
|
|
51
|
+
- id: mixed-line-ending
|
|
52
|
+
args: [--fix=lf]
|
|
53
|
+
|
|
54
|
+
# Markdown linting using rumdl itself
|
|
55
|
+
- repo: https://github.com/rvben/rumdl-pre-commit
|
|
56
|
+
rev: v0.0.45
|
|
57
|
+
hooks:
|
|
58
|
+
- id: rumdl
|
|
59
|
+
exclude: ^(test_tmp|benchmark/test-data|docs/temp|CHANGELOG\.md)
|
|
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.100] - 2025-07-22
|
|
11
|
+
|
|
12
|
+
## [0.0.99] - 2025-07-22
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- MD034: Added support for `ftps://` URLs
|
|
16
|
+
- MD034: Fixed detection of URLs in HTML comments (now properly ignored)
|
|
17
|
+
- MD039: Fixed escaped character handling in link text
|
|
18
|
+
- MD044: Fixed clippy warnings and improved pattern matching for proper names
|
|
19
|
+
- MD052: Enhanced nested bracket handling in reference links and images
|
|
20
|
+
- Fixed flaky performance tests by increasing timeout threshold for CI environments
|
|
21
|
+
- Improved test stability for Unicode list indentation tests
|
|
22
|
+
|
|
23
|
+
## [0.0.98] - 2025-07-18
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- Homebrew tap support for easy installation on macOS and Linux
|
|
27
|
+
- Created `homebrew-rumdl` tap repository
|
|
28
|
+
- Added automatic archive creation for macOS builds in release workflow
|
|
29
|
+
- Included SHA256 checksum generation for each platform
|
|
30
|
+
- Set up automated formula updates on new releases
|
|
31
|
+
- Homebrew installation instructions in README
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Enhanced release workflow to create platform-specific tar.gz archives
|
|
35
|
+
- Added repository dispatch to notify homebrew-rumdl on new releases
|
|
36
|
+
|
|
10
37
|
## [0.0.97] - 2025-07-17
|
|
11
38
|
|
|
12
39
|
### Changed
|
|
@@ -198,7 +225,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
198
225
|
|
|
199
226
|
- Initial implementation of remaining rules for markdownlint parity
|
|
200
227
|
|
|
201
|
-
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.
|
|
228
|
+
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.100...HEAD
|
|
229
|
+
[0.0.100]: https://github.com/rvben/rumdl/compare/v0.0.99...v0.0.100
|
|
230
|
+
[0.0.99]: https://github.com/rvben/rumdl/compare/v0.0.98...v0.0.99
|
|
231
|
+
[0.0.98]: https://github.com/rvben/rumdl/compare/v0.0.97...v0.0.98
|
|
202
232
|
[0.0.97]: https://github.com/rvben/rumdl/compare/v0.0.96...v0.0.97
|
|
203
233
|
[0.0.96]: https://github.com/rvben/rumdl/compare/v0.0.95...v0.0.96
|
|
204
234
|
[0.0.95]: https://github.com/rvben/rumdl/compare/v0.0.94...v0.0.95
|
|
@@ -220,9 +220,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
|
|
220
220
|
|
|
221
221
|
[[package]]
|
|
222
222
|
name = "cc"
|
|
223
|
-
version = "1.2.
|
|
223
|
+
version = "1.2.30"
|
|
224
224
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
225
|
-
checksum = "
|
|
225
|
+
checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7"
|
|
226
226
|
dependencies = [
|
|
227
227
|
"shlex",
|
|
228
228
|
]
|
|
@@ -859,9 +859,9 @@ checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
|
|
|
859
859
|
|
|
860
860
|
[[package]]
|
|
861
861
|
name = "io-uring"
|
|
862
|
-
version = "0.7.
|
|
862
|
+
version = "0.7.9"
|
|
863
863
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
864
|
-
checksum = "
|
|
864
|
+
checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
|
|
865
865
|
dependencies = [
|
|
866
866
|
"bitflags 2.9.1",
|
|
867
867
|
"cfg-if",
|
|
@@ -1397,9 +1397,9 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
|
|
1397
1397
|
|
|
1398
1398
|
[[package]]
|
|
1399
1399
|
name = "rand"
|
|
1400
|
-
version = "0.9.
|
|
1400
|
+
version = "0.9.2"
|
|
1401
1401
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1402
|
-
checksum = "
|
|
1402
|
+
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
|
1403
1403
|
dependencies = [
|
|
1404
1404
|
"rand_chacha",
|
|
1405
1405
|
"rand_core",
|
|
@@ -1455,9 +1455,9 @@ dependencies = [
|
|
|
1455
1455
|
|
|
1456
1456
|
[[package]]
|
|
1457
1457
|
name = "redox_syscall"
|
|
1458
|
-
version = "0.5.
|
|
1458
|
+
version = "0.5.15"
|
|
1459
1459
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1460
|
-
checksum = "
|
|
1460
|
+
checksum = "7e8af0dde094006011e6a740d4879319439489813bd0bcdc7d821beaeeff48ec"
|
|
1461
1461
|
dependencies = [
|
|
1462
1462
|
"bitflags 2.9.1",
|
|
1463
1463
|
]
|
|
@@ -1493,7 +1493,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
|
1493
1493
|
|
|
1494
1494
|
[[package]]
|
|
1495
1495
|
name = "rumdl"
|
|
1496
|
-
version = "0.0.
|
|
1496
|
+
version = "0.0.100"
|
|
1497
1497
|
dependencies = [
|
|
1498
1498
|
"anyhow",
|
|
1499
1499
|
"assert_cmd",
|
|
@@ -1629,9 +1629,9 @@ dependencies = [
|
|
|
1629
1629
|
|
|
1630
1630
|
[[package]]
|
|
1631
1631
|
name = "serde_json"
|
|
1632
|
-
version = "1.0.
|
|
1632
|
+
version = "1.0.141"
|
|
1633
1633
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1634
|
-
checksum = "
|
|
1634
|
+
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
|
|
1635
1635
|
dependencies = [
|
|
1636
1636
|
"itoa",
|
|
1637
1637
|
"memchr",
|
|
@@ -124,6 +124,12 @@ update-readme-version:
|
|
|
124
124
|
@rm -f README.md.bak
|
|
125
125
|
@echo "README.md updated to rev $(NEW_TAG)"
|
|
126
126
|
|
|
127
|
+
update-all-docs-version:
|
|
128
|
+
@echo "Updating all documentation to use $(NEW_TAG)..."
|
|
129
|
+
@perl -i.bak -E 's/rev: v[0-9]+\.[0-9]+\.[0-9]+/rev: $(NEW_TAG)/g' README.md docs/global-settings.md ../rumdl-pre-commit/README.md 2>/dev/null || true
|
|
130
|
+
@rm -f README.md.bak docs/global-settings.md.bak ../rumdl-pre-commit/README.md.bak 2>/dev/null || true
|
|
131
|
+
@echo "All documentation updated to rev $(NEW_TAG)"
|
|
132
|
+
|
|
127
133
|
update-changelog:
|
|
128
134
|
@echo "Updating CHANGELOG.md for $(NEW_TAG)..."
|
|
129
135
|
@if [ -f CHANGELOG.md ]; then \
|
|
@@ -145,9 +151,9 @@ version-major:
|
|
|
145
151
|
$(eval VERSION_NO_V := $(NEW_MAJOR).0.0)
|
|
146
152
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
147
153
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
148
|
-
@$(MAKE) update-
|
|
154
|
+
@$(MAKE) update-all-docs-version NEW_TAG=$(NEW_TAG)
|
|
149
155
|
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
150
|
-
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
156
|
+
@git add Cargo.toml Cargo.lock README.md docs/global-settings.md CHANGELOG.md
|
|
151
157
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
152
158
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
153
159
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -162,9 +168,9 @@ version-minor:
|
|
|
162
168
|
$(eval VERSION_NO_V := $(MAJOR).$(NEW_MINOR).0)
|
|
163
169
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
164
170
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
165
|
-
@$(MAKE) update-
|
|
171
|
+
@$(MAKE) update-all-docs-version NEW_TAG=$(NEW_TAG)
|
|
166
172
|
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
167
|
-
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
173
|
+
@git add Cargo.toml Cargo.lock README.md docs/global-settings.md CHANGELOG.md
|
|
168
174
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
169
175
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
170
176
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -180,9 +186,9 @@ version-patch:
|
|
|
180
186
|
$(eval VERSION_NO_V := $(MAJOR).$(MINOR).$(NEW_PATCH))
|
|
181
187
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
182
188
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
183
|
-
@$(MAKE) update-
|
|
189
|
+
@$(MAKE) update-all-docs-version NEW_TAG=$(NEW_TAG)
|
|
184
190
|
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
185
|
-
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
191
|
+
@git add Cargo.toml Cargo.lock README.md docs/global-settings.md CHANGELOG.md
|
|
186
192
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
187
193
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
188
194
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rumdl
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.100
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -87,6 +87,7 @@ It offers:
|
|
|
87
87
|
- [Quick Start](#quick-start)
|
|
88
88
|
- [Overview](#overview)
|
|
89
89
|
- [Installation](#installation)
|
|
90
|
+
- [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
|
|
90
91
|
- [Using Cargo (Rust)](#using-cargo-rust)
|
|
91
92
|
- [Using pip (Python)](#using-pip-python)
|
|
92
93
|
- [Using uv](#using-uv)
|
|
@@ -118,6 +119,13 @@ It offers:
|
|
|
118
119
|
|
|
119
120
|
Choose the installation method that works best for you:
|
|
120
121
|
|
|
122
|
+
### Using Homebrew (macOS/Linux)
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
brew tap rvben/rumdl
|
|
126
|
+
brew install rumdl
|
|
127
|
+
```
|
|
128
|
+
|
|
121
129
|
### Using Cargo (Rust)
|
|
122
130
|
|
|
123
131
|
```bash
|
|
@@ -234,7 +242,7 @@ Add the following to your `.pre-commit-config.yaml`:
|
|
|
234
242
|
```yaml
|
|
235
243
|
repos:
|
|
236
244
|
- repo: https://github.com/rvben/rumdl-pre-commit
|
|
237
|
-
rev: v0.0.
|
|
245
|
+
rev: v0.0.99 # Use the latest release tag
|
|
238
246
|
hooks:
|
|
239
247
|
- id: rumdl
|
|
240
248
|
# To only check (default):
|
|
@@ -56,6 +56,7 @@ It offers:
|
|
|
56
56
|
- [Quick Start](#quick-start)
|
|
57
57
|
- [Overview](#overview)
|
|
58
58
|
- [Installation](#installation)
|
|
59
|
+
- [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
|
|
59
60
|
- [Using Cargo (Rust)](#using-cargo-rust)
|
|
60
61
|
- [Using pip (Python)](#using-pip-python)
|
|
61
62
|
- [Using uv](#using-uv)
|
|
@@ -87,6 +88,13 @@ It offers:
|
|
|
87
88
|
|
|
88
89
|
Choose the installation method that works best for you:
|
|
89
90
|
|
|
91
|
+
### Using Homebrew (macOS/Linux)
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
brew tap rvben/rumdl
|
|
95
|
+
brew install rumdl
|
|
96
|
+
```
|
|
97
|
+
|
|
90
98
|
### Using Cargo (Rust)
|
|
91
99
|
|
|
92
100
|
```bash
|
|
@@ -203,7 +211,7 @@ Add the following to your `.pre-commit-config.yaml`:
|
|
|
203
211
|
```yaml
|
|
204
212
|
repos:
|
|
205
213
|
- repo: https://github.com/rvben/rumdl-pre-commit
|
|
206
|
-
rev: v0.0.
|
|
214
|
+
rev: v0.0.99 # Use the latest release tag
|
|
207
215
|
hooks:
|
|
208
216
|
- id: rumdl
|
|
209
217
|
# To only check (default):
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Setup pre-commit hooks for rumdl development
|
|
4
|
+
# This script installs pre-commit and sets up the hooks
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
echo "Setting up pre-commit hooks for rumdl..."
|
|
9
|
+
|
|
10
|
+
# Check if pre-commit is installed
|
|
11
|
+
if ! command -v pre-commit &> /dev/null; then
|
|
12
|
+
echo "Installing pre-commit..."
|
|
13
|
+
if command -v uv &> /dev/null; then
|
|
14
|
+
uv tool install pre-commit
|
|
15
|
+
elif command -v pip &> /dev/null; then
|
|
16
|
+
pip install pre-commit
|
|
17
|
+
else
|
|
18
|
+
echo "Error: Neither uv nor pip found. Please install one of them first."
|
|
19
|
+
exit 1
|
|
20
|
+
fi
|
|
21
|
+
else
|
|
22
|
+
echo "pre-commit is already installed"
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# Install the hooks
|
|
26
|
+
echo "Installing pre-commit hooks..."
|
|
27
|
+
pre-commit install
|
|
28
|
+
|
|
29
|
+
# Run hooks on all files to ensure everything is set up correctly
|
|
30
|
+
echo "Running pre-commit hooks on all files..."
|
|
31
|
+
pre-commit run --all-files || {
|
|
32
|
+
echo "Some hooks failed, but that's normal for first run."
|
|
33
|
+
echo "The hooks will automatically fix formatting issues."
|
|
34
|
+
echo "You may need to stage and commit the changes."
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "✅ Pre-commit hooks are now set up!"
|
|
39
|
+
echo ""
|
|
40
|
+
echo "The following hooks will run on every commit:"
|
|
41
|
+
echo " - cargo fmt (automatic formatting)"
|
|
42
|
+
echo " - make lint (clippy linting)"
|
|
43
|
+
echo " - make test-quick (fast tests)"
|
|
44
|
+
echo " - cargo check (compilation check)"
|
|
45
|
+
echo " - File quality checks (trailing whitespace, etc.)"
|
|
46
|
+
echo " - rumdl markdown linting"
|
|
47
|
+
echo ""
|
|
48
|
+
echo "To manually run all hooks: pre-commit run --all-files"
|
|
49
|
+
echo "To skip hooks for emergency commits: git commit --no-verify"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Script to update rumdl-pre-commit version references in documentation
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# Get the latest release version
|
|
7
|
+
LATEST_VERSION=$(gh release list --repo rvben/rumdl --limit 1 | awk '{print $1}')
|
|
8
|
+
|
|
9
|
+
if [ -z "$LATEST_VERSION" ]; then
|
|
10
|
+
echo "Error: Could not determine latest version"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "Latest rumdl version: $LATEST_VERSION"
|
|
15
|
+
|
|
16
|
+
# Update version in all documentation files
|
|
17
|
+
FILES=(
|
|
18
|
+
"README.md"
|
|
19
|
+
"docs/global-settings.md"
|
|
20
|
+
"../rumdl-pre-commit/README.md"
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
for file in "${FILES[@]}"; do
|
|
24
|
+
if [ -f "$file" ]; then
|
|
25
|
+
echo "Updating $file..."
|
|
26
|
+
# Update rev: vX.X.X patterns
|
|
27
|
+
sed -i.bak -E "s/rev: v[0-9]+\.[0-9]+\.[0-9]+/rev: $LATEST_VERSION/g" "$file"
|
|
28
|
+
# Clean up backup files
|
|
29
|
+
rm -f "${file}.bak"
|
|
30
|
+
else
|
|
31
|
+
echo "Warning: $file not found"
|
|
32
|
+
fi
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
echo "Documentation updated to use $LATEST_VERSION"
|
|
@@ -7,7 +7,7 @@ use std::time::Instant;
|
|
|
7
7
|
|
|
8
8
|
fn benchmark_rule(rule: &dyn Rule, test_cases: &[(&str, &str)], iterations: u32) -> Vec<(String, u64, u64)> {
|
|
9
9
|
let mut results = Vec::new();
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
for (name, content) in test_cases {
|
|
12
12
|
// Warm up
|
|
13
13
|
for _ in 0..10 {
|
|
@@ -15,7 +15,7 @@ fn benchmark_rule(rule: &dyn Rule, test_cases: &[(&str, &str)], iterations: u32)
|
|
|
15
15
|
let _ = rule.check(&ctx);
|
|
16
16
|
let _ = rule.fix(&ctx);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
// Benchmark check
|
|
20
20
|
let start = Instant::now();
|
|
21
21
|
for _ in 0..iterations {
|
|
@@ -23,7 +23,7 @@ fn benchmark_rule(rule: &dyn Rule, test_cases: &[(&str, &str)], iterations: u32)
|
|
|
23
23
|
let _ = rule.check(&ctx);
|
|
24
24
|
}
|
|
25
25
|
let check_time = start.elapsed().as_micros() as u64 / iterations as u64;
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
// Benchmark fix
|
|
28
28
|
let start = Instant::now();
|
|
29
29
|
for _ in 0..iterations {
|
|
@@ -31,10 +31,10 @@ fn benchmark_rule(rule: &dyn Rule, test_cases: &[(&str, &str)], iterations: u32)
|
|
|
31
31
|
let _ = rule.fix(&ctx);
|
|
32
32
|
}
|
|
33
33
|
let fix_time = start.elapsed().as_micros() as u64 / iterations as u64;
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
results.push((name.to_string(), check_time, fix_time));
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
results
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -83,7 +83,7 @@ fn generate_test_content(rule_name: &str) -> Vec<(&'static str, String)> {
|
|
|
83
83
|
("Many URLs", {
|
|
84
84
|
let mut content = String::new();
|
|
85
85
|
for i in 0..200 {
|
|
86
|
-
content.push_str(&format!("URL {}: http://example{}.com/path/{}/file?id={}\n"
|
|
86
|
+
content.push_str(&format!("URL {i}: http://example{i}.com/path/{i}/file?id={i}\n"));
|
|
87
87
|
}
|
|
88
88
|
content
|
|
89
89
|
}),
|
|
@@ -96,11 +96,11 @@ fn generate_test_content(rule_name: &str) -> Vec<(&'static str, String)> {
|
|
|
96
96
|
("Many references", {
|
|
97
97
|
let mut content = String::new();
|
|
98
98
|
for i in 0..100 {
|
|
99
|
-
content.push_str(&format!("[link{}][ref{}]\n"
|
|
99
|
+
content.push_str(&format!("[link{i}][ref{i}]\n"));
|
|
100
100
|
}
|
|
101
|
-
content.
|
|
101
|
+
content.push('\n');
|
|
102
102
|
for i in 0..200 {
|
|
103
|
-
content.push_str(&format!("[ref{}]: http://example{}.com\n"
|
|
103
|
+
content.push_str(&format!("[ref{i}]: http://example{i}.com\n"));
|
|
104
104
|
}
|
|
105
105
|
content
|
|
106
106
|
}),
|
|
@@ -117,40 +117,39 @@ fn main() {
|
|
|
117
117
|
eprintln!("Usage: {} <rule_name>", args[0]);
|
|
118
118
|
std::process::exit(1);
|
|
119
119
|
}
|
|
120
|
-
|
|
120
|
+
|
|
121
121
|
let rule_name = &args[1];
|
|
122
122
|
let config = Config::default();
|
|
123
123
|
let rules = all_rules(&config);
|
|
124
|
-
|
|
125
|
-
let rule = rules.into_iter()
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
});
|
|
131
|
-
|
|
124
|
+
|
|
125
|
+
let rule = rules.into_iter().find(|r| r.name() == rule_name).unwrap_or_else(|| {
|
|
126
|
+
eprintln!("Rule {rule_name} not found");
|
|
127
|
+
std::process::exit(1);
|
|
128
|
+
});
|
|
129
|
+
|
|
132
130
|
let test_cases_vec = generate_test_content(rule_name);
|
|
133
|
-
let test_cases: Vec<(&str, &str)> = test_cases_vec
|
|
131
|
+
let test_cases: Vec<(&str, &str)> = test_cases_vec
|
|
132
|
+
.iter()
|
|
134
133
|
.map(|(name, content)| (*name, content.as_str()))
|
|
135
134
|
.collect();
|
|
136
|
-
|
|
137
|
-
println!("Benchmarking {} Rule"
|
|
135
|
+
|
|
136
|
+
println!("Benchmarking {rule_name} Rule");
|
|
138
137
|
println!("{}", "=".repeat(50));
|
|
139
138
|
println!();
|
|
140
|
-
|
|
139
|
+
|
|
141
140
|
let results = benchmark_rule(rule.as_ref(), &test_cases, 100);
|
|
142
|
-
|
|
141
|
+
|
|
143
142
|
let mut total_check = 0u64;
|
|
144
143
|
let mut total_fix = 0u64;
|
|
145
|
-
|
|
144
|
+
|
|
146
145
|
for (test_name, check_time, fix_time) in &results {
|
|
147
|
-
println!("{:<30} Check: {:>6} μs Fix: {:>6} μs"
|
|
146
|
+
println!("{test_name:<30} Check: {check_time:>6} μs Fix: {fix_time:>6} μs");
|
|
148
147
|
total_check += check_time;
|
|
149
148
|
total_fix += fix_time;
|
|
150
149
|
}
|
|
151
|
-
|
|
150
|
+
|
|
152
151
|
println!();
|
|
153
152
|
println!("Average times:");
|
|
154
153
|
println!(" Check: {} μs", total_check / results.len() as u64);
|
|
155
154
|
println!(" Fix: {} μs", total_fix / results.len() as u64);
|
|
156
|
-
}
|
|
155
|
+
}
|
|
@@ -1035,12 +1035,7 @@ impl SourcedConfig {
|
|
|
1035
1035
|
.overrides
|
|
1036
1036
|
.first()
|
|
1037
1037
|
.and_then(|o| o.file.clone()),
|
|
1038
|
-
fragment
|
|
1039
|
-
.global
|
|
1040
|
-
.respect_gitignore
|
|
1041
|
-
.overrides
|
|
1042
|
-
.first()
|
|
1043
|
-
.and_then(|o| o.line),
|
|
1038
|
+
fragment.global.respect_gitignore.overrides.first().and_then(|o| o.line),
|
|
1044
1039
|
);
|
|
1045
1040
|
|
|
1046
1041
|
// Merge output_format if present
|
|
@@ -1441,8 +1436,8 @@ fn toml_value_type_matches(expected: &toml::Value, actual: &toml::Value) -> bool
|
|
|
1441
1436
|
|
|
1442
1437
|
/// Parses pyproject.toml content and extracts the [tool.rumdl] section if present.
|
|
1443
1438
|
fn parse_pyproject_toml(content: &str, path: &str) -> Result<Option<SourcedConfigFragment>, ConfigError> {
|
|
1444
|
-
let doc: toml::Value =
|
|
1445
|
-
.map_err(|e| ConfigError::ParseError(format!("{path}: Failed to parse TOML: {e}")))?;
|
|
1439
|
+
let doc: toml::Value =
|
|
1440
|
+
toml::from_str(content).map_err(|e| ConfigError::ParseError(format!("{path}: Failed to parse TOML: {e}")))?;
|
|
1446
1441
|
let mut fragment = SourcedConfigFragment::default();
|
|
1447
1442
|
let source = ConfigSource::PyprojectToml;
|
|
1448
1443
|
let file = Some(path.to_string());
|
|
@@ -1867,9 +1862,7 @@ fn parse_rumdl_toml(content: &str, path: &str) -> Result<SourcedConfigFragment,
|
|
|
1867
1862
|
}
|
|
1868
1863
|
}
|
|
1869
1864
|
} else if item.is_value() {
|
|
1870
|
-
log::warn!(
|
|
1871
|
-
"[WARN] Ignoring top-level value key in {path}: '{key}'. Expected a table like [{key}]."
|
|
1872
|
-
);
|
|
1865
|
+
log::warn!("[WARN] Ignoring top-level value key in {path}: '{key}'. Expected a table like [{key}].");
|
|
1873
1866
|
}
|
|
1874
1867
|
}
|
|
1875
1868
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// Exit codes for rumdl, following Ruff's convention
|
|
2
|
+
///
|
|
3
|
+
/// These exit codes allow users and CI/CD systems to distinguish between
|
|
4
|
+
/// different types of failures.
|
|
5
|
+
/// Success - No issues found or all issues were fixed
|
|
6
|
+
pub const SUCCESS: i32 = 0;
|
|
7
|
+
|
|
8
|
+
/// Linting issues found - One or more Markdown violations detected
|
|
9
|
+
pub const VIOLATIONS_FOUND: i32 = 1;
|
|
10
|
+
|
|
11
|
+
/// Tool error - Configuration error, file access error, or internal error
|
|
12
|
+
pub const TOOL_ERROR: i32 = 2;
|
|
13
|
+
|
|
14
|
+
/// Helper functions for consistent exit behavior
|
|
15
|
+
pub mod exit {
|
|
16
|
+
use super::{SUCCESS, TOOL_ERROR, VIOLATIONS_FOUND};
|
|
17
|
+
|
|
18
|
+
/// Exit with success code (0)
|
|
19
|
+
pub fn success() -> ! {
|
|
20
|
+
std::process::exit(SUCCESS);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/// Exit with violations found code (1)
|
|
24
|
+
pub fn violations_found() -> ! {
|
|
25
|
+
std::process::exit(VIOLATIONS_FOUND);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// Exit with tool error code (2)
|
|
29
|
+
pub fn tool_error() -> ! {
|
|
30
|
+
std::process::exit(TOOL_ERROR);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -217,9 +217,7 @@ pub fn lint(content: &str, rules: &[Box<dyn Rule>], _verbose: bool) -> LintResul
|
|
|
217
217
|
if _verbose {
|
|
218
218
|
let skipped_rules = _total_rules - _applicable_count;
|
|
219
219
|
if skipped_rules > 0 {
|
|
220
|
-
log::debug!(
|
|
221
|
-
"Skipped {skipped_rules} of {_total_rules} rules based on content analysis"
|
|
222
|
-
);
|
|
220
|
+
log::debug!("Skipped {skipped_rules} of {_total_rules} rules based on content analysis");
|
|
223
221
|
}
|
|
224
222
|
if ast.is_some() {
|
|
225
223
|
log::debug!("Used shared AST for {ast_rules_count} rules");
|