rumdl 0.0.167__tar.gz → 0.0.168__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.167 → rumdl-0.0.168}/.pre-commit-config.yaml +19 -2
- {rumdl-0.0.167 → rumdl-0.0.168}/CHANGELOG.md +121 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/Cargo.lock +1 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/Cargo.toml +1 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/PKG-INFO +1 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md013.md +5 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/rumdl.schema.json +73 -70
- rumdl-0.0.168/scripts/verify-release-ready.sh +99 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/file_processor.rs +32 -5
- {rumdl-0.0.167 → rumdl-0.0.168}/src/lint_context.rs +45 -22
- {rumdl-0.0.167 → rumdl-0.0.168}/src/lsp/server.rs +43 -62
- {rumdl-0.0.167 → rumdl-0.0.168}/src/lsp/types.rs +245 -4
- {rumdl-0.0.167 → rumdl-0.0.168}/src/main.rs +18 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md011_no_reversed_links.rs +13 -12
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md012_no_multiple_blanks/md012_config.rs +4 -1
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md012_no_multiple_blanks.rs +62 -97
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md013_line_length.rs +172 -23
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md018_no_missing_space_atx.rs +63 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md033_no_inline_html.rs +145 -26
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md052_reference_links_images.rs +97 -30
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/regex_cache.rs +1 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/text_reflow.rs +152 -17
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/extended_tests.rs +3 -6
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/code_block_blockquote_edge_cases.rs +6 -7
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md033_edge_cases_test.rs +23 -8
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md033_blockquote_test.rs +5 -8
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md033_kramdown_test.rs +9 -14
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md033_test.rs +29 -38
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md052_test.rs +3 -9
- rumdl-0.0.168/tests/sentence_per_line_test.rs +208 -0
- rumdl-0.0.167/tests/sentence_per_line_test.rs +0 -109
- {rumdl-0.0.167 → rumdl-0.0.168}/.config/nextest.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/.mise.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/.rumdl.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/.rustfmt.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/CONTRIBUTING.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/LICENSE +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/MANIFEST.in +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/Makefile +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/README.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/assets/logo.png +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benches/range_performance.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benchmark/bin/bench_lint_context.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benchmark/bin/benchmark.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benchmark/bin/benchmark_rule.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benchmark/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/benchmark/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/cliff.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/RULES.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/global-settings.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/inline-configuration.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md001.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md002.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md003.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md004.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md005.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md006.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md007.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md009.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md010.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md011.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md012.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md014.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md018.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md019.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md020.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md021.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md022.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md023.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md024.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md025.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md026.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md027.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md028.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md029.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md030.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md031.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md032.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md033.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md034.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md035.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md036.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md037.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md038.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md039.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md040.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md041.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md042.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md043.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md044.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md045.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md046.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md047.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md048.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md049.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md050.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md051.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md052.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md053.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md054.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md055.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md056.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md057.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/md058.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/pyproject.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/rumdl/__init__.py +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/rumdl/__main__.py +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/rumdl/py.typed +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/rumdl.toml.example +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/rust-toolchain.toml +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/generate-downloads-table.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/pre-release.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/setup-pre-commit.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/scripts/update-pre-commit-docs.sh +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/cache.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/exit_codes.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/filtered_lines.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/fix_coordinator.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/formatter.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/inline_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/lib.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/azure.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/concise.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/github.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/gitlab.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/grouped.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/json.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/json_lines.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/junit.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/pylint.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/sarif.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/formatters/text.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/output/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/parallel.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/performance.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/profiling.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rule.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rule_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rule_config_serde.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md001_heading_increment.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md002_first_heading_h1.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md003_heading_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md004_unordered_list_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md005_list_indent.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md006_start_bullets.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md007_ul_indent/md007_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md007_ul_indent.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md009_trailing_spaces.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md010_no_hard_tabs.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md013_line_length/md013_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md014_commands_show_output.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md019_no_multiple_space_atx.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md022_blanks_around_headings.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md023_heading_start_left.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md024_no_duplicate_heading.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md025_single_title/md025_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md025_single_title.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md026_no_trailing_punctuation.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md028_no_blanks_blockquote.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md029_ordered_list_prefix.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md030_list_marker_space.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md031_blanks_around_fences.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md032_blanks_around_lists.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md034_no_bare_urls.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md035_hr_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md036_no_emphasis_only_first.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md038_no_space_in_code.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md039_no_space_in_links.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md041_first_line_heading.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md042_no_empty_links.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md043_required_headings.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md044_proper_names/md044_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md044_proper_names.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md045_no_alt_text.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md046_code_block_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md047_single_trailing_newline.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md048_code_fence_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md049_emphasis_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md050_strong_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md051_link_fragments.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md053_link_image_reference_definitions.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md054_link_image_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md055_table_pipe_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md057_existing_relative_links.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/stdin_processor.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/anchor_styles/github.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/anchor_styles/jekyll.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/anchor_styles/kramdown.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/anchor_styles/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/header_id_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/jinja_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/kramdown_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/line_ending.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_admonitions.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_common.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_critic.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_footnotes.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_patterns.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_snippets.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_tabs.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocs_test_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mkdocstrings_refs.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/skip_context.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/vscode.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/src/watch.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/advanced_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_explain_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_flag_precedence_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/common/cli_test_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/common/fixtures.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/common/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/common/test_utils.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/comprehensive_output_format_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/config_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/config_upward_traversal_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/crlf_line_endings_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/deeply_nested_lists_performance_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/escaped_brackets_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/exclude_with_explicit_paths_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/fix_counting_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/fix_performance_baseline_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/fixable_unfixable_config_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/html_comments_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/init_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/inline_config_blocks_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/kramdown_integration_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lib.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_formatting_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_initialization_options_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_mkdocs_flavor_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/lsp_unopened_document_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md009_md013_integration_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md009_md013_order_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md013_hard_breaks_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md013_reflow_integration_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md013_reflow_nested_lists_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md032_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md032_ordered_list_bug_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md037_xxxx_regression_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md038_false_positive_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md051_readme_bug_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md051_toc_bug_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md052_literal_brackets_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/md054_code_span_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/mkdocs_anchor_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/nested_code_block_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/per_file_ignores_integration_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/perf_check.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/emphasis_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/heading_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/inline_content_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/link_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/list_rules_integration_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md005_dynamic_indent_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md005_unicode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md009_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md013_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md026_kramdown_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md028_md009_interaction_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_code_block_separation_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_fix_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_issue42_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_nested_list_continuation_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md029_unicode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md031_kramdown_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md034_ipv6_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md034_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md037_kramdown_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md038_nested_backticks_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md044_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_comprehensive_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_property_based_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_regression_prevention_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md051_unicode_security_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md058_kramdown_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/mkdocs_admonitions_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/mkdocs_extensions_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/mkdocs_snippets_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules/rule_interaction_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/rules_mod_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/schema_validation_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/skip_context_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_ast_code_block_issue.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_gfm_vs_default_parsing.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_lint_context_flow.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_list_ast_structure.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_multiline_ast.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/test_underscore_edge_cases.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/unfixable_rules_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utf8_boundary_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/vscode_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/vscode_tests.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/vscode_windows_comprehensive_test.rs +0 -0
- {rumdl-0.0.167 → rumdl-0.0.168}/tests/vscode_windows_test.rs +0 -0
|
@@ -44,6 +44,14 @@ repos:
|
|
|
44
44
|
pass_filenames: false
|
|
45
45
|
stages: [pre-commit]
|
|
46
46
|
|
|
47
|
+
- id: cargo-lock-check
|
|
48
|
+
name: check Cargo.lock is up-to-date
|
|
49
|
+
entry: cargo check --locked
|
|
50
|
+
language: system
|
|
51
|
+
files: ^(Cargo\.(toml|lock)|.*\.rs)$
|
|
52
|
+
pass_filenames: false
|
|
53
|
+
stages: [pre-commit]
|
|
54
|
+
|
|
47
55
|
# General file quality checks
|
|
48
56
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
49
57
|
rev: v4.6.0
|
|
@@ -60,12 +68,12 @@ repos:
|
|
|
60
68
|
- id: mixed-line-ending
|
|
61
69
|
args: [--fix=lf]
|
|
62
70
|
|
|
63
|
-
# Markdown linting using rumdl itself (
|
|
71
|
+
# Markdown linting using rumdl itself (cargo run)
|
|
64
72
|
- repo: local
|
|
65
73
|
hooks:
|
|
66
74
|
- id: rumdl
|
|
67
75
|
name: rumdl check
|
|
68
|
-
entry:
|
|
76
|
+
entry: cargo run --quiet -- check
|
|
69
77
|
language: system
|
|
70
78
|
files: \.md$
|
|
71
79
|
exclude: ^(test_tmp|benchmark/test-data|docs/temp|CHANGELOG\.md)
|
|
@@ -101,3 +109,12 @@ repos:
|
|
|
101
109
|
pass_filenames: false
|
|
102
110
|
stages: [pre-push]
|
|
103
111
|
verbose: true
|
|
112
|
+
|
|
113
|
+
- id: cargo-lock-check-push
|
|
114
|
+
name: verify Cargo.lock is committed and up-to-date
|
|
115
|
+
entry: cargo check --locked
|
|
116
|
+
language: system
|
|
117
|
+
files: ^(Cargo\.(toml|lock)|.*\.rs)$
|
|
118
|
+
pass_filenames: false
|
|
119
|
+
stages: [pre-push]
|
|
120
|
+
verbose: true
|
|
@@ -7,6 +7,127 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.168] - 2025-10-28
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **CLI: Support for Quarto (.qmd) and RMarkdown (.rmd/.Rmd) files**
|
|
15
|
+
- Added support for `.qmd` (Quarto), `.rmd` and `.Rmd` (RMarkdown) file extensions
|
|
16
|
+
- Enables markdown linting for data science and scientific documentation workflows
|
|
17
|
+
- Particularly useful for Jupyter-based publishing and reproducible research documents
|
|
18
|
+
|
|
19
|
+
- **LSP: will_save_wait_until for proper auto-fix on save**
|
|
20
|
+
- Implemented LSP `textDocument/willSaveWaitUntil` capability
|
|
21
|
+
- Provides proper auto-fix on save support in compatible editors
|
|
22
|
+
- More reliable than `textDocument/didSave` approach
|
|
23
|
+
- Ensures fixes are applied before file is actually saved to disk
|
|
24
|
+
|
|
25
|
+
- **MD033: LSP Quick Fix to remove HTML tags while keeping content**
|
|
26
|
+
- New code action removes HTML opening and closing tags while preserving inner content
|
|
27
|
+
- Helps convert inline HTML to plain text when needed
|
|
28
|
+
- Available through editor Quick Fix menu (Ctrl+. or Cmd+.)
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- **MD013: Skip auto-fix for list items containing HTML tags**
|
|
33
|
+
- Prevents broken auto-fix when HTML tags are present in list items
|
|
34
|
+
- HTML structure (indentation, tag hierarchy) is now preserved
|
|
35
|
+
- Errors are still reported but no destructive fix is applied
|
|
36
|
+
- Pragmatic solution until full HTML-aware reflow is implemented
|
|
37
|
+
- Fixes issues where tags like `</details>` were split or indentation was lost
|
|
38
|
+
|
|
39
|
+
- **MD013: Fix incorrect sentence splitting after abbreviations in sentence-per-line mode**
|
|
40
|
+
- No longer incorrectly splits sentences after common abbreviations (e.g., etc., i.e., Dr., Mr.)
|
|
41
|
+
- Improved sentence detection algorithm for better accuracy
|
|
42
|
+
- Prevents unwanted line breaks in the middle of sentences
|
|
43
|
+
|
|
44
|
+
- **MD013: Prevent autolinks from being parsed as HTML tags**
|
|
45
|
+
- Autolinks like `<https://example.com>` are no longer treated as HTML
|
|
46
|
+
- Fixes false positives in HTML detection that could skip auto-fix unnecessarily
|
|
47
|
+
- Properly distinguishes between markdown autolinks and actual HTML tags
|
|
48
|
+
|
|
49
|
+
- **MD013: Prevent content duplication in sentence-per-line reflow**
|
|
50
|
+
- Fixed bug where content could be duplicated during paragraph reflow
|
|
51
|
+
- Ensures each sentence appears exactly once in reflowed output
|
|
52
|
+
- Improves reliability of auto-fix in sentence-per-line mode
|
|
53
|
+
|
|
54
|
+
- **MD013: Improve sentence-per-line error messages and highlighting**
|
|
55
|
+
- Better error messages that clearly indicate sentence-per-line violations
|
|
56
|
+
- More accurate highlighting of problematic text
|
|
57
|
+
- Helps users understand what needs to be fixed
|
|
58
|
+
|
|
59
|
+
- **MD013: Skip template directives at paragraph start in sentence-per-line mode**
|
|
60
|
+
- Template directives (like `{{ variable }}`) at start of paragraphs no longer cause issues
|
|
61
|
+
- Prevents false positives in templated markdown files
|
|
62
|
+
- Improves compatibility with static site generators and template engines
|
|
63
|
+
|
|
64
|
+
- **MD013: Treat template directives as paragraph boundaries**
|
|
65
|
+
- Template directives now properly separate paragraphs during reflow
|
|
66
|
+
- Prevents template syntax from being joined with regular content
|
|
67
|
+
- Better handling of mixed template and markdown content
|
|
68
|
+
|
|
69
|
+
- **MD013: Join single-sentence paragraphs in sentence-per-line mode**
|
|
70
|
+
- Single-sentence paragraphs that span multiple lines are now properly joined
|
|
71
|
+
- Fixes issues where short paragraphs were incorrectly flagged
|
|
72
|
+
- Improves consistency of sentence-per-line formatting
|
|
73
|
+
|
|
74
|
+
- **MD013: Handle multiple spaces and multi-line paragraphs in sentence-per-line mode**
|
|
75
|
+
- Better handling of paragraphs with inconsistent spacing
|
|
76
|
+
- Multi-line paragraphs are now correctly reflowed
|
|
77
|
+
- Fixes edge cases in whitespace handling
|
|
78
|
+
|
|
79
|
+
- **MD052: Preserve backtick-wrapped patterns with dots in MkDocs mode**
|
|
80
|
+
- Backtick-wrapped references like `` `[foo.bar]` `` now preserve dots in slugs
|
|
81
|
+
- Matches MkDocs behavior of treating code-wrapped text literally
|
|
82
|
+
- Prevents false positives for code examples in documentation
|
|
83
|
+
|
|
84
|
+
- **MD052: Support Pandoc citations and inline footnotes in RMarkdown/Quarto**
|
|
85
|
+
- Recognizes Pandoc citation syntax: `[@citation]`, `@citation`, `[-@citation]`
|
|
86
|
+
- Recognizes inline footnote syntax: `^[footnote text]`
|
|
87
|
+
- No longer treats these as reference-style links
|
|
88
|
+
- Essential for academic and scientific writing in RMarkdown and Quarto
|
|
89
|
+
|
|
90
|
+
- **MD033: Only report opening HTML tags, not closing tags**
|
|
91
|
+
- MD033 violations now only report the opening tag of an HTML element
|
|
92
|
+
- Reduces noise in linting output (one violation per element vs two)
|
|
93
|
+
- Closing tags like `</div>` are no longer separately reported
|
|
94
|
+
- Makes HTML-related warnings clearer and less redundant
|
|
95
|
+
|
|
96
|
+
- **MD018: Skip CSS selectors and JS code inside HTML blocks**
|
|
97
|
+
- CSS selectors like `#slide-1` inside `<style>` tags no longer trigger MD018
|
|
98
|
+
- JavaScript code inside `<script>` tags is properly ignored
|
|
99
|
+
- Prevents false positives for Quarto and RMarkdown files with embedded HTML/CSS/JS
|
|
100
|
+
- Particularly important for interactive documents and custom styling
|
|
101
|
+
|
|
102
|
+
- **MD012: Enforce exactly 1 newline at EOF and clean LSP logging**
|
|
103
|
+
- Files now must end with exactly one newline character (not zero, not two)
|
|
104
|
+
- Aligns with POSIX standard and common editor behavior
|
|
105
|
+
- Improved LSP logging with less noise
|
|
106
|
+
|
|
107
|
+
- **CI: Use cargo run instead of release binary in rumdl pre-commit hook**
|
|
108
|
+
- Pre-commit hooks now use `cargo run` for more reliable execution
|
|
109
|
+
- Prevents issues with stale release binaries during development
|
|
110
|
+
- Better integration with cargo workflow
|
|
111
|
+
|
|
112
|
+
- **Schema: Allow root-level rule sections like [MD013] in config validation**
|
|
113
|
+
- Configuration schema now correctly allows `[MD013]` style sections
|
|
114
|
+
- Fixes false validation errors for valid TOML config
|
|
115
|
+
- Better compatibility with common configuration patterns
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
|
|
119
|
+
- **Refactor: Detect HTML blocks before parsing headings**
|
|
120
|
+
- Reordered LintContext initialization to detect HTML blocks first
|
|
121
|
+
- Headings are no longer detected inside HTML blocks (like `<style>` or `<script>`)
|
|
122
|
+
- Architectural improvement that prevents multiple false positives
|
|
123
|
+
- Benefits MD018 and other heading-related rules
|
|
124
|
+
- More correct parsing aligned with markdown specifications
|
|
125
|
+
|
|
126
|
+
- **Refactor: Use filtered_lines() for front-matter handling in MD011 and MD012**
|
|
127
|
+
- Improved front-matter handling using consistent filtered_lines API
|
|
128
|
+
- Better code reuse and maintainability
|
|
129
|
+
- More reliable front-matter detection across rules
|
|
130
|
+
|
|
10
131
|
## [0.0.167] - 2025-10-24
|
|
11
132
|
|
|
12
133
|
### Added
|
|
@@ -212,7 +212,11 @@ When `line-length` is set to `0`, no line length warnings will be reported for a
|
|
|
212
212
|
- Sentence-per-line workflows where line length is not a concern
|
|
213
213
|
- Documentation where long lines (e.g., URLs, technical terms) are unavoidable and acceptable
|
|
214
214
|
|
|
215
|
-
**Note**: With `line-length: 0
|
|
215
|
+
**Note**: With `line-length: 0` and `reflow-mode: "sentence-per-line"`, rumdl will:
|
|
216
|
+
|
|
217
|
+
- Split multiple sentences that share a line into separate lines
|
|
218
|
+
- Join single sentences that span multiple lines into one line (since there's no length constraint)
|
|
219
|
+
- Provide consistent "one sentence = one line" formatting throughout your document
|
|
216
220
|
|
|
217
221
|
### Example with automatic reflow
|
|
218
222
|
|
|
@@ -1,107 +1,73 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
"type": "object",
|
|
6
|
-
"properties": {
|
|
7
|
-
"global": {
|
|
8
|
-
"description": "Global configuration options",
|
|
9
|
-
"default": {
|
|
10
|
-
"disable": [],
|
|
11
|
-
"enable": [],
|
|
12
|
-
"exclude": [],
|
|
13
|
-
"fixable": [],
|
|
14
|
-
"flavor": "standard",
|
|
15
|
-
"force_exclude": false,
|
|
16
|
-
"include": [],
|
|
17
|
-
"line_length": 80,
|
|
18
|
-
"respect_gitignore": true,
|
|
19
|
-
"unfixable": []
|
|
20
|
-
},
|
|
21
|
-
"allOf": [
|
|
22
|
-
{
|
|
23
|
-
"$ref": "#/definitions/GlobalConfig"
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
"per-file-ignores": {
|
|
28
|
-
"description": "Per-file rule ignores: maps file patterns to lists of rules to ignore Example: { \"README.md\": [\"MD033\"], \"docs/**/*.md\": [\"MD013\"] }",
|
|
29
|
-
"default": {},
|
|
30
|
-
"type": "object",
|
|
31
|
-
"additionalProperties": {
|
|
32
|
-
"type": "array",
|
|
33
|
-
"items": {
|
|
34
|
-
"type": "string"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
3
|
+
"additionalProperties": {
|
|
4
|
+
"$ref": "#/definitions/RuleConfig"
|
|
38
5
|
},
|
|
39
6
|
"definitions": {
|
|
40
7
|
"GlobalConfig": {
|
|
41
8
|
"description": "Global configuration options",
|
|
42
|
-
"type": "object",
|
|
43
9
|
"properties": {
|
|
44
10
|
"disable": {
|
|
45
|
-
"description": "Disabled rules",
|
|
46
11
|
"default": [],
|
|
47
|
-
"
|
|
12
|
+
"description": "Disabled rules",
|
|
48
13
|
"items": {
|
|
49
14
|
"type": "string"
|
|
50
|
-
}
|
|
15
|
+
},
|
|
16
|
+
"type": "array"
|
|
51
17
|
},
|
|
52
18
|
"enable": {
|
|
53
|
-
"description": "Enabled rules",
|
|
54
19
|
"default": [],
|
|
55
|
-
"
|
|
20
|
+
"description": "Enabled rules",
|
|
56
21
|
"items": {
|
|
57
22
|
"type": "string"
|
|
58
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"type": "array"
|
|
59
25
|
},
|
|
60
26
|
"exclude": {
|
|
61
|
-
"description": "Files to exclude",
|
|
62
27
|
"default": [],
|
|
63
|
-
"
|
|
28
|
+
"description": "Files to exclude",
|
|
64
29
|
"items": {
|
|
65
30
|
"type": "string"
|
|
66
|
-
}
|
|
31
|
+
},
|
|
32
|
+
"type": "array"
|
|
67
33
|
},
|
|
68
34
|
"fixable": {
|
|
69
|
-
"description": "Rules that are allowed to be fixed when --fix is used If specified, only these rules will be fixed",
|
|
70
35
|
"default": [],
|
|
71
|
-
"
|
|
36
|
+
"description": "Rules that are allowed to be fixed when --fix is used If specified, only these rules will be fixed",
|
|
72
37
|
"items": {
|
|
73
38
|
"type": "string"
|
|
74
|
-
}
|
|
39
|
+
},
|
|
40
|
+
"type": "array"
|
|
75
41
|
},
|
|
76
42
|
"flavor": {
|
|
77
|
-
"description": "Markdown flavor/dialect to use (mkdocs, gfm, commonmark, etc.) When set, adjusts parsing and validation rules for that specific Markdown variant",
|
|
78
|
-
"default": "standard",
|
|
79
43
|
"allOf": [
|
|
80
44
|
{
|
|
81
45
|
"$ref": "#/definitions/MarkdownFlavor"
|
|
82
46
|
}
|
|
83
|
-
]
|
|
47
|
+
],
|
|
48
|
+
"default": "standard",
|
|
49
|
+
"description": "Markdown flavor/dialect to use (mkdocs, gfm, commonmark, etc.) When set, adjusts parsing and validation rules for that specific Markdown variant"
|
|
84
50
|
},
|
|
85
51
|
"force_exclude": {
|
|
86
|
-
"description": "[DEPRECATED] Whether to enforce exclude patterns for explicitly passed paths. This option is deprecated as of v0.0.156 and has no effect. Exclude patterns are now always respected, even for explicitly provided files. This prevents duplication between rumdl config and tool configs like pre-commit.",
|
|
87
52
|
"default": false,
|
|
88
53
|
"deprecated": true,
|
|
54
|
+
"description": "[DEPRECATED] Whether to enforce exclude patterns for explicitly passed paths. This option is deprecated as of v0.0.156 and has no effect. Exclude patterns are now always respected, even for explicitly provided files. This prevents duplication between rumdl config and tool configs like pre-commit.",
|
|
89
55
|
"type": "boolean"
|
|
90
56
|
},
|
|
91
57
|
"include": {
|
|
92
|
-
"description": "Files to include",
|
|
93
58
|
"default": [],
|
|
94
|
-
"
|
|
59
|
+
"description": "Files to include",
|
|
95
60
|
"items": {
|
|
96
61
|
"type": "string"
|
|
97
|
-
}
|
|
62
|
+
},
|
|
63
|
+
"type": "array"
|
|
98
64
|
},
|
|
99
65
|
"line_length": {
|
|
100
|
-
"description": "Global line length setting (used by MD013 and other rules if not overridden)",
|
|
101
66
|
"default": 80,
|
|
102
|
-
"
|
|
67
|
+
"description": "Global line length setting (used by MD013 and other rules if not overridden)",
|
|
103
68
|
"format": "uint64",
|
|
104
|
-
"minimum": 0.0
|
|
69
|
+
"minimum": 0.0,
|
|
70
|
+
"type": "integer"
|
|
105
71
|
},
|
|
106
72
|
"output_format": {
|
|
107
73
|
"description": "Output format for linting results (e.g., \"text\", \"json\", \"pylint\", etc.)",
|
|
@@ -111,43 +77,80 @@
|
|
|
111
77
|
]
|
|
112
78
|
},
|
|
113
79
|
"respect_gitignore": {
|
|
114
|
-
"description": "Respect .gitignore files when scanning directories",
|
|
115
80
|
"default": true,
|
|
81
|
+
"description": "Respect .gitignore files when scanning directories",
|
|
116
82
|
"type": "boolean"
|
|
117
83
|
},
|
|
118
84
|
"unfixable": {
|
|
119
|
-
"description": "Rules that should never be fixed, even when --fix is used Takes precedence over fixable",
|
|
120
85
|
"default": [],
|
|
121
|
-
"
|
|
86
|
+
"description": "Rules that should never be fixed, even when --fix is used Takes precedence over fixable",
|
|
122
87
|
"items": {
|
|
123
88
|
"type": "string"
|
|
124
|
-
}
|
|
89
|
+
},
|
|
90
|
+
"type": "array"
|
|
125
91
|
}
|
|
126
|
-
}
|
|
92
|
+
},
|
|
93
|
+
"type": "object"
|
|
127
94
|
},
|
|
128
95
|
"MarkdownFlavor": {
|
|
129
96
|
"description": "Markdown flavor/dialect enumeration",
|
|
130
97
|
"oneOf": [
|
|
131
98
|
{
|
|
132
99
|
"description": "Standard Markdown without flavor-specific adjustments",
|
|
133
|
-
"type": "string",
|
|
134
100
|
"enum": [
|
|
135
101
|
"standard"
|
|
136
|
-
]
|
|
102
|
+
],
|
|
103
|
+
"type": "string"
|
|
137
104
|
},
|
|
138
105
|
{
|
|
139
106
|
"description": "MkDocs flavor with auto-reference support",
|
|
140
|
-
"type": "string",
|
|
141
107
|
"enum": [
|
|
142
108
|
"mkdocs"
|
|
143
|
-
]
|
|
109
|
+
],
|
|
110
|
+
"type": "string"
|
|
144
111
|
}
|
|
145
112
|
]
|
|
146
113
|
},
|
|
147
114
|
"RuleConfig": {
|
|
115
|
+
"additionalProperties": true,
|
|
148
116
|
"description": "Represents a rule-specific configuration",
|
|
149
|
-
"type": "object"
|
|
150
|
-
|
|
117
|
+
"type": "object"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"description": "rumdl configuration for linting Markdown files. Rules can be configured individually using [MD###] sections with rule-specific options.",
|
|
121
|
+
"properties": {
|
|
122
|
+
"global": {
|
|
123
|
+
"allOf": [
|
|
124
|
+
{
|
|
125
|
+
"$ref": "#/definitions/GlobalConfig"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"default": {
|
|
129
|
+
"disable": [],
|
|
130
|
+
"enable": [],
|
|
131
|
+
"exclude": [],
|
|
132
|
+
"fixable": [],
|
|
133
|
+
"flavor": "standard",
|
|
134
|
+
"force_exclude": false,
|
|
135
|
+
"include": [],
|
|
136
|
+
"line_length": 80,
|
|
137
|
+
"respect_gitignore": true,
|
|
138
|
+
"unfixable": []
|
|
139
|
+
},
|
|
140
|
+
"description": "Global configuration options"
|
|
141
|
+
},
|
|
142
|
+
"per-file-ignores": {
|
|
143
|
+
"additionalProperties": {
|
|
144
|
+
"items": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
},
|
|
147
|
+
"type": "array"
|
|
148
|
+
},
|
|
149
|
+
"default": {},
|
|
150
|
+
"description": "Per-file rule ignores: maps file patterns to lists of rules to ignore Example: { \"README.md\": [\"MD033\"], \"docs/**/*.md\": [\"MD013\"] }",
|
|
151
|
+
"type": "object"
|
|
151
152
|
}
|
|
152
|
-
}
|
|
153
|
+
},
|
|
154
|
+
"title": "Config",
|
|
155
|
+
"type": "object"
|
|
153
156
|
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Script to verify that a release is ready to be tagged and pushed
|
|
3
|
+
# This checks all the conditions that would cause a release to fail in CI
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
RED='\033[0;31m'
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
YELLOW='\033[1;33m'
|
|
10
|
+
NC='\033[0m' # No Color
|
|
11
|
+
|
|
12
|
+
echo "🔍 Verifying release readiness..."
|
|
13
|
+
echo ""
|
|
14
|
+
|
|
15
|
+
ERRORS=0
|
|
16
|
+
|
|
17
|
+
# Check 1: Verify Cargo.lock is up-to-date
|
|
18
|
+
echo -n "Checking Cargo.lock is up-to-date... "
|
|
19
|
+
if cargo check --locked &>/dev/null; then
|
|
20
|
+
echo -e "${GREEN}✓${NC}"
|
|
21
|
+
else
|
|
22
|
+
echo -e "${RED}✗${NC}"
|
|
23
|
+
echo -e "${RED}ERROR: Cargo.lock is out of date or missing${NC}"
|
|
24
|
+
echo "Run: cargo check"
|
|
25
|
+
echo "Then commit the updated Cargo.lock"
|
|
26
|
+
((ERRORS++))
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
# Check 2: Verify no uncommitted changes
|
|
30
|
+
echo -n "Checking for uncommitted changes... "
|
|
31
|
+
if [[ -z $(git status --porcelain) ]]; then
|
|
32
|
+
echo -e "${GREEN}✓${NC}"
|
|
33
|
+
else
|
|
34
|
+
echo -e "${RED}✗${NC}"
|
|
35
|
+
echo -e "${RED}ERROR: There are uncommitted changes${NC}"
|
|
36
|
+
git status --short
|
|
37
|
+
((ERRORS++))
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
# Check 3: Verify version consistency
|
|
41
|
+
echo -n "Checking version consistency... "
|
|
42
|
+
CARGO_VERSION=$(grep '^version =' Cargo.toml | head -1 | sed 's/.*"\(.*\)".*/\1/')
|
|
43
|
+
LOCK_VERSION=$(grep -A 1 '^name = "rumdl"' Cargo.lock | grep '^version' | head -1 | sed 's/.*"\(.*\)".*/\1/')
|
|
44
|
+
|
|
45
|
+
if [[ "$CARGO_VERSION" == "$LOCK_VERSION" ]]; then
|
|
46
|
+
echo -e "${GREEN}✓${NC} (v$CARGO_VERSION)"
|
|
47
|
+
else
|
|
48
|
+
echo -e "${RED}✗${NC}"
|
|
49
|
+
echo -e "${RED}ERROR: Version mismatch!${NC}"
|
|
50
|
+
echo "Cargo.toml: $CARGO_VERSION"
|
|
51
|
+
echo "Cargo.lock: $LOCK_VERSION"
|
|
52
|
+
((ERRORS++))
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Check 4: Verify CHANGELOG.md has entry for current version
|
|
56
|
+
echo -n "Checking CHANGELOG.md for v$CARGO_VERSION... "
|
|
57
|
+
if grep -q "## \[${CARGO_VERSION}\]" CHANGELOG.md; then
|
|
58
|
+
echo -e "${GREEN}✓${NC}"
|
|
59
|
+
else
|
|
60
|
+
echo -e "${YELLOW}⚠${NC}"
|
|
61
|
+
echo -e "${YELLOW}WARNING: No CHANGELOG entry found for v${CARGO_VERSION}${NC}"
|
|
62
|
+
echo "Consider adding a CHANGELOG entry before releasing"
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
# Check 5: Verify we're on main branch
|
|
66
|
+
echo -n "Checking current branch... "
|
|
67
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
68
|
+
if [[ "$CURRENT_BRANCH" == "main" ]]; then
|
|
69
|
+
echo -e "${GREEN}✓${NC} (main)"
|
|
70
|
+
else
|
|
71
|
+
echo -e "${YELLOW}⚠${NC}"
|
|
72
|
+
echo -e "${YELLOW}WARNING: Not on main branch (currently on: $CURRENT_BRANCH)${NC}"
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Check 6: Verify tag doesn't already exist
|
|
76
|
+
echo -n "Checking if tag v$CARGO_VERSION exists... "
|
|
77
|
+
if git rev-parse "v$CARGO_VERSION" &>/dev/null; then
|
|
78
|
+
echo -e "${RED}✗${NC}"
|
|
79
|
+
echo -e "${RED}ERROR: Tag v$CARGO_VERSION already exists${NC}"
|
|
80
|
+
echo "Delete with: git tag -d v$CARGO_VERSION && git push origin --delete v$CARGO_VERSION"
|
|
81
|
+
((ERRORS++))
|
|
82
|
+
else
|
|
83
|
+
echo -e "${GREEN}✓${NC}"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
# Summary
|
|
87
|
+
echo ""
|
|
88
|
+
echo "════════════════════════════════════════"
|
|
89
|
+
if [[ $ERRORS -eq 0 ]]; then
|
|
90
|
+
echo -e "${GREEN}✅ Release is ready!${NC}"
|
|
91
|
+
echo ""
|
|
92
|
+
echo "To create and push the release:"
|
|
93
|
+
echo " git tag v$CARGO_VERSION"
|
|
94
|
+
echo " git push origin main v$CARGO_VERSION"
|
|
95
|
+
else
|
|
96
|
+
echo -e "${RED}❌ Release is NOT ready ($ERRORS errors)${NC}"
|
|
97
|
+
echo "Fix the errors above before tagging"
|
|
98
|
+
exit 1
|
|
99
|
+
fi
|
|
@@ -193,6 +193,14 @@ pub fn find_markdown_files(
|
|
|
193
193
|
types_builder.add_defaults(); // Add standard types
|
|
194
194
|
types_builder.add("markdown", "*.md").unwrap();
|
|
195
195
|
types_builder.add("markdown", "*.markdown").unwrap();
|
|
196
|
+
types_builder.add("markdown", "*.mdx").unwrap();
|
|
197
|
+
types_builder.add("markdown", "*.mkd").unwrap();
|
|
198
|
+
types_builder.add("markdown", "*.mkdn").unwrap();
|
|
199
|
+
types_builder.add("markdown", "*.mdown").unwrap();
|
|
200
|
+
types_builder.add("markdown", "*.mdwn").unwrap();
|
|
201
|
+
types_builder.add("markdown", "*.qmd").unwrap();
|
|
202
|
+
types_builder.add("markdown", "*.rmd").unwrap();
|
|
203
|
+
types_builder.add("markdown", "*.Rmd").unwrap();
|
|
196
204
|
types_builder.select("markdown"); // Select ONLY markdown for processing
|
|
197
205
|
let types = types_builder.build().unwrap();
|
|
198
206
|
walk_builder.types(types);
|
|
@@ -216,8 +224,19 @@ pub fn find_markdown_files(
|
|
|
216
224
|
// 2. Config include is used ONLY in discovery mode if specified
|
|
217
225
|
config.global.include.clone()
|
|
218
226
|
} else if is_discovery_mode {
|
|
219
|
-
// 3. Default include (
|
|
220
|
-
vec![
|
|
227
|
+
// 3. Default include (all markdown variants) ONLY in discovery mode if no CLI/Config include
|
|
228
|
+
vec![
|
|
229
|
+
"*.md".to_string(),
|
|
230
|
+
"*.markdown".to_string(),
|
|
231
|
+
"*.mdx".to_string(),
|
|
232
|
+
"*.mkd".to_string(),
|
|
233
|
+
"*.mkdn".to_string(),
|
|
234
|
+
"*.mdown".to_string(),
|
|
235
|
+
"*.mdwn".to_string(),
|
|
236
|
+
"*.qmd".to_string(),
|
|
237
|
+
"*.rmd".to_string(),
|
|
238
|
+
"*.Rmd".to_string(),
|
|
239
|
+
]
|
|
221
240
|
} else {
|
|
222
241
|
// 4. Explicit path mode: No includes applied by default. Walk starts from explicit paths.
|
|
223
242
|
Vec::new()
|
|
@@ -311,7 +330,10 @@ pub fn find_markdown_files(
|
|
|
311
330
|
// If it's a file, check if it's a markdown file
|
|
312
331
|
if path.is_file()
|
|
313
332
|
&& let Some(ext) = path.extension()
|
|
314
|
-
&& (
|
|
333
|
+
&& matches!(
|
|
334
|
+
ext.to_str(),
|
|
335
|
+
Some("md" | "markdown" | "mdx" | "mkd" | "mkdn" | "mdown" | "mdwn" | "qmd" | "rmd" | "Rmd")
|
|
336
|
+
)
|
|
315
337
|
{
|
|
316
338
|
processed_explicit_files = true;
|
|
317
339
|
// Convert to relative path for pattern matching
|
|
@@ -414,11 +436,16 @@ pub fn find_markdown_files(
|
|
|
414
436
|
file_paths.dedup();
|
|
415
437
|
|
|
416
438
|
// --- Final Explicit Markdown Filter ---
|
|
417
|
-
// Ensure only files with
|
|
439
|
+
// Ensure only files with markdown extensions are returned,
|
|
418
440
|
// regardless of how ignore crate overrides interacted with type filters.
|
|
419
441
|
file_paths.retain(|path_str| {
|
|
420
442
|
let path = Path::new(path_str);
|
|
421
|
-
path.extension().is_some_and(|ext|
|
|
443
|
+
path.extension().is_some_and(|ext| {
|
|
444
|
+
matches!(
|
|
445
|
+
ext.to_str(),
|
|
446
|
+
Some("md" | "markdown" | "mdx" | "mkd" | "mkdn" | "mdown" | "mdwn" | "qmd" | "rmd" | "Rmd")
|
|
447
|
+
)
|
|
448
|
+
})
|
|
422
449
|
});
|
|
423
450
|
// -------------------------------------
|
|
424
451
|
|