rumdl 0.0.135__tar.gz → 0.0.136__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.135 → rumdl-0.0.136}/CHANGELOG.md +4 -1
- {rumdl-0.0.135 → rumdl-0.0.136}/Cargo.lock +1 -1
- {rumdl-0.0.135 → rumdl-0.0.136}/Cargo.toml +1 -1
- {rumdl-0.0.135 → rumdl-0.0.136}/PKG-INFO +1 -1
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md009_trailing_spaces.rs +85 -12
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md013_line_length.rs +83 -47
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md034_no_bare_urls.rs +5 -2
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/comprehensive_output_format_tests.rs +3 -5
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md009_test.rs +15 -5
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md013_test.rs +4 -2
- {rumdl-0.0.135 → rumdl-0.0.136}/.config/nextest.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/.mise.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/.pre-commit-config.yaml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/.rumdl.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/.rustfmt.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/LICENSE +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/MANIFEST.in +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/Makefile +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/README.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/assets/logo.png +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benches/range_performance.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benchmark/bin/bench_lint_context.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benchmark/bin/benchmark.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benchmark/bin/benchmark_rule.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benchmark/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/benchmark/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/RULES.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/global-settings.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md001.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md002.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md003.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md004.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md005.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md006.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md007.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md009.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md010.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md011.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md012.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md013.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md014.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md018.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md019.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md020.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md021.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md022.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md023.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md024.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md025.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md026.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md027.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md028.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md029.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md030.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md031.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md032.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md033.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md034.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md035.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md036.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md037.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md038.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md039.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md040.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md041.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md042.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md043.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md044.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md045.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md046.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md047.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md048.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md049.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md050.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md051.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md052.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md053.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md054.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md055.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md056.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md057.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/md058.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/parity_check.py +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/pyproject.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/python/MANIFEST.in +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/python/PYTHON-README.md +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/python/rumdl/__init__.py +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/python/rumdl/__main__.py +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/python/rumdl/py.typed +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/rumdl.toml.example +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/rust-toolchain.toml +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/generate-downloads-table.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/pre-release.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/setup-pre-commit.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/scripts/update-pre-commit-docs.sh +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/exit_codes.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/inline_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/lib.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/lint_context.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/lsp/server.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/lsp/types.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/main.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/azure.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/concise.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/github.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/gitlab.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/grouped.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/json.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/json_lines.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/junit.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/pylint.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/sarif.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/formatters/text.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/output/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/parallel.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/performance.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/profiling.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/python.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rule.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rule_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rule_config_serde.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md001_heading_increment.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md002_first_heading_h1.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md003_heading_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md004_unordered_list_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md005_list_indent.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md006_start_bullets.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md007_ul_indent/md007_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md007_ul_indent.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md010_no_hard_tabs.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md011_no_reversed_links.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md012_no_multiple_blanks.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md013_line_length/md013_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md014_commands_show_output.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md018_no_missing_space_atx.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md019_no_multiple_space_atx.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md022_blanks_around_headings.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md023_heading_start_left.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md024_no_duplicate_heading.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md025_single_title/md025_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md025_single_title.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md026_no_trailing_punctuation.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md028_no_blanks_blockquote.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md029_ordered_list_prefix.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md030_list_marker_space.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md031_blanks_around_fences.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md032_blanks_around_lists.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md033_no_inline_html.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md035_hr_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md036_no_emphasis_only_first.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md038_no_space_in_code.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md039_no_space_in_links.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md041_first_line_heading.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md042_no_empty_links.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md043_required_headings.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md044_proper_names/md044_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md044_proper_names.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md045_no_alt_text.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md046_code_block_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md047_single_trailing_newline.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md048_code_fence_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md049_emphasis_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md050_strong_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md051_link_fragments.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md052_reference_links_images.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md053_link_image_reference_definitions.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md054_link_image_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md055_table_pipe_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md057_existing_relative_links.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/anchor_styles/github.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/anchor_styles/jekyll.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/anchor_styles/kramdown.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/anchor_styles/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/header_id_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/kramdown_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/line_ending.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_admonitions.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_common.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_critic.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_footnotes.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_patterns.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_snippets.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_tabs.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocs_test_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mkdocstrings_refs.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/skip_context.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/utils/text_reflow.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/src/vscode.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/advanced_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_explain_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_flag_precedence_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/common/cli_test_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/common/fixtures.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/common/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/common/test_utils.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/config_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/config_upward_traversal_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/deeply_nested_lists_performance_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/escaped_brackets_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/fixable_unfixable_config_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/init_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/inline_config_blocks_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/kramdown_integration_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lib.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_formatting_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_initialization_options_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_mkdocs_flavor_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/md013_reflow_integration_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/md037_xxxx_regression_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/nested_code_block_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/perf_check.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/python_bindings_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/emphasis_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/heading_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/inline_content_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/link_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/list_rules_integration_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md005_dynamic_indent_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md005_unicode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md026_kramdown_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md028_md009_interaction_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_code_block_separation_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_fix_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_issue42_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md029_unicode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md031_kramdown_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md033_kramdown_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md034_ipv6_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md034_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md037_kramdown_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md038_nested_backticks_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md044_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_comprehensive_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_property_based_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_regression_prevention_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md051_unicode_security_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md058_kramdown_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/mkdocs_admonitions_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/mkdocs_extensions_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/mkdocs_snippets_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules/rule_interaction_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/rules_mod_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/skip_context_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/test_underscore_edge_cases.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/unfixable_rules_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/vscode_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/vscode_tests.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/vscode_windows_comprehensive_test.rs +0 -0
- {rumdl-0.0.135 → rumdl-0.0.136}/tests/vscode_windows_test.rs +0 -0
|
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.136] - 2025-09-03
|
|
11
|
+
|
|
10
12
|
## [0.0.135] - 2025-09-03
|
|
11
13
|
|
|
12
14
|
## [0.0.134] - 2025-09-02
|
|
@@ -560,7 +562,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
560
562
|
|
|
561
563
|
- Initial implementation of remaining rules for markdownlint parity
|
|
562
564
|
|
|
563
|
-
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.
|
|
565
|
+
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.136...HEAD
|
|
566
|
+
[0.0.136]: https://github.com/rvben/rumdl/compare/v0.0.135...v0.0.136
|
|
564
567
|
[0.0.135]: https://github.com/rvben/rumdl/compare/v0.0.134...v0.0.135
|
|
565
568
|
[0.0.134]: https://github.com/rvben/rumdl/compare/v0.0.133...v0.0.134
|
|
566
569
|
[0.0.133]: https://github.com/rvben/rumdl/compare/v0.0.132...v0.0.133
|
|
@@ -153,7 +153,10 @@ impl Rule for MD009TrailingSpaces {
|
|
|
153
153
|
trimmed.len() + 1,
|
|
154
154
|
trailing_spaces,
|
|
155
155
|
),
|
|
156
|
-
replacement: if !self.config.strict
|
|
156
|
+
replacement: if !self.config.strict
|
|
157
|
+
&& !is_truly_last_line
|
|
158
|
+
&& trailing_spaces == self.config.br_spaces
|
|
159
|
+
{
|
|
157
160
|
" ".repeat(self.config.br_spaces)
|
|
158
161
|
} else {
|
|
159
162
|
String::new()
|
|
@@ -236,11 +239,15 @@ impl Rule for MD009TrailingSpaces {
|
|
|
236
239
|
false
|
|
237
240
|
};
|
|
238
241
|
|
|
239
|
-
// In non-strict mode, preserve line breaks
|
|
242
|
+
// In non-strict mode, preserve line breaks ONLY if they have exactly br_spaces
|
|
240
243
|
// BUT: Never preserve trailing spaces in headings or empty blockquotes as they serve no purpose
|
|
241
|
-
if !self.config.strict
|
|
244
|
+
if !self.config.strict
|
|
245
|
+
&& !is_truly_last_line
|
|
246
|
+
&& trailing_spaces == self.config.br_spaces
|
|
247
|
+
&& !is_heading
|
|
248
|
+
&& !is_empty_blockquote
|
|
242
249
|
{
|
|
243
|
-
//
|
|
250
|
+
// Preserve the exact number of spaces for hard line breaks
|
|
244
251
|
match self.config.br_spaces {
|
|
245
252
|
0 => {}
|
|
246
253
|
1 => result.push(' '),
|
|
@@ -330,7 +337,10 @@ mod tests {
|
|
|
330
337
|
let content = "Line with spaces \nAnother line \nClean line";
|
|
331
338
|
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
332
339
|
let fixed = rule.fix(&ctx).unwrap();
|
|
333
|
-
|
|
340
|
+
// Line 1: 3 spaces -> removed (doesn't match br_spaces=2)
|
|
341
|
+
// Line 2: 2 spaces -> kept (matches br_spaces=2)
|
|
342
|
+
// Line 3: no spaces -> unchanged
|
|
343
|
+
assert_eq!(fixed, "Line with spaces\nAnother line \nClean line");
|
|
334
344
|
}
|
|
335
345
|
|
|
336
346
|
#[test]
|
|
@@ -366,19 +376,19 @@ mod tests {
|
|
|
366
376
|
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
367
377
|
let result = rule.check(&ctx).unwrap();
|
|
368
378
|
// br_spaces=2, so lines with exactly 2 spaces are OK
|
|
369
|
-
// Line 2 has 3 spaces (
|
|
379
|
+
// Line 2 has 3 spaces (should be removed, not normalized)
|
|
370
380
|
// Line 3 has 1 space and is last line without newline (will be removed)
|
|
371
381
|
assert_eq!(result.len(), 2);
|
|
372
382
|
assert_eq!(result[0].line, 2);
|
|
373
383
|
assert_eq!(result[1].line, 3);
|
|
374
384
|
|
|
375
385
|
let fixed = rule.fix(&ctx).unwrap();
|
|
376
|
-
// Line 1: keeps 2 spaces
|
|
377
|
-
// Line 2:
|
|
386
|
+
// Line 1: keeps 2 spaces (exact match with br_spaces)
|
|
387
|
+
// Line 2: removes all 3 spaces (doesn't match br_spaces)
|
|
378
388
|
// Line 3: last line without newline, spaces removed
|
|
379
389
|
assert_eq!(
|
|
380
390
|
fixed,
|
|
381
|
-
"Line with two spaces \nLine with three spaces
|
|
391
|
+
"Line with two spaces \nLine with three spaces\nLine with one space"
|
|
382
392
|
);
|
|
383
393
|
}
|
|
384
394
|
|
|
@@ -586,14 +596,16 @@ mod tests {
|
|
|
586
596
|
let content = "> > Nested \n> > \n> Normal ";
|
|
587
597
|
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
588
598
|
let result = rule.check(&ctx).unwrap();
|
|
589
|
-
// Line 2 has empty blockquote, line 3 is last line without newline
|
|
599
|
+
// Line 2 has empty blockquote with 3 spaces, line 3 is last line without newline
|
|
590
600
|
assert_eq!(result.len(), 2);
|
|
591
601
|
assert_eq!(result[0].line, 2);
|
|
592
602
|
assert_eq!(result[1].line, 3);
|
|
593
603
|
|
|
594
604
|
let fixed = rule.fix(&ctx).unwrap();
|
|
595
|
-
//
|
|
596
|
-
|
|
605
|
+
// Line 1: Keeps 2 spaces (exact match with br_spaces)
|
|
606
|
+
// Line 2: Empty blockquote with 3 spaces -> removes all (doesn't match br_spaces)
|
|
607
|
+
// Line 3: Last line without newline -> removes all spaces
|
|
608
|
+
assert_eq!(fixed, "> > Nested \n> >\n> Normal");
|
|
597
609
|
}
|
|
598
610
|
|
|
599
611
|
#[test]
|
|
@@ -608,4 +620,65 @@ mod tests {
|
|
|
608
620
|
assert_eq!(result.len(), 1);
|
|
609
621
|
assert_eq!(result[0].line, 2);
|
|
610
622
|
}
|
|
623
|
+
|
|
624
|
+
#[test]
|
|
625
|
+
fn test_issue_80_no_space_normalization() {
|
|
626
|
+
// Test for GitHub issue #80 - MD009 should not add spaces when removing trailing spaces
|
|
627
|
+
let rule = MD009TrailingSpaces::new(2, false); // br_spaces=2
|
|
628
|
+
|
|
629
|
+
// Test that 1 trailing space is removed, not normalized to 2
|
|
630
|
+
let content = "Line with one space \nNext line";
|
|
631
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
632
|
+
let result = rule.check(&ctx).unwrap();
|
|
633
|
+
assert_eq!(result.len(), 1);
|
|
634
|
+
assert_eq!(result[0].line, 1);
|
|
635
|
+
assert_eq!(result[0].message, "Trailing space found");
|
|
636
|
+
|
|
637
|
+
let fixed = rule.fix(&ctx).unwrap();
|
|
638
|
+
assert_eq!(fixed, "Line with one space\nNext line");
|
|
639
|
+
|
|
640
|
+
// Test that 3 trailing spaces are removed, not normalized to 2
|
|
641
|
+
let content = "Line with three spaces \nNext line";
|
|
642
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
643
|
+
let result = rule.check(&ctx).unwrap();
|
|
644
|
+
assert_eq!(result.len(), 1);
|
|
645
|
+
assert_eq!(result[0].line, 1);
|
|
646
|
+
assert_eq!(result[0].message, "3 trailing spaces found");
|
|
647
|
+
|
|
648
|
+
let fixed = rule.fix(&ctx).unwrap();
|
|
649
|
+
assert_eq!(fixed, "Line with three spaces\nNext line");
|
|
650
|
+
|
|
651
|
+
// Test that exactly 2 trailing spaces are preserved
|
|
652
|
+
let content = "Line with two spaces \nNext line";
|
|
653
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
654
|
+
let result = rule.check(&ctx).unwrap();
|
|
655
|
+
assert_eq!(result.len(), 0); // Should not flag lines with exact br_spaces
|
|
656
|
+
|
|
657
|
+
let fixed = rule.fix(&ctx).unwrap();
|
|
658
|
+
assert_eq!(fixed, "Line with two spaces \nNext line");
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
#[test]
|
|
662
|
+
fn test_different_br_spaces_values() {
|
|
663
|
+
// Test with br_spaces=0 (no trailing spaces allowed)
|
|
664
|
+
let rule = MD009TrailingSpaces::new(0, false);
|
|
665
|
+
let content = "Line with one space \nLine with two spaces ";
|
|
666
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
667
|
+
let result = rule.check(&ctx).unwrap();
|
|
668
|
+
assert_eq!(result.len(), 2); // Both lines should be flagged
|
|
669
|
+
|
|
670
|
+
let fixed = rule.fix(&ctx).unwrap();
|
|
671
|
+
assert_eq!(fixed, "Line with one space\nLine with two spaces");
|
|
672
|
+
|
|
673
|
+
// Test with br_spaces=1 (exactly 1 trailing space for line breaks)
|
|
674
|
+
let rule = MD009TrailingSpaces::new(1, false);
|
|
675
|
+
let content = "Line with one space \nLine with two spaces ";
|
|
676
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
677
|
+
let result = rule.check(&ctx).unwrap();
|
|
678
|
+
assert_eq!(result.len(), 1); // Only line 2 should be flagged
|
|
679
|
+
assert_eq!(result[0].line, 2);
|
|
680
|
+
|
|
681
|
+
let fixed = rule.fix(&ctx).unwrap();
|
|
682
|
+
assert_eq!(fixed, "Line with one space \nLine with two spaces");
|
|
683
|
+
}
|
|
611
684
|
}
|
|
@@ -8,6 +8,7 @@ use crate::utils::range_utils::calculate_excess_range;
|
|
|
8
8
|
use crate::utils::regex_cache::{
|
|
9
9
|
IMAGE_REF_PATTERN, INLINE_LINK_REGEX as MARKDOWN_LINK_PATTERN, LINK_REF_PATTERN, URL_IN_TEXT, URL_PATTERN,
|
|
10
10
|
};
|
|
11
|
+
use crate::utils::table_utils::TableUtils;
|
|
11
12
|
use toml;
|
|
12
13
|
|
|
13
14
|
pub mod md013_config;
|
|
@@ -36,24 +37,6 @@ impl MD013LineLength {
|
|
|
36
37
|
Self { config }
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
fn is_in_table(lines: &[&str], current_line: usize) -> bool {
|
|
40
|
-
// Check if current line is part of a table
|
|
41
|
-
let current = lines[current_line].trim();
|
|
42
|
-
if current.starts_with('|') || current.starts_with("|-") {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Check if line is between table markers
|
|
47
|
-
if current_line > 0 && current_line + 1 < lines.len() {
|
|
48
|
-
let prev = lines[current_line - 1].trim();
|
|
49
|
-
let next = lines[current_line + 1].trim();
|
|
50
|
-
if (prev.starts_with('|') || prev.starts_with("|-")) && (next.starts_with('|') || next.starts_with("|-")) {
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
false
|
|
55
|
-
}
|
|
56
|
-
|
|
57
40
|
fn should_ignore_line(
|
|
58
41
|
&self,
|
|
59
42
|
line: &str,
|
|
@@ -203,24 +186,21 @@ impl Rule for MD013LineLength {
|
|
|
203
186
|
// Create a quick lookup set for heading lines
|
|
204
187
|
let heading_lines_set: std::collections::HashSet<usize> = structure.heading_lines.iter().cloned().collect();
|
|
205
188
|
|
|
206
|
-
//
|
|
189
|
+
// Use TableUtils to find all table blocks in the document
|
|
190
|
+
let table_blocks = TableUtils::find_table_blocks(content, ctx);
|
|
191
|
+
|
|
192
|
+
// Pre-compute table lines from the table blocks
|
|
207
193
|
let table_lines_set: std::collections::HashSet<usize> = {
|
|
208
194
|
let mut table_lines = std::collections::HashSet::new();
|
|
209
195
|
|
|
210
|
-
for
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
} else {
|
|
219
|
-
structure.is_in_code_block(line_number)
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
if !in_code && Self::is_in_table(&lines, i) {
|
|
223
|
-
table_lines.insert(line_number);
|
|
196
|
+
for table in &table_blocks {
|
|
197
|
+
// Add header line
|
|
198
|
+
table_lines.insert(table.header_line + 1); // Convert 0-indexed to 1-indexed
|
|
199
|
+
// Add delimiter line
|
|
200
|
+
table_lines.insert(table.delimiter_line + 1);
|
|
201
|
+
// Add all content lines
|
|
202
|
+
for &line in &table.content_lines {
|
|
203
|
+
table_lines.insert(line + 1); // Convert 0-indexed to 1-indexed
|
|
224
204
|
}
|
|
225
205
|
}
|
|
226
206
|
table_lines
|
|
@@ -393,7 +373,8 @@ impl MD013LineLength {
|
|
|
393
373
|
}
|
|
394
374
|
|
|
395
375
|
// Skip tables (they have complex formatting)
|
|
396
|
-
if
|
|
376
|
+
// Check if line looks like a table row
|
|
377
|
+
if TableUtils::is_potential_table_row(line) {
|
|
397
378
|
return true;
|
|
398
379
|
}
|
|
399
380
|
|
|
@@ -568,19 +549,6 @@ mod tests {
|
|
|
568
549
|
assert_eq!(result.len(), 0);
|
|
569
550
|
}
|
|
570
551
|
|
|
571
|
-
#[test]
|
|
572
|
-
fn test_table_detection() {
|
|
573
|
-
let lines = vec![
|
|
574
|
-
"| Column 1 | Column 2 |",
|
|
575
|
-
"|----------|----------|",
|
|
576
|
-
"| Value 1 | Value 2 |",
|
|
577
|
-
];
|
|
578
|
-
|
|
579
|
-
assert!(MD013LineLength::is_in_table(&lines, 0));
|
|
580
|
-
assert!(MD013LineLength::is_in_table(&lines, 1));
|
|
581
|
-
assert!(MD013LineLength::is_in_table(&lines, 2));
|
|
582
|
-
}
|
|
583
|
-
|
|
584
552
|
#[test]
|
|
585
553
|
fn test_table_checked_when_enabled() {
|
|
586
554
|
let rule = MD013LineLength::new(30, false, true, false, false);
|
|
@@ -591,6 +559,74 @@ mod tests {
|
|
|
591
559
|
assert_eq!(result.len(), 2); // Both table lines exceed limit
|
|
592
560
|
}
|
|
593
561
|
|
|
562
|
+
#[test]
|
|
563
|
+
fn test_issue_78_tables_after_fenced_code_blocks() {
|
|
564
|
+
// Test for GitHub issue #78 - tables with tables=false after fenced code blocks
|
|
565
|
+
let rule = MD013LineLength::new(20, false, false, false, false); // tables=false
|
|
566
|
+
let content = r#"# heading
|
|
567
|
+
|
|
568
|
+
```plain
|
|
569
|
+
some code block longer than 20 chars length
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
this is a very long line
|
|
573
|
+
|
|
574
|
+
| column A | column B |
|
|
575
|
+
| -------- | -------- |
|
|
576
|
+
| `var` | `val` |
|
|
577
|
+
| value 1 | value 2 |
|
|
578
|
+
|
|
579
|
+
correct length line"#;
|
|
580
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
581
|
+
let result = rule.check(&ctx).unwrap();
|
|
582
|
+
|
|
583
|
+
// Should only flag line 7 ("this is a very long line"), not the table lines
|
|
584
|
+
assert_eq!(result.len(), 1, "Should only flag 1 line (the non-table long line)");
|
|
585
|
+
assert_eq!(result[0].line, 7, "Should flag line 7");
|
|
586
|
+
assert!(result[0].message.contains("24 exceeds 20"));
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
#[test]
|
|
590
|
+
fn test_issue_78_tables_with_inline_code() {
|
|
591
|
+
// Test that tables with inline code (backticks) are properly detected as tables
|
|
592
|
+
let rule = MD013LineLength::new(20, false, false, false, false); // tables=false
|
|
593
|
+
let content = r#"| column A | column B |
|
|
594
|
+
| -------- | -------- |
|
|
595
|
+
| `var with very long name` | `val exceeding limit` |
|
|
596
|
+
| value 1 | value 2 |
|
|
597
|
+
|
|
598
|
+
This line exceeds limit"#;
|
|
599
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
600
|
+
let result = rule.check(&ctx).unwrap();
|
|
601
|
+
|
|
602
|
+
// Should only flag the last line, not the table lines
|
|
603
|
+
assert_eq!(result.len(), 1, "Should only flag the non-table line");
|
|
604
|
+
assert_eq!(result[0].line, 6, "Should flag line 6");
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
#[test]
|
|
608
|
+
fn test_issue_78_indented_code_blocks() {
|
|
609
|
+
// Test with indented code blocks instead of fenced
|
|
610
|
+
let rule = MD013LineLength::new(20, false, false, false, false); // tables=false
|
|
611
|
+
let content = r#"# heading
|
|
612
|
+
|
|
613
|
+
some code block longer than 20 chars length
|
|
614
|
+
|
|
615
|
+
this is a very long line
|
|
616
|
+
|
|
617
|
+
| column A | column B |
|
|
618
|
+
| -------- | -------- |
|
|
619
|
+
| value 1 | value 2 |
|
|
620
|
+
|
|
621
|
+
correct length line"#;
|
|
622
|
+
let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
|
|
623
|
+
let result = rule.check(&ctx).unwrap();
|
|
624
|
+
|
|
625
|
+
// Should only flag line 5 ("this is a very long line"), not the table lines
|
|
626
|
+
assert_eq!(result.len(), 1, "Should only flag 1 line (the non-table long line)");
|
|
627
|
+
assert_eq!(result[0].line, 5, "Should flag line 5");
|
|
628
|
+
}
|
|
629
|
+
|
|
594
630
|
#[test]
|
|
595
631
|
fn test_url_exemption() {
|
|
596
632
|
let rule = MD013LineLength::new(30, false, false, false, false);
|
|
@@ -769,9 +769,12 @@ mod tests {
|
|
|
769
769
|
);
|
|
770
770
|
|
|
771
771
|
// Performance assertion - should complete reasonably fast
|
|
772
|
+
// Note: In debug builds this may take longer, so we use a higher threshold
|
|
773
|
+
let max_duration_ms = if cfg!(debug_assertions) { 1000 } else { 100 };
|
|
772
774
|
assert!(
|
|
773
|
-
avg_check_duration.as_millis() <
|
|
774
|
-
"MD034 check should complete in under
|
|
775
|
+
avg_check_duration.as_millis() < max_duration_ms,
|
|
776
|
+
"MD034 check should complete in under {}ms, took {}ms",
|
|
777
|
+
max_duration_ms,
|
|
775
778
|
avg_check_duration.as_millis()
|
|
776
779
|
);
|
|
777
780
|
|
|
@@ -250,11 +250,9 @@ fn test_output_format_with_fix_mode() {
|
|
|
250
250
|
|
|
251
251
|
// Verify the file was actually fixed
|
|
252
252
|
let fixed_content = fs::read_to_string(&test_file).unwrap();
|
|
253
|
-
//
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
"Trailing spaces should be normalized to 2 spaces"
|
|
257
|
-
);
|
|
253
|
+
// MD009 removes trailing spaces that don't match br_spaces (default 2)
|
|
254
|
+
// Since the content had 3 spaces, they should be removed
|
|
255
|
+
assert!(!fixed_content.contains(" "), "Trailing spaces (3) should be removed");
|
|
258
256
|
assert!(
|
|
259
257
|
fixed_content.contains("\n\n"),
|
|
260
258
|
"Blank line should be added after heading"
|
|
@@ -77,9 +77,13 @@ fn test_md009_fix() {
|
|
|
77
77
|
let content = "Line with spaces \nAnother line \nNo spaces\n \n```\nCode \n```\n";
|
|
78
78
|
let ctx = LintContext::new(content, rumdl_lib::config::MarkdownFlavor::Standard);
|
|
79
79
|
let result = rule.fix(&ctx).unwrap();
|
|
80
|
+
// Default br_spaces=2, so only lines with exactly 2 spaces are preserved
|
|
81
|
+
// Line 1: 3 spaces -> removed
|
|
82
|
+
// Line 2: 2 spaces -> preserved
|
|
83
|
+
// Line 4: 2 spaces (empty line) -> removed
|
|
80
84
|
assert_eq!(
|
|
81
85
|
result,
|
|
82
|
-
"Line with spaces
|
|
86
|
+
"Line with spaces\nAnother line \nNo spaces\n\n```\nCode \n```\n"
|
|
83
87
|
);
|
|
84
88
|
}
|
|
85
89
|
|
|
@@ -157,9 +161,11 @@ fn test_md009_fix_preserves_line_breaks() {
|
|
|
157
161
|
let content = "Line with one space \nLine with two \nLine with three \nLine with four \n";
|
|
158
162
|
let ctx = LintContext::new(content, rumdl_lib::config::MarkdownFlavor::Standard);
|
|
159
163
|
let result = rule.fix(&ctx).unwrap();
|
|
164
|
+
// Only lines with exactly 2 spaces (br_spaces) are preserved
|
|
165
|
+
// Lines with 1, 3, or 4 spaces have them removed
|
|
160
166
|
assert_eq!(
|
|
161
167
|
result,
|
|
162
|
-
"Line with one space
|
|
168
|
+
"Line with one space\nLine with two \nLine with three\nLine with four\n"
|
|
163
169
|
);
|
|
164
170
|
}
|
|
165
171
|
|
|
@@ -297,7 +303,9 @@ fn test_md009_fix_with_crlf() {
|
|
|
297
303
|
let ctx = LintContext::new(content, rumdl_lib::config::MarkdownFlavor::Standard);
|
|
298
304
|
let result = rule.fix(&ctx).unwrap();
|
|
299
305
|
// The fix normalizes to \n line endings
|
|
300
|
-
|
|
306
|
+
// Line 1: 2 spaces -> preserved (matches br_spaces=2)
|
|
307
|
+
// Line 2: 3 spaces -> removed (doesn't match br_spaces=2)
|
|
308
|
+
assert_eq!(result, "Line one \nLine two\n");
|
|
301
309
|
}
|
|
302
310
|
|
|
303
311
|
#[test]
|
|
@@ -317,10 +325,12 @@ fn test_md009_fix_complex_document() {
|
|
|
317
325
|
"# Title \n\nParagraph \n\n- List \n - Nested \n\n```\ncode \n```\n\n> Quote \n> \n\nEnd ";
|
|
318
326
|
let ctx = LintContext::new(content, rumdl_lib::config::MarkdownFlavor::Standard);
|
|
319
327
|
let result = rule.fix(&ctx).unwrap();
|
|
320
|
-
// Headings should have all trailing spaces removed
|
|
328
|
+
// Headings should have all trailing spaces removed
|
|
329
|
+
// Lines with exactly 2 spaces are preserved
|
|
330
|
+
// Lines with 3 spaces are removed
|
|
321
331
|
assert_eq!(
|
|
322
332
|
result,
|
|
323
|
-
"# Title\n\nParagraph \n\n- List
|
|
333
|
+
"# Title\n\nParagraph \n\n- List\n - Nested \n\n```\ncode \n```\n\n> Quote\n>\n\nEnd" // Empty blockquote line trailing spaces removed
|
|
324
334
|
);
|
|
325
335
|
}
|
|
326
336
|
|
|
@@ -346,13 +346,15 @@ fn test_code_blocks_configurable() {
|
|
|
346
346
|
|
|
347
347
|
#[test]
|
|
348
348
|
fn test_tables_configurable() {
|
|
349
|
-
|
|
349
|
+
// Use a proper table with header and delimiter
|
|
350
|
+
let content = "| This is a very long table cell | Another very long table cell that exceeds limit |\n|----------------------------------|---------------------------------------------------|";
|
|
350
351
|
let ctx = LintContext::new(content, rumdl_lib::config::MarkdownFlavor::Standard);
|
|
351
352
|
|
|
352
353
|
// With tables = true (check tables - include in line length checking)
|
|
353
354
|
let rule_check = MD013LineLength::new(50, true, true, true, false);
|
|
354
355
|
let result_check = rule_check.check(&ctx).unwrap();
|
|
355
|
-
|
|
356
|
+
// Both lines exceed 50 characters
|
|
357
|
+
assert_eq!(result_check.len(), 2);
|
|
356
358
|
|
|
357
359
|
// With tables = false (skip tables - exclude from line length checking)
|
|
358
360
|
let rule_skip = MD013LineLength::new(50, true, false, true, false);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|