rumdl 0.0.163__tar.gz → 0.0.165__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.163 → rumdl-0.0.165}/.mise.toml +1 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/.pre-commit-config.yaml +14 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/CHANGELOG.md +100 -0
- rumdl-0.0.165/CONTRIBUTING.md +350 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/Cargo.lock +33 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/Cargo.toml +2 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/Makefile +33 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/PKG-INFO +1 -1
- rumdl-0.0.165/cliff.toml +115 -0
- rumdl-0.0.165/src/cache.rs +394 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/file_processor.rs +79 -50
- {rumdl-0.0.163 → rumdl-0.0.165}/src/fix_coordinator.rs +57 -20
- {rumdl-0.0.163 → rumdl-0.0.165}/src/formatter.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/lib.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/lsp/server.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/lsp/types.rs +8 -8
- {rumdl-0.0.163 → rumdl-0.0.165}/src/main.rs +36 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/azure.rs +13 -13
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/concise.rs +12 -12
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/github.rs +16 -16
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/gitlab.rs +17 -17
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/grouped.rs +19 -19
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/json.rs +13 -13
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/json_lines.rs +15 -15
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/junit.rs +14 -14
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/pylint.rs +12 -12
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/sarif.rs +16 -16
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/text.rs +10 -10
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/mod.rs +4 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rule.rs +7 -7
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md001_heading_increment.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md002_first_heading_h1.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md003_heading_style.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md004_unordered_list_style.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md005_list_indent.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md006_start_bullets.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md007_ul_indent.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md009_trailing_spaces.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md010_no_hard_tabs.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md011_no_reversed_links.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md012_no_multiple_blanks.rs +5 -5
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md013_line_length.rs +4 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md014_commands_show_output.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md018_no_missing_space_atx.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md019_no_multiple_space_atx.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md020_no_missing_space_closed_atx.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md021_no_multiple_space_closed_atx.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md022_blanks_around_headings.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md023_heading_start_left.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md024_no_duplicate_heading.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md025_single_title.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md026_no_trailing_punctuation.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md027_multiple_spaces_blockquote.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md028_no_blanks_blockquote.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md029_ordered_list_prefix.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md030_list_marker_space.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md031_blanks_around_fences.rs +4 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md032_blanks_around_lists.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md033_no_inline_html.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md034_no_bare_urls.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md035_hr_style.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md036_no_emphasis_only_first.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md037_spaces_around_emphasis.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md038_no_space_in_code.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md039_no_space_in_links.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md040_fenced_code_language.rs +66 -66
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md041_first_line_heading.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md042_no_empty_links.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md043_required_headings.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md044_proper_names.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md045_no_alt_text.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md046_code_block_style.rs +4 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md047_single_trailing_newline.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md048_code_fence_style.rs +4 -4
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md049_emphasis_style.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md050_strong_style.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md051_link_fragments.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md052_reference_links_images.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md053_link_image_reference_definitions.rs +3 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md054_link_image_style.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md055_table_pipe_style.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md056_table_column_count.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md057_existing_relative_links.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md058_blanks_around_tables.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/fix_utils.rs +19 -19
- {rumdl-0.0.163 → rumdl-0.0.165}/src/watch.rs +20 -18
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/mod.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/config_application_tests.rs +45 -12
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/config_tests.rs +6 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_tests.rs +5 -5
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/per_file_ignores_integration_test.rs +2 -2
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_nested_list_continuation_test.rs +4 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_test.rs +12 -3
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md034_test.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md040_test.rs +1 -1
- {rumdl-0.0.163 → rumdl-0.0.165}/.config/nextest.toml +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/.rumdl.toml +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/.rustfmt.toml +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/LICENSE +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/MANIFEST.in +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/README.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/assets/logo.png +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benches/range_performance.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benchmark/bin/bench_lint_context.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benchmark/bin/benchmark.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benchmark/bin/benchmark_rule.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benchmark/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/benchmark/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/RULES.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/global-settings.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/inline-configuration.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md001.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md002.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md003.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md004.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md005.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md006.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md007.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md009.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md010.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md011.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md012.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md013.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md014.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md018.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md019.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md020.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md021.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md022.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md023.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md024.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md025.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md026.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md027.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md028.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md029.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md030.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md031.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md032.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md033.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md034.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md035.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md036.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md037.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md038.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md039.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md040.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md041.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md042.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md043.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md044.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md045.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md046.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md047.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md048.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md049.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md050.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md051.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md052.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md053.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md054.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md055.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md056.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md057.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/md058.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/pyproject.toml +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rumdl/__init__.py +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rumdl/__main__.py +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rumdl/py.typed +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rumdl.schema.json +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rumdl.toml.example +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/rust-toolchain.toml +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/generate-downloads-table.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/pre-release.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/setup-pre-commit.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/scripts/update-pre-commit-docs.sh +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/exit_codes.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/filtered_lines.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/inline_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/lint_context.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/parallel.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/performance.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/profiling.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rule_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rule_config_serde.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md007_ul_indent/md007_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md013_line_length/md013_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md025_single_title/md025_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md044_proper_names/md044_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/stdin_processor.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/anchor_styles/github.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/anchor_styles/jekyll.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/anchor_styles/kramdown.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/anchor_styles/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/header_id_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/jinja_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/kramdown_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/line_ending.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_admonitions.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_common.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_critic.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_footnotes.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_patterns.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_snippets.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_tabs.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocs_test_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mkdocstrings_refs.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/skip_context.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/utils/text_reflow.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/src/vscode.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/advanced_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_explain_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_flag_precedence_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/code_block_blockquote_edge_cases.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/common/cli_test_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/common/fixtures.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/common/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/common/test_utils.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/comprehensive_output_format_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/config_upward_traversal_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/crlf_line_endings_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/deeply_nested_lists_performance_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/escaped_brackets_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/exclude_with_explicit_paths_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/fix_counting_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/fix_performance_baseline_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/fixable_unfixable_config_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/html_comments_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/init_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/inline_config_blocks_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/kramdown_integration_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lib.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_formatting_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_initialization_options_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_mkdocs_flavor_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/lsp_unopened_document_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md009_md013_integration_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md009_md013_order_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md013_hard_breaks_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md013_reflow_integration_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md013_reflow_nested_lists_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md032_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md032_ordered_list_bug_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md033_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md037_xxxx_regression_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md038_false_positive_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md051_readme_bug_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md051_toc_bug_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md052_literal_brackets_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/md054_code_span_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/mkdocs_anchor_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/nested_code_block_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/perf_check.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/emphasis_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/heading_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/inline_content_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/link_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/list_rules_integration_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md005_dynamic_indent_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md005_unicode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md009_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md013_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md026_kramdown_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md028_md009_interaction_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_code_block_separation_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_fix_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_issue42_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md029_unicode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md031_kramdown_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md033_blockquote_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md033_kramdown_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md034_ipv6_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md037_kramdown_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md038_nested_backticks_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md044_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_comprehensive_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_property_based_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_regression_prevention_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md051_unicode_security_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md058_kramdown_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/mkdocs_admonitions_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/mkdocs_extensions_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/mkdocs_snippets_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules/rule_interaction_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/rules_mod_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/schema_validation_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/sentence_per_line_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/skip_context_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_ast_code_block_issue.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_gfm_vs_default_parsing.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_lint_context_flow.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_list_ast_structure.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_multiline_ast.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/test_underscore_edge_cases.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/unfixable_rules_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utf8_boundary_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/vscode_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/vscode_tests.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/vscode_windows_comprehensive_test.rs +0 -0
- {rumdl-0.0.163 → rumdl-0.0.165}/tests/vscode_windows_test.rs +0 -0
|
@@ -21,6 +21,7 @@ uv = "latest"
|
|
|
21
21
|
"cargo:maturin" = "latest"
|
|
22
22
|
"cargo:cargo-binstall" = "latest"
|
|
23
23
|
"cargo:cargo-zigbuild" = "latest" # For building static Linux binaries
|
|
24
|
+
"cargo:git-cliff" = "latest" # Changelog generator from conventional commits
|
|
24
25
|
|
|
25
26
|
# Zig for cross-compilation (used by maturin)
|
|
26
27
|
zig = "0.13"
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
# Pre-commit hooks for rumdl
|
|
2
2
|
# Install with:
|
|
3
|
-
# pre-commit install
|
|
4
|
-
# pre-commit install --hook-type
|
|
3
|
+
# pre-commit install # Install commit hooks
|
|
4
|
+
# pre-commit install --hook-type commit-msg # Install commit-msg hooks
|
|
5
|
+
# pre-commit install --hook-type pre-push # Install push hooks
|
|
5
6
|
# Run manually:
|
|
6
|
-
# pre-commit run --all-files
|
|
7
|
-
# pre-commit run --hook-stage push --all-files
|
|
7
|
+
# pre-commit run --all-files # Run commit hooks
|
|
8
|
+
# pre-commit run --hook-stage push --all-files # Run push hooks
|
|
9
|
+
# pre-commit run --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
|
|
8
10
|
|
|
9
11
|
repos:
|
|
12
|
+
# Conventional Commits validation
|
|
13
|
+
- repo: https://github.com/compilerla/conventional-pre-commit
|
|
14
|
+
rev: v3.6.0
|
|
15
|
+
hooks:
|
|
16
|
+
- id: conventional-pre-commit
|
|
17
|
+
stages: [commit-msg]
|
|
18
|
+
args: [] # Optional: add --strict for stricter validation
|
|
19
|
+
|
|
10
20
|
# Rust formatting and linting
|
|
11
21
|
- repo: local
|
|
12
22
|
hooks:
|
|
@@ -7,6 +7,106 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.165] - 2025-10-21
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **MD040: Always preserve indentation when adding language tags** (fixes #122)
|
|
15
|
+
- The MD040 rule was incorrectly removing indentation from code blocks when adding language tags
|
|
16
|
+
- This broke list structure when code blocks were part of list items
|
|
17
|
+
- Root cause: The fix logic had conditional behavior that would remove indentation for "standalone" code blocks
|
|
18
|
+
- Now always preserves original indentation regardless of context
|
|
19
|
+
- Removed 50+ lines of unnecessary `is_in_nested_context()` helper logic
|
|
20
|
+
- Added comprehensive tests for various indentation scenarios (0, 2, 4, 6 spaces)
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **Conventional Commits validation hook**: Git commit-msg hook validates commit message format
|
|
25
|
+
- Enforces Conventional Commits specification for all commits
|
|
26
|
+
- Provides helpful error messages for invalid formats
|
|
27
|
+
- Ensures consistent commit history for changelog generation
|
|
28
|
+
|
|
29
|
+
- **Automated changelog generation with git-cliff**:
|
|
30
|
+
- Added `make changelog-draft` for previewing CHANGELOG updates
|
|
31
|
+
- Semi-automated workflow: generate draft, enhance with details, commit
|
|
32
|
+
- Conventional Commits integration for automatic categorization
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **Pre-push hook optimization**: Use dev profile instead of full suite for faster testing
|
|
37
|
+
- Prevents pre-push hook from hanging on slower machines
|
|
38
|
+
- Maintains adequate test coverage while improving developer experience
|
|
39
|
+
|
|
40
|
+
## [0.0.164] - 2025-10-21
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- **File-Level Caching (Ruff-inspired)**: Dramatic performance improvements for repeat runs
|
|
45
|
+
- Blake3-based content hashing for fast cache lookups
|
|
46
|
+
- Automatic cache invalidation on content, config, or version changes
|
|
47
|
+
- Cache stored in `.rumdl-cache/{version}/{hash}.json`
|
|
48
|
+
- CLI flags: `--no-cache` to disable, `--cache-dir` to customize location
|
|
49
|
+
- Enabled by default for instant subsequent runs
|
|
50
|
+
|
|
51
|
+
- **Thread-Safe Parallel Caching**: Best of both worlds - parallelization AND caching
|
|
52
|
+
- Implemented Arc<Mutex<LintCache>> for safe cache sharing across threads
|
|
53
|
+
- Mutex locked ONLY for brief cache get/set operations
|
|
54
|
+
- Full parallelization during expensive linting operations
|
|
55
|
+
- Matches Ruff's architecture for optimal performance
|
|
56
|
+
|
|
57
|
+
- **Convergence Detection**: Added hash-based detection to identify when fixes have stabilized
|
|
58
|
+
- Stops iteration when content hash remains unchanged
|
|
59
|
+
- More efficient than counting rule applications
|
|
60
|
+
- Returns convergence status in fix results
|
|
61
|
+
|
|
62
|
+
- **Convergence Failure Warnings**: Report when auto-fix doesn't converge (Ruff-style)
|
|
63
|
+
- Warns if 100 iteration limit reached without convergence
|
|
64
|
+
- Shows rule codes involved in potential infinite loop
|
|
65
|
+
- Encourages bug reports for convergence failures
|
|
66
|
+
- Available via `RUMDL_DEBUG_FIX_PERF` environment variable
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
- **Auto-fix Iteration**: Automatic iteration until convergence (fixes #88)
|
|
71
|
+
- `--fix` now automatically iterates up to 100 passes until content stabilizes (same as Ruff)
|
|
72
|
+
- No need to manually re-run `rumdl check --fix` multiple times
|
|
73
|
+
- Hash-based convergence detection prevents unnecessary iterations
|
|
74
|
+
- Significantly improves user experience for multi-pass fix scenarios
|
|
75
|
+
|
|
76
|
+
- **Unified Linting Architecture**: Removed ~60 lines of duplicate linting logic
|
|
77
|
+
- Refactored `process_file_collect_warnings` to use `process_file_inner`
|
|
78
|
+
- Single code path for all file processing
|
|
79
|
+
- Cache works for ALL output formats (text, JSON, GitLab, SARIF, JUnit)
|
|
80
|
+
|
|
81
|
+
- **Parallel File Processing for Fix Mode**: 4.8x speedup on multi-file fixes
|
|
82
|
+
- Previously fix mode was always sequential
|
|
83
|
+
- Now uses parallel processing when safe (multiple independent files)
|
|
84
|
+
- Each file processes all its fix iterations independently
|
|
85
|
+
|
|
86
|
+
### Fixed
|
|
87
|
+
|
|
88
|
+
- **Multi-pass Fixes**: No longer require manual re-runs to apply all possible fixes
|
|
89
|
+
- Previously users had to run `rumdl check --fix` multiple times
|
|
90
|
+
- Now automatically handles dependent rule fixes in single command
|
|
91
|
+
- Examples: MD010 (tabs) before MD007 (list indent), MD013 (line length) before MD009 (trailing spaces)
|
|
92
|
+
|
|
93
|
+
- **Cache Correctness**: Include enabled rules in cache key (Ruff-style)
|
|
94
|
+
- Cache now respects `--enable`/`--disable` CLI flags
|
|
95
|
+
- Different rule configurations create separate cache entries
|
|
96
|
+
- Prevents incorrect cached results when switching rule sets
|
|
97
|
+
- Changed `LintWarning.rule_name` from `Option<&'static str>` to `Option<String>` for proper serialization
|
|
98
|
+
|
|
99
|
+
- **Cache Parallelization**: Cache now works correctly with parallel processing
|
|
100
|
+
- No mutex contention during parallel file processing
|
|
101
|
+
- All output formats benefit from caching (previously only JSON/GitLab/SARIF/JUnit)
|
|
102
|
+
|
|
103
|
+
### Performance
|
|
104
|
+
|
|
105
|
+
- **Single file with cache**: 943ms → 7ms (135x faster)
|
|
106
|
+
- **Multi-file (21 files) cold cache**: 14.4s → 4s (parallel processing)
|
|
107
|
+
- **Multi-file (21 files) warm cache**: 14.4s → 0.019s (757x faster!)
|
|
108
|
+
- **JSON format (17 files) with cache**: 13.9s → 60ms (231x faster)
|
|
109
|
+
|
|
10
110
|
## [0.0.163] - 2025-10-20
|
|
11
111
|
|
|
12
112
|
### Changed
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Contributing to rumdl
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to rumdl! This document provides guidelines and instructions for contributing.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Development Setup](#development-setup)
|
|
8
|
+
- [Commit Message Convention](#commit-message-convention)
|
|
9
|
+
- [Changelog Workflow](#changelog-workflow)
|
|
10
|
+
- [Testing](#testing)
|
|
11
|
+
- [Code Style](#code-style)
|
|
12
|
+
- [Pull Request Process](#pull-request-process)
|
|
13
|
+
|
|
14
|
+
## Development Setup
|
|
15
|
+
|
|
16
|
+
### Prerequisites
|
|
17
|
+
|
|
18
|
+
- [Rust](https://rustup.rs/) 1.89.0 or later
|
|
19
|
+
- [mise](https://mise.jdx.dev/) for development tool management (recommended)
|
|
20
|
+
|
|
21
|
+
### Quick Start
|
|
22
|
+
|
|
23
|
+
1. **Clone the repository**:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/rvben/rumdl.git
|
|
27
|
+
cd rumdl
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. **Install development tools** (using mise - recommended):
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
make dev-setup
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Or manually:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cargo install cargo-nextest cargo-watch maturin
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. **Install pre-commit hooks**:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pre-commit install # Code quality hooks
|
|
46
|
+
pre-commit install --hook-type commit-msg # Conventional commits validation
|
|
47
|
+
pre-commit install --hook-type pre-push # Comprehensive validation
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
4. **Verify installation**:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
make dev-verify
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
5. **Run tests**:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
make test-dev # Recommended: ~20s, skips slowest tests
|
|
60
|
+
make test-quick # Faster: ~15s, skips slow/stress tests
|
|
61
|
+
make test # Full suite with dev profile
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Commit Message Convention
|
|
65
|
+
|
|
66
|
+
rumdl uses [Conventional Commits](https://www.conventionalcommits.org/) for automated changelog generation and semantic versioning.
|
|
67
|
+
|
|
68
|
+
### Format
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
<type>(<scope>): <description>
|
|
72
|
+
|
|
73
|
+
[optional body]
|
|
74
|
+
|
|
75
|
+
[optional footer(s)]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Types
|
|
79
|
+
|
|
80
|
+
| Type | Section | Description | Example |
|
|
81
|
+
|------|---------|-------------|---------|
|
|
82
|
+
| `feat` | **Added** | New features | `feat(cache): add file-level caching` |
|
|
83
|
+
| `fix` | **Fixed** | Bug fixes | `fix(MD013): enforce line length in sentence mode` |
|
|
84
|
+
| `perf` | **Performance** | Performance improvements | `perf(fix): enable parallel file processing` |
|
|
85
|
+
| `refactor` | **Changed** | Code refactoring | `refactor(cache): simplify cache key generation` |
|
|
86
|
+
| `docs` | **Changed** | Documentation only | `docs(readme): update installation steps` |
|
|
87
|
+
| `chore` | *(skipped)* | Maintenance tasks | `chore(deps): update dependencies` |
|
|
88
|
+
| `test` | *(skipped)* | Adding/updating tests | `test(cache): add cache invalidation tests` |
|
|
89
|
+
| `ci` | *(skipped)* | CI configuration | `ci: update GitHub Actions workflow` |
|
|
90
|
+
| `style` | *(skipped)* | Code formatting | `style: run cargo fmt` |
|
|
91
|
+
|
|
92
|
+
### Examples
|
|
93
|
+
|
|
94
|
+
**Good commit messages**:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
feat(cache): implement Ruff-style parallel caching with Arc<Mutex<>>
|
|
98
|
+
fix(pre-push): use dev profile for test-push to avoid hanging
|
|
99
|
+
perf(fix): enable parallel file processing for fix mode (4.8x speedup)
|
|
100
|
+
docs(changelog): update v0.0.163 with HTML comments fix
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Breaking changes**:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
feat(api)!: change linting API to return Result
|
|
107
|
+
|
|
108
|
+
BREAKING CHANGE: The linting API now returns Result<Vec<Warning>, Error>
|
|
109
|
+
instead of Vec<Warning>. Update your code to handle the new error type.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Scope
|
|
113
|
+
|
|
114
|
+
The scope should be a noun describing the section of the codebase:
|
|
115
|
+
|
|
116
|
+
- `cache` - Caching infrastructure
|
|
117
|
+
- `fix` - Fix mode/auto-fix functionality
|
|
118
|
+
- `cli` - Command-line interface
|
|
119
|
+
- `lsp` - Language Server Protocol
|
|
120
|
+
- `rules` - Linting rules (or specific rule like `MD013`)
|
|
121
|
+
- `ci` - Continuous integration
|
|
122
|
+
- `docs` - Documentation
|
|
123
|
+
|
|
124
|
+
## Changelog Workflow
|
|
125
|
+
|
|
126
|
+
rumdl uses [git-cliff](https://git-cliff.org/) to automatically generate changelog drafts from conventional commits.
|
|
127
|
+
|
|
128
|
+
### Generating Changelog Drafts
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Preview unreleased changes
|
|
132
|
+
make changelog-draft
|
|
133
|
+
|
|
134
|
+
# View latest release changelog
|
|
135
|
+
make changelog-latest
|
|
136
|
+
|
|
137
|
+
# Generate full changelog
|
|
138
|
+
make changelog-all
|
|
139
|
+
|
|
140
|
+
# Show available changelog commands
|
|
141
|
+
make changelog-help
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Updating CHANGELOG.md
|
|
145
|
+
|
|
146
|
+
**The changelog generation is semi-automated:**
|
|
147
|
+
|
|
148
|
+
1. **Generate draft** from conventional commits:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
make changelog-draft > /tmp/draft.md
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
2. **Review and enhance** the generated content:
|
|
155
|
+
- Add detailed explanations
|
|
156
|
+
- Include sub-bullets for complex changes
|
|
157
|
+
- Add performance metrics if applicable
|
|
158
|
+
- Provide migration guidance for breaking changes
|
|
159
|
+
|
|
160
|
+
3. **Update CHANGELOG.md** manually with enhanced content
|
|
161
|
+
|
|
162
|
+
4. **Commit** the updated changelog:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
git add CHANGELOG.md
|
|
166
|
+
git commit -m "chore(changelog): update for v0.0.165"
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Best Practices
|
|
170
|
+
|
|
171
|
+
- ✅ **Do write detailed commit messages** - they become changelog entries
|
|
172
|
+
- ✅ **Do use scopes** - helps organize changelog sections
|
|
173
|
+
- ✅ **Do enhance generated content** - add context and details
|
|
174
|
+
- ❌ **Don't rely solely on generated text** - manual refinement is expected
|
|
175
|
+
- ❌ **Don't skip commits** - unconventional commits won't appear in changelog
|
|
176
|
+
|
|
177
|
+
### Example Workflow
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Make changes
|
|
181
|
+
git add src/cache.rs
|
|
182
|
+
|
|
183
|
+
# Commit with conventional format
|
|
184
|
+
git commit -m "feat(cache): add Blake3-based content hashing"
|
|
185
|
+
|
|
186
|
+
# Later, when preparing release
|
|
187
|
+
make changelog-draft
|
|
188
|
+
|
|
189
|
+
# Copy relevant section to CHANGELOG.md
|
|
190
|
+
# Enhance with details:
|
|
191
|
+
#
|
|
192
|
+
# - **File-Level Caching**: Blake3-based content hashing for fast lookups
|
|
193
|
+
# - Automatic cache invalidation on content/config changes
|
|
194
|
+
# - Cache stored in `.rumdl-cache/{version}/{hash}.json`
|
|
195
|
+
# - Enabled by default for instant subsequent runs
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Testing
|
|
199
|
+
|
|
200
|
+
### Test Profiles
|
|
201
|
+
|
|
202
|
+
rumdl uses [cargo-nextest](https://nexte.st/) with optimized test profiles:
|
|
203
|
+
|
|
204
|
+
| Command | Duration | Use Case |
|
|
205
|
+
|---------|----------|----------|
|
|
206
|
+
| `make test-pre-commit` | ~6s | Pre-commit hook (lib tests only) |
|
|
207
|
+
| `make test-quick` | ~15s | Quick feedback (skips slow tests) |
|
|
208
|
+
| `make test-dev` | ~20s | Development default (skips slowest) |
|
|
209
|
+
| `make test` | ~30s | Full suite with dev profile |
|
|
210
|
+
| `make test-ci` | varies | CI environment |
|
|
211
|
+
|
|
212
|
+
**⚠️ Never use `cargo test` directly** - it's 30-100x slower!
|
|
213
|
+
|
|
214
|
+
### Writing Tests
|
|
215
|
+
|
|
216
|
+
```rust
|
|
217
|
+
#[test]
|
|
218
|
+
fn test_cache_invalidation() {
|
|
219
|
+
// Test implementation
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// For slow tests, use ignore + filter
|
|
223
|
+
#[test]
|
|
224
|
+
#[ignore = "slow"]
|
|
225
|
+
fn test_large_file_processing() {
|
|
226
|
+
// Slow test implementation
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Running Specific Tests
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# Run specific test
|
|
234
|
+
cargo nextest run test_cache_invalidation
|
|
235
|
+
|
|
236
|
+
# Run all cache tests
|
|
237
|
+
cargo nextest run cache
|
|
238
|
+
|
|
239
|
+
# Run with specific profile
|
|
240
|
+
cargo nextest run --profile quick
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Code Style
|
|
244
|
+
|
|
245
|
+
### Formatting
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Format code and run clippy fixes
|
|
249
|
+
make fmt
|
|
250
|
+
|
|
251
|
+
# Check without modifying
|
|
252
|
+
make lint
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Guidelines
|
|
256
|
+
|
|
257
|
+
- **No dead code** - Remove unused code instead of `#[allow(dead_code)]`
|
|
258
|
+
- **Tests test excellence** - Write tests for correct behavior, not current broken behavior
|
|
259
|
+
- **Prefer explicit over implicit** - Clear code over clever code
|
|
260
|
+
- **Use inline format args** - `format!("{foo}")` instead of `format!("{}", foo)`
|
|
261
|
+
|
|
262
|
+
## Pull Request Process
|
|
263
|
+
|
|
264
|
+
### Before Submitting
|
|
265
|
+
|
|
266
|
+
1. **Run tests**:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
make test-dev
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
2. **Format code**:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
make fmt
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
3. **Lint code**:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
make lint
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
4. **Update changelog** (if applicable):
|
|
285
|
+
- Generate draft: `make changelog-draft`
|
|
286
|
+
- Enhance and add to CHANGELOG.md
|
|
287
|
+
|
|
288
|
+
### PR Guidelines
|
|
289
|
+
|
|
290
|
+
- ✅ Use conventional commit format for all commits
|
|
291
|
+
- ✅ Include tests for new features
|
|
292
|
+
- ✅ Update documentation if needed
|
|
293
|
+
- ✅ Keep PRs focused - one feature/fix per PR
|
|
294
|
+
- ✅ Reference issues: `Closes #123` or `Fixes #456`
|
|
295
|
+
- ❌ Don't include unrelated changes
|
|
296
|
+
- ❌ Don't commit `CLAUDE.md` or temporary files
|
|
297
|
+
|
|
298
|
+
### PR Template
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
## Description
|
|
302
|
+
Brief description of changes
|
|
303
|
+
|
|
304
|
+
## Type of Change
|
|
305
|
+
- [ ] Bug fix (non-breaking change fixing an issue)
|
|
306
|
+
- [ ] New feature (non-breaking change adding functionality)
|
|
307
|
+
- [ ] Breaking change (fix or feature causing existing functionality to change)
|
|
308
|
+
- [ ] Documentation update
|
|
309
|
+
|
|
310
|
+
## Testing
|
|
311
|
+
- [ ] Tests added/updated
|
|
312
|
+
- [ ] All tests passing (`make test-dev`)
|
|
313
|
+
- [ ] Manual testing performed
|
|
314
|
+
|
|
315
|
+
## Checklist
|
|
316
|
+
- [ ] Code follows project style (`make fmt` && `make lint`)
|
|
317
|
+
- [ ] Conventional commit messages used
|
|
318
|
+
- [ ] Documentation updated (if needed)
|
|
319
|
+
- [ ] CHANGELOG.md updated (if user-facing)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Release Process
|
|
323
|
+
|
|
324
|
+
The release process is automated and documented in `CLAUDE.md`. Key points:
|
|
325
|
+
|
|
326
|
+
1. **Update version** in `Cargo.toml`
|
|
327
|
+
2. **Update CHANGELOG.md** with release notes
|
|
328
|
+
3. **Commit and tag**: Make targets handle this automatically
|
|
329
|
+
4. **Push tag**: Triggers CI/CD to build and publish
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
# Create patch release (0.0.164 → 0.0.165)
|
|
333
|
+
make version-patch
|
|
334
|
+
|
|
335
|
+
# Push to trigger release
|
|
336
|
+
make version-push
|
|
337
|
+
|
|
338
|
+
# Or combined
|
|
339
|
+
make release-patch
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
## Questions?
|
|
343
|
+
|
|
344
|
+
- 📖 [Documentation](https://github.com/rvben/rumdl)
|
|
345
|
+
- 🐛 [Issue Tracker](https://github.com/rvben/rumdl/issues)
|
|
346
|
+
- 💬 [Discussions](https://github.com/rvben/rumdl/discussions)
|
|
347
|
+
|
|
348
|
+
## License
|
|
349
|
+
|
|
350
|
+
By contributing to rumdl, you agree that your contributions will be licensed under the [MIT License](LICENSE).
|
|
@@ -111,6 +111,18 @@ version = "1.0.100"
|
|
|
111
111
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
112
112
|
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
|
|
113
113
|
|
|
114
|
+
[[package]]
|
|
115
|
+
name = "arrayref"
|
|
116
|
+
version = "0.3.9"
|
|
117
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
118
|
+
checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
|
|
119
|
+
|
|
120
|
+
[[package]]
|
|
121
|
+
name = "arrayvec"
|
|
122
|
+
version = "0.7.6"
|
|
123
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
124
|
+
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
|
|
125
|
+
|
|
114
126
|
[[package]]
|
|
115
127
|
name = "assert_cmd"
|
|
116
128
|
version = "2.0.17"
|
|
@@ -224,6 +236,19 @@ version = "2.9.4"
|
|
|
224
236
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
225
237
|
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
|
|
226
238
|
|
|
239
|
+
[[package]]
|
|
240
|
+
name = "blake3"
|
|
241
|
+
version = "1.8.2"
|
|
242
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
243
|
+
checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0"
|
|
244
|
+
dependencies = [
|
|
245
|
+
"arrayref",
|
|
246
|
+
"arrayvec",
|
|
247
|
+
"cc",
|
|
248
|
+
"cfg-if",
|
|
249
|
+
"constant_time_eq",
|
|
250
|
+
]
|
|
251
|
+
|
|
227
252
|
[[package]]
|
|
228
253
|
name = "borrow-or-share"
|
|
229
254
|
version = "0.2.2"
|
|
@@ -377,6 +402,12 @@ dependencies = [
|
|
|
377
402
|
"windows-sys 0.59.0",
|
|
378
403
|
]
|
|
379
404
|
|
|
405
|
+
[[package]]
|
|
406
|
+
name = "constant_time_eq"
|
|
407
|
+
version = "0.3.1"
|
|
408
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
409
|
+
checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
|
|
410
|
+
|
|
380
411
|
[[package]]
|
|
381
412
|
name = "core-foundation-sys"
|
|
382
413
|
version = "0.8.7"
|
|
@@ -1952,10 +1983,11 @@ dependencies = [
|
|
|
1952
1983
|
|
|
1953
1984
|
[[package]]
|
|
1954
1985
|
name = "rumdl"
|
|
1955
|
-
version = "0.0.
|
|
1986
|
+
version = "0.0.165"
|
|
1956
1987
|
dependencies = [
|
|
1957
1988
|
"anyhow",
|
|
1958
1989
|
"assert_cmd",
|
|
1990
|
+
"blake3",
|
|
1959
1991
|
"chrono",
|
|
1960
1992
|
"clap",
|
|
1961
1993
|
"colored",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rumdl"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.165"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
rust-version = "1.89.0"
|
|
6
6
|
description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
|
|
@@ -87,6 +87,7 @@ num_cpus = "1.16"
|
|
|
87
87
|
chrono = { version = "0.4", features = ["serde"] }
|
|
88
88
|
notify = "6.1"
|
|
89
89
|
etcetera = "0.8"
|
|
90
|
+
blake3 = "1.5"
|
|
90
91
|
|
|
91
92
|
[features]
|
|
92
93
|
default = ["parallel"]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify update-dependencies update-rust-version pre-release build-static-linux-x64 build-static-linux-arm64 build-static-all schema check-schema
|
|
1
|
+
.PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify update-dependencies update-rust-version pre-release build-static-linux-x64 build-static-linux-arm64 build-static-all schema check-schema changelog-draft changelog-latest changelog-all changelog-help
|
|
2
2
|
|
|
3
3
|
# Development environment setup
|
|
4
4
|
setup-mise:
|
|
@@ -95,8 +95,8 @@ test-pre-commit:
|
|
|
95
95
|
cargo nextest run --profile pre-commit
|
|
96
96
|
|
|
97
97
|
test-push:
|
|
98
|
-
@echo "Running
|
|
99
|
-
cargo nextest run
|
|
98
|
+
@echo "Running comprehensive test suite (~30s, excludes slow/performance tests)..."
|
|
99
|
+
cargo nextest run --profile dev
|
|
100
100
|
|
|
101
101
|
test-ci:
|
|
102
102
|
cargo nextest run --profile ci
|
|
@@ -187,6 +187,36 @@ update-changelog:
|
|
|
187
187
|
echo "Warning: CHANGELOG.md not found"; \
|
|
188
188
|
fi
|
|
189
189
|
|
|
190
|
+
# Changelog generation with git-cliff (from conventional commits)
|
|
191
|
+
changelog-draft:
|
|
192
|
+
@echo "Generating changelog draft for unreleased commits..."
|
|
193
|
+
@mise exec -- git-cliff --unreleased
|
|
194
|
+
|
|
195
|
+
changelog-latest:
|
|
196
|
+
@echo "Generating changelog for latest release..."
|
|
197
|
+
@mise exec -- git-cliff --latest
|
|
198
|
+
|
|
199
|
+
changelog-all:
|
|
200
|
+
@echo "Generating full changelog..."
|
|
201
|
+
@mise exec -- git-cliff
|
|
202
|
+
|
|
203
|
+
changelog-help:
|
|
204
|
+
@echo "Changelog generation targets:"
|
|
205
|
+
@echo " make changelog-draft - Preview unreleased changes (does not modify files)"
|
|
206
|
+
@echo " make changelog-latest - Show latest release changelog"
|
|
207
|
+
@echo " make changelog-all - Show full changelog"
|
|
208
|
+
@echo ""
|
|
209
|
+
@echo "Note: These targets generate drafts from conventional commits."
|
|
210
|
+
@echo " Review and enhance with details before committing to CHANGELOG.md"
|
|
211
|
+
@echo ""
|
|
212
|
+
@echo "Conventional commit format:"
|
|
213
|
+
@echo " feat(scope): description -> Added section"
|
|
214
|
+
@echo " fix(scope): description -> Fixed section"
|
|
215
|
+
@echo " perf(scope): description -> Performance section"
|
|
216
|
+
@echo " refactor(scope): description -> Changed section"
|
|
217
|
+
@echo ""
|
|
218
|
+
@echo "Configuration: cliff.toml"
|
|
219
|
+
|
|
190
220
|
version-major:
|
|
191
221
|
@echo "Creating new major version tag..."
|
|
192
222
|
$(eval CURRENT := $(shell git describe --tags --abbrev=0 2>/dev/null || echo v0.0.0))
|