rumdl 0.0.123__tar.gz → 0.0.125__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.123 → rumdl-0.0.125}/CHANGELOG.md +70 -9
- {rumdl-0.0.123 → rumdl-0.0.125}/Cargo.lock +19 -19
- {rumdl-0.0.123 → rumdl-0.0.125}/Cargo.toml +1 -1
- {rumdl-0.0.123 → rumdl-0.0.125}/Makefile +4 -4
- {rumdl-0.0.123 → rumdl-0.0.125}/PKG-INFO +101 -11
- {rumdl-0.0.123 → rumdl-0.0.125}/README.md +100 -10
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/pre-release.sh +21 -1
- {rumdl-0.0.123 → rumdl-0.0.125}/src/config.rs +95 -35
- {rumdl-0.0.123 → rumdl-0.0.125}/src/lint_context.rs +1 -1
- {rumdl-0.0.123 → rumdl-0.0.125}/src/main.rs +205 -24
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md009_trailing_spaces.rs +10 -1
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md029_ordered_list_prefix.rs +49 -130
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md052_reference_links_images.rs +78 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_integration_tests.rs +304 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/config_file_command_test.rs +28 -9
- rumdl-0.0.125/tests/config_upward_traversal_test.rs +207 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md009_test.rs +2 -1
- rumdl-0.0.125/tests/rules/md029_fix_test.rs +170 -0
- rumdl-0.0.125/tests/rules/md029_markdownlint_parity_test.rs +229 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md029_test.rs +18 -16
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/mod.rs +2 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/.config/nextest.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/.mise.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/.pre-commit-config.yaml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/.rumdl.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/.rustfmt.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/LICENSE +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/MANIFEST.in +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/assets/logo.png +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benches/range_performance.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benchmark/bin/bench_lint_context.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benchmark/bin/benchmark.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benchmark/bin/benchmark_rule.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benchmark/bin/file_parallel_benchmark.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/benchmark/bin/measure_code_span_performance.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/RULES.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/global-settings.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md001.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md002.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md003.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md004.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md005.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md006.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md007.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md009.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md010.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md011.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md012.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md013.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md014.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md018.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md019.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md020.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md021.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md022.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md023.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md024.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md025.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md026.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md027.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md028.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md029.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md030.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md031.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md032.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md033.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md034.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md035.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md036.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md037.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md038.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md039.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md040.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md041.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md042.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md043.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md044.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md045.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md046.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md047.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md048.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md049.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md050.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md051.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md052.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md053.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md054.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md055.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md056.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md057.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/md058.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/docs/vscode-extension.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/parity_check.py +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/pyproject.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/python/MANIFEST.in +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/python/PYTHON-README.md +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/python/rumdl/__init__.py +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/python/rumdl/__main__.py +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/python/rumdl/py.typed +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/rumdl.toml.example +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/rust-toolchain.toml +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/extract-changelog.sh +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/generate-downloads-table.sh +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/prepare-release.sh +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/setup-pre-commit.sh +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/scripts/update-pre-commit-docs.sh +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/exit_codes.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/inline_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/lib.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/lsp/server.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/lsp/types.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/azure.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/concise.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/github.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/gitlab.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/grouped.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/json.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/json_lines.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/junit.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/pylint.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/sarif.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/formatters/text.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/output/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/parallel.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/performance.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/profiling.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/python.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rule.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rule_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rule_config_serde.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md001_heading_increment.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md002_first_heading_h1.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md003_heading_style/md003_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md003_heading_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md004_unordered_list_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md005_list_indent.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md006_start_bullets.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md007_ul_indent/md007_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md007_ul_indent.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md010_no_hard_tabs.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md011_no_reversed_links.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md012_no_multiple_blanks.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md013_line_length/md013_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md013_line_length.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md014_commands_show_output.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md018_no_missing_space_atx.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md019_no_multiple_space_atx.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md022_blanks_around_headings.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md023_heading_start_left.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md024_no_duplicate_heading.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md025_single_title/md025_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md025_single_title.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md026_no_trailing_punctuation.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md028_no_blanks_blockquote.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md030_list_marker_space.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md031_blanks_around_fences.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md032_blanks_around_lists.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md033_no_inline_html.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md034_no_bare_urls.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md035_hr_style/md035_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md035_hr_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md036_no_emphasis_only_first.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md038_no_space_in_code.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md039_no_space_in_links.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md041_first_line_heading.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md042_no_empty_links.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md043_required_headings.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md044_proper_names/md044_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md044_proper_names.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md045_no_alt_text.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md046_code_block_style/md046_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md046_code_block_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md047_single_trailing_newline.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md048_code_fence_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md049_emphasis_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md050_strong_style/md050_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md050_strong_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md051_link_fragments.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md053_link_image_reference_definitions.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md054_link_image_style/md054_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md054_link_image_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md055_table_pipe_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md057_existing_relative_links.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/anchor_styles/github.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/anchor_styles/jekyll.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/anchor_styles/kramdown.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/anchor_styles/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/ast_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/emphasis_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/header_id_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/kramdown_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/skip_context.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/utils/text_reflow.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/src/vscode.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/advanced_integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/additional_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_explain_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_flag_precedence_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cli_statistics_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/common/cli_test_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/common/fixtures.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/common/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/common/test_utils.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/comprehensive_output_format_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/config_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/deeply_nested_lists_performance_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/escaped_brackets_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/fixable_unfixable_config_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/init_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/inline_config_blocks_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/inline_config_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/kramdown_integration_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/lib.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/markdownlintignore_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/md013_reflow_integration_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/nested_code_block_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/output_format_integration_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/perf_check.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/python_bindings_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/emphasis_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/heading_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/inline_content_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/link_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/list_rules_integration_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md002_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md005_unicode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md013_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md023_extended_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md026_kramdown_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md029_code_block_separation_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md029_issue42_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md029_unicode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md030_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md031_kramdown_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md033_kramdown_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md034_ipv6_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md034_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md037_kramdown_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md038_nested_backticks_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md042_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md044_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_comprehensive_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_issue_39_regression_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_property_based_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_regression_prevention_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md051_unicode_security_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md058_kramdown_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/rules_mod_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/skip_context_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/test_underscore_edge_cases.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/unfixable_rules_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/utils_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/vscode_extension_fixes.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/vscode_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/vscode_tests.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/vscode_windows_comprehensive_test.rs +0 -0
- {rumdl-0.0.123 → rumdl-0.0.125}/tests/vscode_windows_test.rs +0 -0
|
@@ -7,7 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
## [0.0.
|
|
10
|
+
## [0.0.125] - 2025-08-22
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **CLI**: Added `--stdin-filename` flag for better stdin processing
|
|
14
|
+
- Specify filename when reading from stdin for better error messages
|
|
15
|
+
- Enables MD057 (relative link checking) to work correctly with stdin
|
|
16
|
+
- Provides proper filename context in all output formats
|
|
17
|
+
- Improves editor integration capabilities
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- **CLI**: Fixed `rumdl fmt -` to output original content when no issues found
|
|
21
|
+
- Previously incorrectly output "No issues found in stdin" message
|
|
22
|
+
- Now correctly outputs the original content unchanged
|
|
23
|
+
- **MD029**: Corrected list continuity detection and fix functionality
|
|
24
|
+
- Improved handling of sublists and indented content
|
|
25
|
+
- Better markdownlint compatibility
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- **Build**: Added mise version validation to pre-release checks
|
|
29
|
+
- Prevents CI failures from non-existent mise versions
|
|
30
|
+
|
|
31
|
+
## [0.0.124] - 2025-08-22
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- **Formatting**: Added stdin/stdout formatting support (closes #59)
|
|
35
|
+
- `rumdl fmt` command for formatting markdown files (alias for `check --fix`)
|
|
36
|
+
- `--stdin` with `--fix` now outputs formatted content to stdout
|
|
37
|
+
- Support for `-` as stdin indicator (Unix convention: `rumdl fmt -`)
|
|
38
|
+
- Clear separation between linting (diagnostics to stderr) and formatting (content to stdout)
|
|
39
|
+
- Documentation updated with formatting examples
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
- **MD052**: Don't flag GitHub alerts as undefined references (closes #60)
|
|
43
|
+
- GitHub alert syntax (`[!NOTE]`, `[!TIP]`, `[!WARNING]`, `[!IMPORTANT]`, `[!CAUTION]`) no longer flagged
|
|
44
|
+
- Improved compatibility with GitHub-flavored markdown
|
|
45
|
+
- **MD009**: Fixed heading trailing space removal
|
|
46
|
+
- Headings now have ALL trailing spaces removed (they serve no purpose in headings)
|
|
47
|
+
- **CLI**: Fixed stdin diagnostics output in check mode
|
|
48
|
+
- Diagnostics now correctly output to stderr by default in check mode without `--fix`
|
|
11
49
|
|
|
12
50
|
## [0.0.123] - 2025-08-21
|
|
13
51
|
|
|
@@ -33,6 +71,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
33
71
|
|
|
34
72
|
## [0.0.122] - 2025-08-19
|
|
35
73
|
|
|
74
|
+
### Added
|
|
75
|
+
- **Configuration Discovery**: Automatic upward directory traversal to find configuration files (closes #58)
|
|
76
|
+
- Searches parent directories for `.rumdl.toml`, `rumdl.toml`, or `pyproject.toml`
|
|
77
|
+
- Similar behavior to `git`, `ruff`, and `eslint`
|
|
78
|
+
- Stops at `.git` directory boundaries
|
|
79
|
+
- **--isolated flag**: New flag to disable all configuration discovery (Ruff-compatible)
|
|
80
|
+
- Alias for `--no-config` for better ecosystem compatibility
|
|
81
|
+
|
|
36
82
|
## [0.0.121] - 2025-08-19
|
|
37
83
|
|
|
38
84
|
### Fixed
|
|
@@ -52,6 +98,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
52
98
|
|
|
53
99
|
## [0.0.120] - 2025-08-16
|
|
54
100
|
|
|
101
|
+
### Performance
|
|
102
|
+
- Incremental improvements to various rule implementations
|
|
103
|
+
|
|
55
104
|
## [0.0.119] - 2025-08-15
|
|
56
105
|
|
|
57
106
|
### Fixed
|
|
@@ -68,6 +117,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
68
117
|
|
|
69
118
|
## [0.0.118] - 2025-08-14
|
|
70
119
|
|
|
120
|
+
### Performance
|
|
121
|
+
- Incremental improvements to various rule implementations
|
|
122
|
+
|
|
71
123
|
## [0.0.117] - 2025-08-14
|
|
72
124
|
|
|
73
125
|
### Fixed
|
|
@@ -95,17 +147,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
95
147
|
|
|
96
148
|
## [0.0.115] - 2025-08-12
|
|
97
149
|
|
|
150
|
+
### Fixed
|
|
151
|
+
- Various bug fixes and improvements
|
|
152
|
+
|
|
98
153
|
## [0.0.114] - 2025-08-09
|
|
99
154
|
|
|
155
|
+
### Fixed
|
|
156
|
+
- Various bug fixes and improvements
|
|
157
|
+
|
|
100
158
|
## [0.0.113] - 2025-08-09
|
|
101
159
|
|
|
160
|
+
### Fixed
|
|
161
|
+
- Various bug fixes and improvements
|
|
162
|
+
|
|
102
163
|
## [0.0.112] - 2025-08-08
|
|
103
164
|
|
|
104
|
-
|
|
165
|
+
### Fixed
|
|
166
|
+
- Various bug fixes and improvements
|
|
105
167
|
|
|
106
168
|
## [0.0.110] - 2025-08-08
|
|
107
169
|
|
|
108
|
-
|
|
170
|
+
### Changed
|
|
171
|
+
- Various bug fixes and improvements
|
|
109
172
|
|
|
110
173
|
## [0.0.107] - 2025-08-06
|
|
111
174
|
|
|
@@ -125,8 +188,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
125
188
|
|
|
126
189
|
## [0.0.105] - 2025-08-05
|
|
127
190
|
|
|
128
|
-
## [0.0.105] - 2025-08-05
|
|
129
|
-
|
|
130
191
|
### Fixed
|
|
131
192
|
- MD029: Fixed list continuation detection to properly handle variable marker widths (fixes #16)
|
|
132
193
|
- List items with double-digit markers (e.g., "10. ") now correctly require 4+ spaces for continuation
|
|
@@ -396,7 +457,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
396
457
|
|
|
397
458
|
- Initial implementation of remaining rules for markdownlint parity
|
|
398
459
|
|
|
399
|
-
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.
|
|
460
|
+
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.125...HEAD
|
|
461
|
+
[0.0.125]: https://github.com/rvben/rumdl/compare/v0.0.124...v0.0.125
|
|
462
|
+
[0.0.124]: https://github.com/rvben/rumdl/compare/v0.0.123...v0.0.124
|
|
400
463
|
[0.0.123]: https://github.com/rvben/rumdl/compare/v0.0.122...v0.0.123
|
|
401
464
|
[0.0.122]: https://github.com/rvben/rumdl/compare/v0.0.121...v0.0.122
|
|
402
465
|
[0.0.121]: https://github.com/rvben/rumdl/compare/v0.0.120...v0.0.121
|
|
@@ -410,10 +473,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
410
473
|
[0.0.113]: https://github.com/rvben/rumdl/compare/v0.0.112...v0.0.113
|
|
411
474
|
[0.0.112]: https://github.com/rvben/rumdl/compare/v0.0.111...v0.0.112
|
|
412
475
|
[0.0.110]: https://github.com/rvben/rumdl/compare/v0.0.109...v0.0.110
|
|
413
|
-
[0.0.110]: https://github.com/rvben/rumdl/compare/v0.0.109...v0.0.110
|
|
414
476
|
[0.0.107]: https://github.com/rvben/rumdl/compare/v0.0.106...v0.0.107
|
|
415
|
-
[0.0.
|
|
416
|
-
[0.0.105]: https://github.com/rvben/rumdl/compare/v0.0.104...v0.0.105
|
|
477
|
+
[0.0.106]: https://github.com/rvben/rumdl/compare/v0.0.105...v0.0.106
|
|
417
478
|
[0.0.105]: https://github.com/rvben/rumdl/compare/v0.0.104...v0.0.105
|
|
418
479
|
[0.0.104]: https://github.com/rvben/rumdl/compare/v0.0.103...v0.0.104
|
|
419
480
|
[0.0.102]: https://github.com/rvben/rumdl/compare/v0.0.101...v0.0.102
|
|
@@ -185,9 +185,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
|
185
185
|
|
|
186
186
|
[[package]]
|
|
187
187
|
name = "bitflags"
|
|
188
|
-
version = "2.9.
|
|
188
|
+
version = "2.9.3"
|
|
189
189
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
190
|
-
checksum = "
|
|
190
|
+
checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d"
|
|
191
191
|
|
|
192
192
|
[[package]]
|
|
193
193
|
name = "bstr"
|
|
@@ -220,9 +220,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
|
|
220
220
|
|
|
221
221
|
[[package]]
|
|
222
222
|
name = "cc"
|
|
223
|
-
version = "1.2.
|
|
223
|
+
version = "1.2.34"
|
|
224
224
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
225
|
-
checksum = "
|
|
225
|
+
checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc"
|
|
226
226
|
dependencies = [
|
|
227
227
|
"shlex",
|
|
228
228
|
]
|
|
@@ -843,9 +843,9 @@ dependencies = [
|
|
|
843
843
|
|
|
844
844
|
[[package]]
|
|
845
845
|
name = "indexmap"
|
|
846
|
-
version = "2.
|
|
846
|
+
version = "2.11.0"
|
|
847
847
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
848
|
-
checksum = "
|
|
848
|
+
checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
|
|
849
849
|
dependencies = [
|
|
850
850
|
"equivalent",
|
|
851
851
|
"hashbrown 0.15.5",
|
|
@@ -859,11 +859,11 @@ checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
|
|
|
859
859
|
|
|
860
860
|
[[package]]
|
|
861
861
|
name = "io-uring"
|
|
862
|
-
version = "0.7.
|
|
862
|
+
version = "0.7.10"
|
|
863
863
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
864
|
-
checksum = "
|
|
864
|
+
checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
|
|
865
865
|
dependencies = [
|
|
866
|
-
"bitflags 2.9.
|
|
866
|
+
"bitflags 2.9.3",
|
|
867
867
|
"cfg-if",
|
|
868
868
|
"libc",
|
|
869
869
|
]
|
|
@@ -1013,9 +1013,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
|
|
1013
1013
|
|
|
1014
1014
|
[[package]]
|
|
1015
1015
|
name = "memmap2"
|
|
1016
|
-
version = "0.9.
|
|
1016
|
+
version = "0.9.8"
|
|
1017
1017
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1018
|
-
checksum = "
|
|
1018
|
+
checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7"
|
|
1019
1019
|
dependencies = [
|
|
1020
1020
|
"libc",
|
|
1021
1021
|
]
|
|
@@ -1280,7 +1280,7 @@ checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f"
|
|
|
1280
1280
|
dependencies = [
|
|
1281
1281
|
"bit-set",
|
|
1282
1282
|
"bit-vec",
|
|
1283
|
-
"bitflags 2.9.
|
|
1283
|
+
"bitflags 2.9.3",
|
|
1284
1284
|
"lazy_static",
|
|
1285
1285
|
"num-traits",
|
|
1286
1286
|
"rand",
|
|
@@ -1298,7 +1298,7 @@ version = "0.12.2"
|
|
|
1298
1298
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1299
1299
|
checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14"
|
|
1300
1300
|
dependencies = [
|
|
1301
|
-
"bitflags 2.9.
|
|
1301
|
+
"bitflags 2.9.3",
|
|
1302
1302
|
"getopts",
|
|
1303
1303
|
"memchr",
|
|
1304
1304
|
"pulldown-cmark-escape",
|
|
@@ -1459,7 +1459,7 @@ version = "0.5.17"
|
|
|
1459
1459
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1460
1460
|
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
|
|
1461
1461
|
dependencies = [
|
|
1462
|
-
"bitflags 2.9.
|
|
1462
|
+
"bitflags 2.9.3",
|
|
1463
1463
|
]
|
|
1464
1464
|
|
|
1465
1465
|
[[package]]
|
|
@@ -1493,7 +1493,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
|
1493
1493
|
|
|
1494
1494
|
[[package]]
|
|
1495
1495
|
name = "rumdl"
|
|
1496
|
-
version = "0.0.
|
|
1496
|
+
version = "0.0.125"
|
|
1497
1497
|
dependencies = [
|
|
1498
1498
|
"anyhow",
|
|
1499
1499
|
"assert_cmd",
|
|
@@ -1555,7 +1555,7 @@ version = "1.0.8"
|
|
|
1555
1555
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1556
1556
|
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
|
|
1557
1557
|
dependencies = [
|
|
1558
|
-
"bitflags 2.9.
|
|
1558
|
+
"bitflags 2.9.3",
|
|
1559
1559
|
"errno",
|
|
1560
1560
|
"libc",
|
|
1561
1561
|
"linux-raw-sys",
|
|
@@ -2421,9 +2421,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
|
|
2421
2421
|
|
|
2422
2422
|
[[package]]
|
|
2423
2423
|
name = "winnow"
|
|
2424
|
-
version = "0.7.
|
|
2424
|
+
version = "0.7.13"
|
|
2425
2425
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2426
|
-
checksum = "
|
|
2426
|
+
checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
|
|
2427
2427
|
dependencies = [
|
|
2428
2428
|
"memchr",
|
|
2429
2429
|
]
|
|
@@ -2434,7 +2434,7 @@ version = "0.39.0"
|
|
|
2434
2434
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2435
2435
|
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
|
|
2436
2436
|
dependencies = [
|
|
2437
|
-
"bitflags 2.9.
|
|
2437
|
+
"bitflags 2.9.3",
|
|
2438
2438
|
]
|
|
2439
2439
|
|
|
2440
2440
|
[[package]]
|
|
@@ -334,7 +334,7 @@ update-rust-version:
|
|
|
334
334
|
cargo check || (echo "Warning: cargo check failed. You may need to fix compatibility issues."; exit 1); \
|
|
335
335
|
fi
|
|
336
336
|
|
|
337
|
-
|
|
337
|
+
prepare-release:
|
|
338
338
|
@echo "Preparing for release..."
|
|
339
339
|
@echo "===================="
|
|
340
340
|
@$(MAKE) update-rust-version
|
|
@@ -354,6 +354,6 @@ pre-release:
|
|
|
354
354
|
@echo "Please review changes and commit if satisfied."
|
|
355
355
|
|
|
356
356
|
# Full release targets that include pre-release preparation
|
|
357
|
-
release-major-full:
|
|
358
|
-
release-minor-full:
|
|
359
|
-
release-patch-full:
|
|
357
|
+
release-major-full: prepare-release version-major version-push
|
|
358
|
+
release-minor-full: prepare-release version-minor version-push
|
|
359
|
+
release-patch-full: prepare-release version-patch version-push
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rumdl
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.125
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -55,8 +55,9 @@ cargo install rumdl
|
|
|
55
55
|
# Lint Markdown files in the current directory
|
|
56
56
|
rumdl check .
|
|
57
57
|
|
|
58
|
-
#
|
|
59
|
-
rumdl
|
|
58
|
+
# Format files (automatically fix issues)
|
|
59
|
+
rumdl fmt .
|
|
60
|
+
# Alternative: rumdl check --fix .
|
|
60
61
|
|
|
61
62
|
# Create a default configuration file
|
|
62
63
|
rumdl init
|
|
@@ -64,7 +65,7 @@ rumdl init
|
|
|
64
65
|
|
|
65
66
|
## Overview
|
|
66
67
|
|
|
67
|
-
rumdl is a high-performance Markdown linter and
|
|
68
|
+
rumdl is a high-performance Markdown linter and formatter that helps ensure consistency and best practices
|
|
68
69
|
in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting,
|
|
69
70
|
rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
|
|
70
71
|
|
|
@@ -72,7 +73,7 @@ It offers:
|
|
|
72
73
|
|
|
73
74
|
- ⚡️ **Built for speed** with Rust - significantly faster than alternatives
|
|
74
75
|
- 🔍 **54 lint rules** covering common Markdown issues
|
|
75
|
-
- 🛠️ **Automatic
|
|
76
|
+
- 🛠️ **Automatic formatting** with `--fix` for files and stdin/stdout
|
|
76
77
|
- 📦 **Zero dependencies** - single binary with no runtime requirements
|
|
77
78
|
- 🔧 **Highly configurable** with TOML-based config files
|
|
78
79
|
- 🌐 **Multiple installation options** - Rust, Python, standalone binaries
|
|
@@ -95,6 +96,8 @@ It offers:
|
|
|
95
96
|
- [Download binary](#download-binary)
|
|
96
97
|
- [VS Code Extension](#vs-code-extension)
|
|
97
98
|
- [Usage](#usage)
|
|
99
|
+
- [Stdin/Stdout Formatting](#stdinstdout-formatting)
|
|
100
|
+
- [Editor Integration](#editor-integration)
|
|
98
101
|
- [Pre-commit Integration](#pre-commit-integration)
|
|
99
102
|
- [CI/CD Integration](#cicd-integration)
|
|
100
103
|
- [GitHub Actions](#github-actions)
|
|
@@ -102,6 +105,7 @@ It offers:
|
|
|
102
105
|
- [Command-line Interface](#command-line-interface)
|
|
103
106
|
- [Commands](#commands)
|
|
104
107
|
- [`check [PATHS...]`](#check-paths)
|
|
108
|
+
- [`fmt [PATHS...]`](#fmt-paths)
|
|
105
109
|
- [`init [OPTIONS]`](#init-options)
|
|
106
110
|
- [`import <FILE> [OPTIONS]`](#import-file-options)
|
|
107
111
|
- [`rule [<rule>]`](#rule-rule)
|
|
@@ -213,8 +217,8 @@ rumdl check README.md
|
|
|
213
217
|
# Lint all Markdown files in current directory and subdirectories
|
|
214
218
|
rumdl check .
|
|
215
219
|
|
|
216
|
-
#
|
|
217
|
-
rumdl
|
|
220
|
+
# Format a specific file
|
|
221
|
+
rumdl fmt README.md
|
|
218
222
|
|
|
219
223
|
# Create a default configuration file
|
|
220
224
|
rumdl init
|
|
@@ -245,6 +249,38 @@ rumdl check --include "docs/**/*.md" --exclude "docs/temp,docs/drafts" .
|
|
|
245
249
|
rumdl check --respect-gitignore=false .
|
|
246
250
|
```
|
|
247
251
|
|
|
252
|
+
### Stdin/Stdout Formatting
|
|
253
|
+
|
|
254
|
+
rumdl supports formatting via stdin/stdout, making it ideal for editor integrations and CI pipelines:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Format content from stdin and output to stdout
|
|
258
|
+
cat README.md | rumdl fmt - > README_formatted.md
|
|
259
|
+
# Alternative: cat README.md | rumdl fmt --stdin > README_formatted.md
|
|
260
|
+
|
|
261
|
+
# Use in a pipeline
|
|
262
|
+
echo "# Title " | rumdl fmt -
|
|
263
|
+
# Output: # Title
|
|
264
|
+
|
|
265
|
+
# Format clipboard content (macOS example)
|
|
266
|
+
pbpaste | rumdl fmt - | pbcopy
|
|
267
|
+
|
|
268
|
+
# Provide filename context for better error messages (useful for editor integrations)
|
|
269
|
+
cat README.md | rumdl check - --stdin-filename README.md
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Editor Integration
|
|
273
|
+
|
|
274
|
+
For editor integration, use stdin/stdout mode with the `--quiet` flag to suppress diagnostic messages:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Format selection in editor (example for vim)
|
|
278
|
+
:'<,'>!rumdl fmt - --quiet
|
|
279
|
+
|
|
280
|
+
# Format entire buffer
|
|
281
|
+
:%!rumdl fmt - --quiet
|
|
282
|
+
```
|
|
283
|
+
|
|
248
284
|
## Pre-commit Integration
|
|
249
285
|
|
|
250
286
|
You can use `rumdl` as a pre-commit hook to check and fix your Markdown files.
|
|
@@ -337,6 +373,37 @@ Lint Markdown files and print warnings/errors (main subcommand)
|
|
|
337
373
|
- `-o, --output <format>`: Output format: `text` (default) or `json`
|
|
338
374
|
- `--stdin`: Read from stdin instead of files
|
|
339
375
|
|
|
376
|
+
#### `fmt [PATHS...]`
|
|
377
|
+
|
|
378
|
+
Format Markdown files (alias for `check --fix`)
|
|
379
|
+
|
|
380
|
+
**Arguments:**
|
|
381
|
+
|
|
382
|
+
- `[PATHS...]`: Files or directories to format. If provided, these paths take precedence over include patterns
|
|
383
|
+
|
|
384
|
+
**Options:**
|
|
385
|
+
|
|
386
|
+
All the same options as `check` are available (except `--fix` which is always enabled), including:
|
|
387
|
+
- `--stdin`: Format content from stdin and output to stdout
|
|
388
|
+
- `-d, --disable <rules>`: Disable specific rules during formatting
|
|
389
|
+
- `-e, --enable <rules>`: Format using only specific rules
|
|
390
|
+
- `--exclude/--include`: Control which files to format
|
|
391
|
+
- `-q, --quiet`: Suppress diagnostic output
|
|
392
|
+
|
|
393
|
+
**Examples:**
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
# Format all Markdown files in current directory
|
|
397
|
+
rumdl fmt
|
|
398
|
+
|
|
399
|
+
# Format specific file
|
|
400
|
+
rumdl fmt README.md
|
|
401
|
+
|
|
402
|
+
# Format from stdin (using dash syntax)
|
|
403
|
+
cat README.md | rumdl fmt - > formatted.md
|
|
404
|
+
# Alternative: cat README.md | rumdl fmt --stdin > formatted.md
|
|
405
|
+
```
|
|
406
|
+
|
|
340
407
|
#### `init [OPTIONS]`
|
|
341
408
|
|
|
342
409
|
Create a default configuration file in the current directory
|
|
@@ -428,8 +495,9 @@ This allows scripts and CI/CD systems to distinguish between "the tool found pro
|
|
|
428
495
|
# Lint all Markdown files in the current directory
|
|
429
496
|
rumdl check .
|
|
430
497
|
|
|
431
|
-
#
|
|
432
|
-
rumdl
|
|
498
|
+
# Format files (automatically fix issues)
|
|
499
|
+
rumdl fmt .
|
|
500
|
+
# Alternative: rumdl check --fix .
|
|
433
501
|
|
|
434
502
|
# Create a default configuration file
|
|
435
503
|
rumdl init
|
|
@@ -484,11 +552,33 @@ rumdl version
|
|
|
484
552
|
|
|
485
553
|
rumdl can be configured in several ways:
|
|
486
554
|
|
|
487
|
-
1. Using a `.rumdl.toml` file in your project directory
|
|
555
|
+
1. Using a `.rumdl.toml` file in your project directory or parent directories
|
|
488
556
|
2. Using the `[tool.rumdl]` section in your project's `pyproject.toml` file (for Python projects)
|
|
489
557
|
3. Using command-line arguments
|
|
490
558
|
4. **Automatic markdownlint compatibility**: rumdl automatically discovers and loads existing markdownlint config files (`.markdownlint.json`, `.markdownlint.yaml`, etc.)
|
|
491
559
|
|
|
560
|
+
### Configuration Discovery
|
|
561
|
+
|
|
562
|
+
rumdl automatically searches for configuration files by traversing up the directory tree from the current
|
|
563
|
+
working directory, similar to tools like `git`, `ruff`, and `eslint`. This means you can run rumdl from any
|
|
564
|
+
subdirectory of your project and it will find the configuration file at the project root.
|
|
565
|
+
|
|
566
|
+
The search follows these rules:
|
|
567
|
+
- Searches upward for `.rumdl.toml`, `rumdl.toml`, or `pyproject.toml` (with `[tool.rumdl]` section)
|
|
568
|
+
- Stops at the first configuration file found
|
|
569
|
+
- Stops searching when it encounters a `.git` directory (project boundary)
|
|
570
|
+
- Maximum traversal depth of 100 directories
|
|
571
|
+
|
|
572
|
+
To disable all configuration discovery and use only built-in defaults, use the `--isolated` flag:
|
|
573
|
+
|
|
574
|
+
```bash
|
|
575
|
+
# Use discovered configuration (default behavior)
|
|
576
|
+
rumdl check .
|
|
577
|
+
|
|
578
|
+
# Ignore all configuration files
|
|
579
|
+
rumdl check --isolated .
|
|
580
|
+
```
|
|
581
|
+
|
|
492
582
|
### Markdownlint Migration
|
|
493
583
|
|
|
494
584
|
rumdl provides seamless compatibility with existing markdownlint configurations:
|
|
@@ -660,7 +750,7 @@ README.md:24:5: [MD037] Spaces inside emphasis markers: "* incorrect *" [*]
|
|
|
660
750
|
README.md:42:3: [MD010] Hard tabs found, use spaces instead [*]
|
|
661
751
|
|
|
662
752
|
Found 3 issues in 1 file (2 files checked)
|
|
663
|
-
Run
|
|
753
|
+
Run `rumdl fmt` to automatically fix issues
|
|
664
754
|
```
|
|
665
755
|
|
|
666
756
|
### Output Format
|
|
@@ -26,8 +26,9 @@ cargo install rumdl
|
|
|
26
26
|
# Lint Markdown files in the current directory
|
|
27
27
|
rumdl check .
|
|
28
28
|
|
|
29
|
-
#
|
|
30
|
-
rumdl
|
|
29
|
+
# Format files (automatically fix issues)
|
|
30
|
+
rumdl fmt .
|
|
31
|
+
# Alternative: rumdl check --fix .
|
|
31
32
|
|
|
32
33
|
# Create a default configuration file
|
|
33
34
|
rumdl init
|
|
@@ -35,7 +36,7 @@ rumdl init
|
|
|
35
36
|
|
|
36
37
|
## Overview
|
|
37
38
|
|
|
38
|
-
rumdl is a high-performance Markdown linter and
|
|
39
|
+
rumdl is a high-performance Markdown linter and formatter that helps ensure consistency and best practices
|
|
39
40
|
in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting,
|
|
40
41
|
rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
|
|
41
42
|
|
|
@@ -43,7 +44,7 @@ It offers:
|
|
|
43
44
|
|
|
44
45
|
- ⚡️ **Built for speed** with Rust - significantly faster than alternatives
|
|
45
46
|
- 🔍 **54 lint rules** covering common Markdown issues
|
|
46
|
-
- 🛠️ **Automatic
|
|
47
|
+
- 🛠️ **Automatic formatting** with `--fix` for files and stdin/stdout
|
|
47
48
|
- 📦 **Zero dependencies** - single binary with no runtime requirements
|
|
48
49
|
- 🔧 **Highly configurable** with TOML-based config files
|
|
49
50
|
- 🌐 **Multiple installation options** - Rust, Python, standalone binaries
|
|
@@ -66,6 +67,8 @@ It offers:
|
|
|
66
67
|
- [Download binary](#download-binary)
|
|
67
68
|
- [VS Code Extension](#vs-code-extension)
|
|
68
69
|
- [Usage](#usage)
|
|
70
|
+
- [Stdin/Stdout Formatting](#stdinstdout-formatting)
|
|
71
|
+
- [Editor Integration](#editor-integration)
|
|
69
72
|
- [Pre-commit Integration](#pre-commit-integration)
|
|
70
73
|
- [CI/CD Integration](#cicd-integration)
|
|
71
74
|
- [GitHub Actions](#github-actions)
|
|
@@ -73,6 +76,7 @@ It offers:
|
|
|
73
76
|
- [Command-line Interface](#command-line-interface)
|
|
74
77
|
- [Commands](#commands)
|
|
75
78
|
- [`check [PATHS...]`](#check-paths)
|
|
79
|
+
- [`fmt [PATHS...]`](#fmt-paths)
|
|
76
80
|
- [`init [OPTIONS]`](#init-options)
|
|
77
81
|
- [`import <FILE> [OPTIONS]`](#import-file-options)
|
|
78
82
|
- [`rule [<rule>]`](#rule-rule)
|
|
@@ -184,8 +188,8 @@ rumdl check README.md
|
|
|
184
188
|
# Lint all Markdown files in current directory and subdirectories
|
|
185
189
|
rumdl check .
|
|
186
190
|
|
|
187
|
-
#
|
|
188
|
-
rumdl
|
|
191
|
+
# Format a specific file
|
|
192
|
+
rumdl fmt README.md
|
|
189
193
|
|
|
190
194
|
# Create a default configuration file
|
|
191
195
|
rumdl init
|
|
@@ -216,6 +220,38 @@ rumdl check --include "docs/**/*.md" --exclude "docs/temp,docs/drafts" .
|
|
|
216
220
|
rumdl check --respect-gitignore=false .
|
|
217
221
|
```
|
|
218
222
|
|
|
223
|
+
### Stdin/Stdout Formatting
|
|
224
|
+
|
|
225
|
+
rumdl supports formatting via stdin/stdout, making it ideal for editor integrations and CI pipelines:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Format content from stdin and output to stdout
|
|
229
|
+
cat README.md | rumdl fmt - > README_formatted.md
|
|
230
|
+
# Alternative: cat README.md | rumdl fmt --stdin > README_formatted.md
|
|
231
|
+
|
|
232
|
+
# Use in a pipeline
|
|
233
|
+
echo "# Title " | rumdl fmt -
|
|
234
|
+
# Output: # Title
|
|
235
|
+
|
|
236
|
+
# Format clipboard content (macOS example)
|
|
237
|
+
pbpaste | rumdl fmt - | pbcopy
|
|
238
|
+
|
|
239
|
+
# Provide filename context for better error messages (useful for editor integrations)
|
|
240
|
+
cat README.md | rumdl check - --stdin-filename README.md
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Editor Integration
|
|
244
|
+
|
|
245
|
+
For editor integration, use stdin/stdout mode with the `--quiet` flag to suppress diagnostic messages:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Format selection in editor (example for vim)
|
|
249
|
+
:'<,'>!rumdl fmt - --quiet
|
|
250
|
+
|
|
251
|
+
# Format entire buffer
|
|
252
|
+
:%!rumdl fmt - --quiet
|
|
253
|
+
```
|
|
254
|
+
|
|
219
255
|
## Pre-commit Integration
|
|
220
256
|
|
|
221
257
|
You can use `rumdl` as a pre-commit hook to check and fix your Markdown files.
|
|
@@ -308,6 +344,37 @@ Lint Markdown files and print warnings/errors (main subcommand)
|
|
|
308
344
|
- `-o, --output <format>`: Output format: `text` (default) or `json`
|
|
309
345
|
- `--stdin`: Read from stdin instead of files
|
|
310
346
|
|
|
347
|
+
#### `fmt [PATHS...]`
|
|
348
|
+
|
|
349
|
+
Format Markdown files (alias for `check --fix`)
|
|
350
|
+
|
|
351
|
+
**Arguments:**
|
|
352
|
+
|
|
353
|
+
- `[PATHS...]`: Files or directories to format. If provided, these paths take precedence over include patterns
|
|
354
|
+
|
|
355
|
+
**Options:**
|
|
356
|
+
|
|
357
|
+
All the same options as `check` are available (except `--fix` which is always enabled), including:
|
|
358
|
+
- `--stdin`: Format content from stdin and output to stdout
|
|
359
|
+
- `-d, --disable <rules>`: Disable specific rules during formatting
|
|
360
|
+
- `-e, --enable <rules>`: Format using only specific rules
|
|
361
|
+
- `--exclude/--include`: Control which files to format
|
|
362
|
+
- `-q, --quiet`: Suppress diagnostic output
|
|
363
|
+
|
|
364
|
+
**Examples:**
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Format all Markdown files in current directory
|
|
368
|
+
rumdl fmt
|
|
369
|
+
|
|
370
|
+
# Format specific file
|
|
371
|
+
rumdl fmt README.md
|
|
372
|
+
|
|
373
|
+
# Format from stdin (using dash syntax)
|
|
374
|
+
cat README.md | rumdl fmt - > formatted.md
|
|
375
|
+
# Alternative: cat README.md | rumdl fmt --stdin > formatted.md
|
|
376
|
+
```
|
|
377
|
+
|
|
311
378
|
#### `init [OPTIONS]`
|
|
312
379
|
|
|
313
380
|
Create a default configuration file in the current directory
|
|
@@ -399,8 +466,9 @@ This allows scripts and CI/CD systems to distinguish between "the tool found pro
|
|
|
399
466
|
# Lint all Markdown files in the current directory
|
|
400
467
|
rumdl check .
|
|
401
468
|
|
|
402
|
-
#
|
|
403
|
-
rumdl
|
|
469
|
+
# Format files (automatically fix issues)
|
|
470
|
+
rumdl fmt .
|
|
471
|
+
# Alternative: rumdl check --fix .
|
|
404
472
|
|
|
405
473
|
# Create a default configuration file
|
|
406
474
|
rumdl init
|
|
@@ -455,11 +523,33 @@ rumdl version
|
|
|
455
523
|
|
|
456
524
|
rumdl can be configured in several ways:
|
|
457
525
|
|
|
458
|
-
1. Using a `.rumdl.toml` file in your project directory
|
|
526
|
+
1. Using a `.rumdl.toml` file in your project directory or parent directories
|
|
459
527
|
2. Using the `[tool.rumdl]` section in your project's `pyproject.toml` file (for Python projects)
|
|
460
528
|
3. Using command-line arguments
|
|
461
529
|
4. **Automatic markdownlint compatibility**: rumdl automatically discovers and loads existing markdownlint config files (`.markdownlint.json`, `.markdownlint.yaml`, etc.)
|
|
462
530
|
|
|
531
|
+
### Configuration Discovery
|
|
532
|
+
|
|
533
|
+
rumdl automatically searches for configuration files by traversing up the directory tree from the current
|
|
534
|
+
working directory, similar to tools like `git`, `ruff`, and `eslint`. This means you can run rumdl from any
|
|
535
|
+
subdirectory of your project and it will find the configuration file at the project root.
|
|
536
|
+
|
|
537
|
+
The search follows these rules:
|
|
538
|
+
- Searches upward for `.rumdl.toml`, `rumdl.toml`, or `pyproject.toml` (with `[tool.rumdl]` section)
|
|
539
|
+
- Stops at the first configuration file found
|
|
540
|
+
- Stops searching when it encounters a `.git` directory (project boundary)
|
|
541
|
+
- Maximum traversal depth of 100 directories
|
|
542
|
+
|
|
543
|
+
To disable all configuration discovery and use only built-in defaults, use the `--isolated` flag:
|
|
544
|
+
|
|
545
|
+
```bash
|
|
546
|
+
# Use discovered configuration (default behavior)
|
|
547
|
+
rumdl check .
|
|
548
|
+
|
|
549
|
+
# Ignore all configuration files
|
|
550
|
+
rumdl check --isolated .
|
|
551
|
+
```
|
|
552
|
+
|
|
463
553
|
### Markdownlint Migration
|
|
464
554
|
|
|
465
555
|
rumdl provides seamless compatibility with existing markdownlint configurations:
|
|
@@ -631,7 +721,7 @@ README.md:24:5: [MD037] Spaces inside emphasis markers: "* incorrect *" [*]
|
|
|
631
721
|
README.md:42:3: [MD010] Hard tabs found, use spaces instead [*]
|
|
632
722
|
|
|
633
723
|
Found 3 issues in 1 file (2 files checked)
|
|
634
|
-
Run
|
|
724
|
+
Run `rumdl fmt` to automatically fix issues
|
|
635
725
|
```
|
|
636
726
|
|
|
637
727
|
### Output Format
|