rumdl 0.0.159__tar.gz → 0.0.161__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.159 → rumdl-0.0.161}/CHANGELOG.md +45 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/Cargo.lock +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/Cargo.toml +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/PKG-INFO +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md007.md +5 -5
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md009.md +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md010.md +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md013.md +17 -17
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md022.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md024.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md025.md +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md030.md +4 -4
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md031.md +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md033.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md041.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md043.md +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md044.md +6 -6
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md045.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md053.md +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md058.md +4 -4
- {rumdl-0.0.159 → rumdl-0.0.161}/rumdl.toml.example +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/src/config.rs +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/lint_context.rs +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/main.rs +14 -14
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/azure.rs +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/github.rs +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rule_config_serde.rs +50 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md007_ul_indent/md007_config.rs +31 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md009_trailing_spaces/md009_config.rs +29 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md010_no_hard_tabs/md010_config.rs +1 -1
- rumdl-0.0.161/src/rules/md013_line_length/md013_config.rs +197 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md013_line_length.rs +353 -41
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md022_blanks_around_headings/md022_config.rs +34 -3
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md024_no_duplicate_heading/md024_config.rs +2 -2
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md025_single_title/md025_config.rs +3 -3
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md029_ordered_list_prefix.rs +117 -12
- rumdl-0.0.161/src/rules/md030_list_marker_space/md030_config.rs +77 -0
- rumdl-0.0.161/src/rules/md044_proper_names/md044_config.rs +89 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md044_proper_names.rs +31 -29
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/anchor_styles/mod.rs +9 -3
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/string_interner.rs +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/text_reflow.rs +45 -18
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/init_command_test.rs +51 -0
- rumdl-0.0.161/tests/md013_hard_breaks_test.rs +579 -0
- rumdl-0.0.161/tests/md013_reflow_nested_lists_test.rs +1074 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/pyproject_config_tests.rs +78 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/inline_content_edge_cases_test.rs +1 -1
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/list_rules_integration_test.rs +4 -6
- rumdl-0.0.161/tests/rules/md029_nested_list_continuation_test.rs +344 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md044_test.rs +11 -11
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/mod.rs +1 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/schema_validation_test.rs +1 -1
- rumdl-0.0.159/src/rules/md013_line_length/md013_config.rs +0 -82
- rumdl-0.0.159/src/rules/md030_list_marker_space/md030_config.rs +0 -42
- rumdl-0.0.159/src/rules/md044_proper_names/md044_config.rs +0 -36
- rumdl-0.0.159/tests/md013_hard_breaks_test.rs +0 -294
- {rumdl-0.0.159 → rumdl-0.0.161}/.config/nextest.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/.mise.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/.pre-commit-config.yaml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/.rumdl.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/.rustfmt.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/LICENSE +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/MANIFEST.in +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/Makefile +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/README.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/assets/logo.png +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benches/range_performance.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benchmark/bin/bench_lint_context.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benchmark/bin/benchmark.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benchmark/bin/benchmark_rule.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benchmark/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/benchmark/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/LINTCONTEXT_OPTIMIZATION_PLAN.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/LINTCONTEXT_OPTIMIZATION_SUMMARY.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/LINTCONTEXT_PERFORMANCE_ANALYSIS.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/PHASE_2_OPTIMIZATION_COMPLETE.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/PHASE_3_OPTIMIZATION_COMPLETE.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/RULES.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/global-settings.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/inline-configuration.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md001.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md002.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md003.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md004.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md005.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md006.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md011.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md012.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md014.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md018.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md019.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md020.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md021.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md023.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md026.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md027.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md028.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md029.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md032.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md034.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md035.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md036.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md037.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md038.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md039.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md040.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md042.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md046.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md047.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md048.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md049.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md050.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md051.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md052.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md054.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md055.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md056.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/md057.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/schemastore-submission.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/parity_check.py +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/pyproject.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/rumdl/__init__.py +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/rumdl/__main__.py +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/rumdl/py.typed +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/rumdl.schema.json +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/rust-toolchain.toml +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/generate-downloads-table.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/pre-release.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/setup-pre-commit.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/scripts/update-pre-commit-docs.sh +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/exit_codes.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/file_processor.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/fix_coordinator.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/formatter.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/inline_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/lib.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/lsp/server.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/lsp/types.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/concise.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/gitlab.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/grouped.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/json.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/json_lines.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/junit.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/pylint.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/sarif.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/formatters/text.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/output/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/parallel.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/performance.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/profiling.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rule.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rule_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md001_heading_increment.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md002_first_heading_h1.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md003_heading_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md004_unordered_list_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md005_list_indent.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md006_start_bullets.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md007_ul_indent.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md009_trailing_spaces.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md010_no_hard_tabs.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md011_no_reversed_links.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md012_no_multiple_blanks.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md014_commands_show_output.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md018_no_missing_space_atx.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md019_no_multiple_space_atx.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md022_blanks_around_headings.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md023_heading_start_left.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md024_no_duplicate_heading.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md025_single_title.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md026_no_trailing_punctuation.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md028_no_blanks_blockquote.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md030_list_marker_space.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md031_blanks_around_fences.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md032_blanks_around_lists.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md033_no_inline_html.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md034_no_bare_urls.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md035_hr_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md036_no_emphasis_only_first.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md038_no_space_in_code.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md039_no_space_in_links.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md041_first_line_heading.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md042_no_empty_links.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md043_required_headings.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md045_no_alt_text.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md046_code_block_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md047_single_trailing_newline.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md048_code_fence_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md049_emphasis_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md050_strong_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md051_link_fragments.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md052_reference_links_images.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md053_link_image_reference_definitions.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md054_link_image_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md055_table_pipe_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md057_existing_relative_links.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/stdin_processor.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/anchor_styles/github.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/anchor_styles/jekyll.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/anchor_styles/kramdown.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/header_id_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/jinja_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/kramdown_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/line_ending.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_admonitions.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_common.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_critic.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_footnotes.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_patterns.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_snippets.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_tabs.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocs_test_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mkdocstrings_refs.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/skip_context.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/vscode.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/src/watch.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/advanced_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_explain_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_flag_precedence_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/code_block_blockquote_edge_cases.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/common/cli_test_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/common/fixtures.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/common/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/common/test_utils.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/comprehensive_output_format_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/config_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/config_upward_traversal_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/crlf_line_endings_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/deeply_nested_lists_performance_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/escaped_brackets_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/exclude_with_explicit_paths_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/fix_counting_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/fix_performance_baseline_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/fixable_unfixable_config_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/init_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/inline_config_blocks_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/kramdown_integration_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lib.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_formatting_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_initialization_options_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_mkdocs_flavor_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/lsp_unopened_document_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md009_md013_integration_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md009_md013_order_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md013_reflow_integration_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md032_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md032_ordered_list_bug_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md033_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md037_xxxx_regression_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md038_false_positive_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md051_readme_bug_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md051_toc_bug_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md052_literal_brackets_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/md054_code_span_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/mkdocs_anchor_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/nested_code_block_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/per_file_ignores_integration_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/perf_check.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/emphasis_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/heading_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/link_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md005_dynamic_indent_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md005_unicode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md009_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md013_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md026_kramdown_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md028_md009_interaction_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_code_block_separation_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_fix_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_issue42_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md029_unicode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md031_kramdown_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md033_blockquote_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md033_kramdown_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md034_ipv6_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md034_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md037_kramdown_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md038_nested_backticks_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_comprehensive_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_property_based_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_regression_prevention_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md051_unicode_security_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md058_kramdown_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/mkdocs_admonitions_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/mkdocs_extensions_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/mkdocs_snippets_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules/rule_interaction_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/rules_mod_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/sentence_per_line_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/skip_context_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_ast_code_block_issue.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_gfm_vs_default_parsing.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_lint_context_flow.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_list_ast_structure.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_multiline_ast.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/test_underscore_edge_cases.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/unfixable_rules_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utf8_boundary_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/vscode_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/vscode_tests.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/vscode_windows_comprehensive_test.rs +0 -0
- {rumdl-0.0.159 → rumdl-0.0.161}/tests/vscode_windows_test.rs +0 -0
|
@@ -7,6 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.161] - 2025-10-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **MD013**: Support for backslash hard line breaks for mdformat compatibility (closes #110)
|
|
15
|
+
- Backslash (`\`) at end of line now recognized as hard break alongside two-space breaks
|
|
16
|
+
- Original hard break format (backslash or spaces) preserved during reflow operations
|
|
17
|
+
- Segment-based reflow correctly handles both hard break types
|
|
18
|
+
- Comprehensive test coverage including mdformat compatibility tests
|
|
19
|
+
- Enables seamless migration from mdformat to rumdl
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **MD029**: Recognize properly indented nested content as list continuation
|
|
24
|
+
- Nested list items and paragraphs within list items now correctly identified
|
|
25
|
+
- Improved detection of list item boundaries
|
|
26
|
+
- Better handling of complex list structures
|
|
27
|
+
|
|
28
|
+
- **MD013**: Preserve semantic line breaks and fix false positives in normalize mode
|
|
29
|
+
- Semantic line breaks (intentional breaks for readability) now preserved
|
|
30
|
+
- Reduced false positives when lines are intentionally kept short
|
|
31
|
+
- Better detection of paragraph boundaries in normalize mode
|
|
32
|
+
|
|
33
|
+
- **MD044**: Invert code-blocks logic to match MD013 and change default to false
|
|
34
|
+
- Parameter logic now consistent: `true` = check code blocks, `false` = skip code blocks
|
|
35
|
+
- Default changed to `false` (skip code blocks) for better user experience
|
|
36
|
+
- Aligns with MD013's code block handling for consistency across rules
|
|
37
|
+
|
|
38
|
+
## [0.0.160] - 2025-10-15
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- **Configuration**: Fixed `rumdl init --pyproject` command to no longer create `.rumdl.toml` file
|
|
43
|
+
- The command now correctly only adds rumdl configuration to `pyproject.toml`
|
|
44
|
+
- Prevents confusion from having duplicate configuration files
|
|
45
|
+
|
|
46
|
+
- **MD044**: Corrected field name in templates and documentation
|
|
47
|
+
- Fixed inconsistency in proper names configuration
|
|
48
|
+
- Improved accuracy of documentation examples
|
|
49
|
+
|
|
50
|
+
- **Configuration System**: Added field aliases and validation warnings for all rules
|
|
51
|
+
- Better backwards compatibility with alternative field names
|
|
52
|
+
- Helpful warnings guide users to correct configuration syntax
|
|
53
|
+
- Improved user experience when migrating configurations
|
|
54
|
+
|
|
10
55
|
## [0.0.159] - 2025-10-14
|
|
11
56
|
|
|
12
57
|
### Added
|
|
@@ -57,8 +57,8 @@ Ensures nested list items are indented with exactly 2 spaces per level for consi
|
|
|
57
57
|
```yaml
|
|
58
58
|
MD007:
|
|
59
59
|
indent: 2 # Number of spaces per indentation level (default: 2)
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
start-indented: false # Allow first level lists to start indented (default: false)
|
|
61
|
+
start-indent: 2 # Number of spaces for first level when start_indented is true (default: 2)
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
### Configuration options explained
|
|
@@ -67,13 +67,13 @@ MD007:
|
|
|
67
67
|
- `start_indented`: When `true`, allows the first level of lists to be indented instead of starting at column 0
|
|
68
68
|
- `start_indent`: When `start_indented` is `true`, this specifies how many spaces the first level should be indented
|
|
69
69
|
|
|
70
|
-
### Example with
|
|
70
|
+
### Example with start-indented: true
|
|
71
71
|
|
|
72
72
|
```yaml
|
|
73
73
|
MD007:
|
|
74
74
|
indent: 2
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
start-indented: true
|
|
76
|
+
start-indent: 4
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
With this configuration, the following is valid:
|
|
@@ -45,7 +45,7 @@ Clean and tidy now
|
|
|
45
45
|
|
|
46
46
|
```yaml
|
|
47
47
|
MD009:
|
|
48
|
-
|
|
48
|
+
br-spaces: 2 # Number of spaces for hard line breaks (default: 2)
|
|
49
49
|
strict: false # Remove all trailing spaces, even line breaks (default: false)
|
|
50
50
|
```
|
|
51
51
|
|
|
@@ -63,7 +63,7 @@ Replaces tab characters with spaces to ensure consistent indentation across all
|
|
|
63
63
|
|
|
64
64
|
```yaml
|
|
65
65
|
MD010:
|
|
66
|
-
|
|
66
|
+
spaces-per-tab: 4 # Number of spaces to replace each tab with (default: 4)
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
### Configuration options explained
|
|
@@ -47,16 +47,16 @@ and work with in various contexts.
|
|
|
47
47
|
|
|
48
48
|
```yaml
|
|
49
49
|
MD013:
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
line-length: 100 # Maximum characters per line (default: 80)
|
|
51
|
+
code-blocks: false # Don't check code blocks (default: true)
|
|
52
52
|
tables: false # Don't check tables (default: true)
|
|
53
53
|
headings: true # Check headings (default: true)
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
heading-line-length: 120 # Different limit for headings (default: uses line_length)
|
|
55
|
+
code-block-line-length: 150 # Different limit for code blocks (default: uses line_length)
|
|
56
56
|
stern: false # Stricter checking without exceptions (default: false)
|
|
57
57
|
strict: false # Disables exceptions for URLs, etc. (default: false)
|
|
58
58
|
reflow: false # Enable automatic text reflow/wrapping (default: false)
|
|
59
|
-
|
|
59
|
+
reflow-mode: "default" # Reflow mode: "default", "normalize", or "sentence-per-line" (default: "default")
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
### Configuration options explained
|
|
@@ -76,10 +76,10 @@ MD013:
|
|
|
76
76
|
|
|
77
77
|
```yaml
|
|
78
78
|
MD013:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
line-length: 80
|
|
80
|
+
heading-line-length: 100
|
|
81
|
+
code-block-line-length: 120
|
|
82
|
+
code-blocks: true
|
|
83
83
|
headings: true
|
|
84
84
|
```
|
|
85
85
|
|
|
@@ -121,9 +121,9 @@ Standard text wrapping that breaks lines at word boundaries to fit within the co
|
|
|
121
121
|
|
|
122
122
|
```yaml
|
|
123
123
|
MD013:
|
|
124
|
-
|
|
124
|
+
line-length: 80
|
|
125
125
|
reflow: true
|
|
126
|
-
|
|
126
|
+
reflow-mode: "default"
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
#### `normalize` mode
|
|
@@ -132,14 +132,14 @@ Normalizes all paragraph text to consistently wrap at the configured line length
|
|
|
132
132
|
|
|
133
133
|
```yaml
|
|
134
134
|
MD013:
|
|
135
|
-
|
|
135
|
+
line-length: 80
|
|
136
136
|
reflow: true
|
|
137
|
-
|
|
137
|
+
reflow-mode: "normalize"
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
This mode is useful for standardizing documents with inconsistent line wrapping.
|
|
141
141
|
|
|
142
|
-
#### `
|
|
142
|
+
#### `sentence-per-line` mode
|
|
143
143
|
|
|
144
144
|
Enforces one sentence per line, making diffs cleaner and easier to review. This mode:
|
|
145
145
|
|
|
@@ -150,9 +150,9 @@ Enforces one sentence per line, making diffs cleaner and easier to review. This
|
|
|
150
150
|
|
|
151
151
|
```yaml
|
|
152
152
|
MD013:
|
|
153
|
-
|
|
153
|
+
line-length: 80
|
|
154
154
|
reflow: true
|
|
155
|
-
|
|
155
|
+
reflow-mode: "sentence-per-line"
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
Example transformation:
|
|
@@ -177,7 +177,7 @@ This mode is particularly useful for:
|
|
|
177
177
|
|
|
178
178
|
```yaml
|
|
179
179
|
MD013:
|
|
180
|
-
|
|
180
|
+
line-length: 80
|
|
181
181
|
reflow: true
|
|
182
182
|
```
|
|
183
183
|
|
|
@@ -69,8 +69,8 @@ And even more content.
|
|
|
69
69
|
|
|
70
70
|
```yaml
|
|
71
71
|
MD022:
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
lines-above: 1 # Blank lines required above headings (default: 1)
|
|
73
|
+
lines-below: 1 # Blank lines required below headings (default: 1)
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
## Automatic fixes
|
|
@@ -75,8 +75,8 @@ How to run the test suite...
|
|
|
75
75
|
|
|
76
76
|
```yaml
|
|
77
77
|
MD024:
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
allow-different-nesting: false # Allow duplicates at different levels (default: false)
|
|
79
|
+
siblings-only: false # Only check siblings at same level (default: false)
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## Automatic fixes
|
|
@@ -58,7 +58,7 @@ More content here.
|
|
|
58
58
|
```yaml
|
|
59
59
|
MD025:
|
|
60
60
|
level: 1 # The heading level that should be unique (default: 1)
|
|
61
|
-
|
|
61
|
+
front-matter-title: "title" # Name of the front matter title field (default: "title")
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
## Automatic fixes
|
|
@@ -51,10 +51,10 @@ Ensures consistent spacing between list markers (bullets or numbers) and the tex
|
|
|
51
51
|
|
|
52
52
|
```yaml
|
|
53
53
|
MD030:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
ul-single: 1 # Spaces after bullet for single-line items (default: 1)
|
|
55
|
+
ol-single: 1 # Spaces after number for single-line items (default: 1)
|
|
56
|
+
ul-multi: 1 # Spaces after bullet for multi-line items (default: 1)
|
|
57
|
+
ol-multi: 1 # Spaces after number for multi-line items (default: 1)
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
## Automatic fixes
|
|
@@ -77,14 +77,14 @@ This is a paragraph with **bold** and *italic* text.
|
|
|
77
77
|
|
|
78
78
|
```yaml
|
|
79
79
|
MD033:
|
|
80
|
-
|
|
80
|
+
allowed-elements: [] # List of allowed HTML tags (default: none)
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
### Example allowing specific tags
|
|
84
84
|
|
|
85
85
|
```yaml
|
|
86
86
|
MD033:
|
|
87
|
-
|
|
87
|
+
allowed-elements: ["br", "hr", "details", "summary"]
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
This would allow line breaks, horizontal rules, and collapsible sections while blocking other HTML.
|
|
@@ -68,8 +68,8 @@ First, install the dependencies...
|
|
|
68
68
|
```yaml
|
|
69
69
|
MD041:
|
|
70
70
|
level: 1 # Heading level required (1-6, default: 1)
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
front-matter-title: "title" # Front matter field to use as title
|
|
72
|
+
front-matter-title-pattern: "^(title|header):" # Regex pattern to match title fields in front matter
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
## Automatic fixes
|
|
@@ -57,12 +57,12 @@ We'll be using Node.js and TypeScript for our examples.
|
|
|
57
57
|
MD044:
|
|
58
58
|
names: # List of properly capitalized names
|
|
59
59
|
- "JavaScript"
|
|
60
|
-
- "GitHub"
|
|
60
|
+
- "GitHub"
|
|
61
61
|
- "Node.js"
|
|
62
62
|
- "npm" # Yes, npm is lowercase!
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
code-blocks: false # Check inside code blocks (default: false, skips code blocks)
|
|
64
|
+
html-elements: true # Check inside HTML elements (default: true)
|
|
65
|
+
html-comments: true # Check inside HTML comments (default: true)
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
## Automatic fixes
|
|
@@ -77,8 +77,8 @@ When enabled, this rule will:
|
|
|
77
77
|
|
|
78
78
|
- Only checks names you've configured
|
|
79
79
|
- Won't check inside URLs or file paths
|
|
80
|
-
-
|
|
81
|
-
-
|
|
80
|
+
- By default, skips code blocks (set `code-blocks: true` to check them)
|
|
81
|
+
- Set `html-comments: false` to skip HTML comment content
|
|
82
82
|
- Some names are intentionally lowercase (like "npm")
|
|
83
83
|
|
|
84
84
|
## Learn more
|
|
@@ -53,7 +53,7 @@ Ensures all images include alternative text (alt text) that describes the image
|
|
|
53
53
|
|
|
54
54
|
```yaml
|
|
55
55
|
MD045:
|
|
56
|
-
|
|
56
|
+
placeholder-text: "TODO: Add image description" # Text to insert for missing alt text
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
### Options
|
|
@@ -64,7 +64,7 @@ MD045:
|
|
|
64
64
|
|
|
65
65
|
```yaml
|
|
66
66
|
MD045:
|
|
67
|
-
|
|
67
|
+
placeholder-text: "FIXME: Add alt text"
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
This would change the fix behavior to:
|
|
@@ -52,14 +52,14 @@ Check out [our website](https://example.com) directly.
|
|
|
52
52
|
|
|
53
53
|
```yaml
|
|
54
54
|
MD053:
|
|
55
|
-
|
|
55
|
+
ignored-definitions: [] # List of reference names to keep even if unused
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### Example with ignored definitions
|
|
59
59
|
|
|
60
60
|
```yaml
|
|
61
61
|
MD053:
|
|
62
|
-
|
|
62
|
+
ignored-definitions: ["todo", "draft", "template"]
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
This keeps reference definitions with names like "todo", "draft", or "template" even if they're not currently used.
|
|
@@ -54,16 +54,16 @@ As you can see, we have a diverse team.
|
|
|
54
54
|
|
|
55
55
|
```yaml
|
|
56
56
|
MD058:
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
minimum-before: 1 # Blank lines before table
|
|
58
|
+
minimum-after: 1 # Blank lines after table
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
### Examples with different settings
|
|
62
62
|
|
|
63
63
|
```yaml
|
|
64
64
|
MD058:
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
minimum-before: 2 # Require 2 blank lines before
|
|
66
|
+
minimum-after: 1 # Require 1 blank line after
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
## Automatic fixes
|
|
@@ -61,4 +61,4 @@ headings = true # Exclude headings from line length check
|
|
|
61
61
|
|
|
62
62
|
[MD044]
|
|
63
63
|
names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
|
|
64
|
-
|
|
64
|
+
code-blocks = false # Check code blocks for proper names (default: false, skips code blocks)
|
|
@@ -365,7 +365,7 @@ respect_gitignore = true
|
|
|
365
365
|
|
|
366
366
|
# [MD044]
|
|
367
367
|
# names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
|
|
368
|
-
#
|
|
368
|
+
# code-blocks = false # Check code blocks for proper names (default: false, skips code blocks)
|
|
369
369
|
"#;
|
|
370
370
|
|
|
371
371
|
// Write the default configuration to the file
|
|
@@ -459,7 +459,7 @@ respect-gitignore = true
|
|
|
459
459
|
|
|
460
460
|
# [tool.rumdl.MD044]
|
|
461
461
|
# names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
|
|
462
|
-
#
|
|
462
|
+
# code-blocks = false # Check code blocks for proper names (default: false, skips code blocks)
|
|
463
463
|
"#;
|
|
464
464
|
|
|
465
465
|
config_content.to_string()
|
|
@@ -304,9 +304,9 @@ pub struct HtmlTag {
|
|
|
304
304
|
pub byte_end: usize,
|
|
305
305
|
/// Tag name (e.g., "div", "img", "br")
|
|
306
306
|
pub tag_name: String,
|
|
307
|
-
/// Whether it's a closing tag (
|
|
307
|
+
/// Whether it's a closing tag (`</tag>`)
|
|
308
308
|
pub is_closing: bool,
|
|
309
|
-
/// Whether it's self-closing (
|
|
309
|
+
/// Whether it's self-closing (`<tag />`)
|
|
310
310
|
pub is_self_closing: bool,
|
|
311
311
|
/// Raw tag content
|
|
312
312
|
pub raw_content: String,
|
|
@@ -582,8 +582,8 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|
|
582
582
|
} else {
|
|
583
583
|
// Create new pyproject.toml with basic structure
|
|
584
584
|
let basic_content = r#"[build-system]
|
|
585
|
-
requires = [
|
|
586
|
-
build-backend =
|
|
585
|
+
requires = ["setuptools>=42", "wheel"]
|
|
586
|
+
build-backend = "setuptools.build_meta"
|
|
587
587
|
|
|
588
588
|
"#;
|
|
589
589
|
let content = basic_content.to_owned() + &config_content;
|
|
@@ -598,19 +598,19 @@ build-backend = \"setuptools.build_meta\"
|
|
|
598
598
|
}
|
|
599
599
|
}
|
|
600
600
|
}
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
println!("Created default configuration file: .rumdl.toml");
|
|
601
|
+
} else {
|
|
602
|
+
// Create default .rumdl.toml config file
|
|
603
|
+
match rumdl_config::create_default_config(".rumdl.toml") {
|
|
604
|
+
Ok(_) => {
|
|
605
|
+
println!("Created default configuration file: .rumdl.toml");
|
|
607
606
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
607
|
+
// Offer to install VS Code extension
|
|
608
|
+
offer_vscode_extension_install();
|
|
609
|
+
}
|
|
610
|
+
Err(e) => {
|
|
611
|
+
eprintln!("{}: Failed to create config file: {}", "Error".red().bold(), e);
|
|
612
|
+
exit::tool_error();
|
|
613
|
+
}
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
616
|
}
|
|
@@ -4,7 +4,7 @@ use crate::output::OutputFormatter;
|
|
|
4
4
|
use crate::rule::LintWarning;
|
|
5
5
|
|
|
6
6
|
/// Azure Pipeline formatter
|
|
7
|
-
/// Outputs in the format:
|
|
7
|
+
/// Outputs in the format: `##vso[task.logissue type=warning;sourcepath=<file>;linenumber=<line>;columnnumber=<col>;code=<rule>]<message>`
|
|
8
8
|
pub struct AzureFormatter;
|
|
9
9
|
|
|
10
10
|
impl Default for AzureFormatter {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
//! GitHub Actions annotation format
|
|
2
2
|
//!
|
|
3
3
|
//! Outputs annotations in GitHub Actions workflow command format for PR annotations.
|
|
4
|
-
//! See: https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions
|
|
4
|
+
//! See: <https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions>
|
|
5
5
|
|
|
6
6
|
use crate::output::OutputFormatter;
|
|
7
7
|
use crate::rule::{LintWarning, Severity};
|
|
8
8
|
|
|
9
9
|
/// GitHub Actions formatter
|
|
10
|
-
/// Outputs in the format:
|
|
10
|
+
/// Outputs in the format: `::<level> file=<file>,line=<line>,col=<col>,endLine=<endLine>,endColumn=<endCol>,title=<rule>::<message>`
|
|
11
11
|
pub struct GitHubFormatter;
|
|
12
12
|
|
|
13
13
|
impl Default for GitHubFormatter {
|
|
@@ -12,6 +12,9 @@ pub trait RuleConfig: Serialize + DeserializeOwned + Default + Clone {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/// Helper to load rule configuration from the global config
|
|
15
|
+
///
|
|
16
|
+
/// This function will emit warnings to stderr if the configuration is invalid,
|
|
17
|
+
/// helping users identify and fix configuration errors.
|
|
15
18
|
pub fn load_rule_config<T: RuleConfig>(config: &crate::config::Config) -> T {
|
|
16
19
|
config
|
|
17
20
|
.rules
|
|
@@ -28,7 +31,17 @@ pub fn load_rule_config<T: RuleConfig>(config: &crate::config::Config) -> T {
|
|
|
28
31
|
let toml_table = toml::Value::Table(table);
|
|
29
32
|
|
|
30
33
|
// Deserialize directly from TOML, which preserves serde attributes
|
|
31
|
-
toml_table.try_into()
|
|
34
|
+
match toml_table.try_into::<T>() {
|
|
35
|
+
Ok(config) => Some(config),
|
|
36
|
+
Err(e) => {
|
|
37
|
+
// Emit a warning about the invalid configuration
|
|
38
|
+
eprintln!("Warning: Invalid configuration for rule {}: {}", T::RULE_NAME, e);
|
|
39
|
+
eprintln!("Using default values for rule {}.", T::RULE_NAME);
|
|
40
|
+
eprintln!("Hint: Check the documentation for valid configuration values.");
|
|
41
|
+
|
|
42
|
+
None
|
|
43
|
+
}
|
|
44
|
+
}
|
|
32
45
|
})
|
|
33
46
|
.unwrap_or_default()
|
|
34
47
|
}
|
|
@@ -353,4 +366,40 @@ mod tests {
|
|
|
353
366
|
let json_float = toml_value_to_json(&valid_float).unwrap();
|
|
354
367
|
assert_eq!(json_float, serde_json::json!(1.23));
|
|
355
368
|
}
|
|
369
|
+
|
|
370
|
+
#[test]
|
|
371
|
+
fn test_invalid_config_returns_default() {
|
|
372
|
+
// Create config with unknown field
|
|
373
|
+
let mut config = crate::config::Config::default();
|
|
374
|
+
let mut rule_values = BTreeMap::new();
|
|
375
|
+
rule_values.insert("unknown_field".to_string(), toml::Value::Boolean(true));
|
|
376
|
+
// Use a table value for items, which expects an array
|
|
377
|
+
rule_values.insert("items".to_string(), toml::Value::Table(toml::map::Map::new()));
|
|
378
|
+
|
|
379
|
+
config
|
|
380
|
+
.rules
|
|
381
|
+
.insert("TEST001".to_string(), crate::config::RuleConfig { values: rule_values });
|
|
382
|
+
|
|
383
|
+
// Load config - should return default and print warning
|
|
384
|
+
let rule_config: TestRuleConfig = load_rule_config(&config);
|
|
385
|
+
// Should use default values since deserialization failed
|
|
386
|
+
assert_eq!(rule_config, TestRuleConfig::default());
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
#[test]
|
|
390
|
+
fn test_invalid_field_type() {
|
|
391
|
+
// Create config with wrong type for field
|
|
392
|
+
let mut config = crate::config::Config::default();
|
|
393
|
+
let mut rule_values = BTreeMap::new();
|
|
394
|
+
// indent should be i64, but we're providing a string
|
|
395
|
+
rule_values.insert("indent".to_string(), toml::Value::String("not_a_number".to_string()));
|
|
396
|
+
|
|
397
|
+
config
|
|
398
|
+
.rules
|
|
399
|
+
.insert("TEST001".to_string(), crate::config::RuleConfig { values: rule_values });
|
|
400
|
+
|
|
401
|
+
// Load config - should return default and print warning
|
|
402
|
+
let rule_config: TestRuleConfig = load_rule_config(&config);
|
|
403
|
+
assert_eq!(rule_config, TestRuleConfig::default());
|
|
404
|
+
}
|
|
356
405
|
}
|
|
@@ -23,11 +23,11 @@ pub struct MD007Config {
|
|
|
23
23
|
pub indent: usize,
|
|
24
24
|
|
|
25
25
|
/// Allow first level lists to start indented (default: false)
|
|
26
|
-
#[serde(default)]
|
|
26
|
+
#[serde(default, alias = "start_indented")]
|
|
27
27
|
pub start_indented: bool,
|
|
28
28
|
|
|
29
29
|
/// Number of spaces for first level indent when start_indented is true (default: 2)
|
|
30
|
-
#[serde(default = "default_start_indent")]
|
|
30
|
+
#[serde(default = "default_start_indent", alias = "start_indent")]
|
|
31
31
|
pub start_indent: usize,
|
|
32
32
|
|
|
33
33
|
/// Indentation style: text-aligned (default) or fixed (markdownlint compatible)
|
|
@@ -57,3 +57,32 @@ impl Default for MD007Config {
|
|
|
57
57
|
impl RuleConfig for MD007Config {
|
|
58
58
|
const RULE_NAME: &'static str = "MD007";
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
#[cfg(test)]
|
|
62
|
+
mod tests {
|
|
63
|
+
use super::*;
|
|
64
|
+
|
|
65
|
+
#[test]
|
|
66
|
+
fn test_snake_case_backwards_compatibility() {
|
|
67
|
+
// Test that snake_case field names work for backwards compatibility
|
|
68
|
+
let toml_str = r#"
|
|
69
|
+
start_indented = true
|
|
70
|
+
start_indent = 4
|
|
71
|
+
"#;
|
|
72
|
+
let config: MD007Config = toml::from_str(toml_str).unwrap();
|
|
73
|
+
assert!(config.start_indented);
|
|
74
|
+
assert_eq!(config.start_indent, 4);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#[test]
|
|
78
|
+
fn test_kebab_case_canonical_format() {
|
|
79
|
+
// Test that kebab-case (canonical format) works
|
|
80
|
+
let toml_str = r#"
|
|
81
|
+
start-indented = true
|
|
82
|
+
start-indent = 4
|
|
83
|
+
"#;
|
|
84
|
+
let config: MD007Config = toml::from_str(toml_str).unwrap();
|
|
85
|
+
assert!(config.start_indented);
|
|
86
|
+
assert_eq!(config.start_indent, 4);
|
|
87
|
+
}
|
|
88
|
+
}
|