rumdl 0.0.83__tar.gz → 0.0.85__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.85/.config/nextest.toml +46 -0
- rumdl-0.0.85/.mise.toml +107 -0
- rumdl-0.0.85/CHANGELOG.md +67 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/Cargo.lock +34 -64
- {rumdl-0.0.83 → rumdl-0.0.85}/Cargo.toml +2 -1
- {rumdl-0.0.83 → rumdl-0.0.85}/Makefile +85 -5
- {rumdl-0.0.83 → rumdl-0.0.85}/PKG-INFO +1 -1
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md051.md +4 -1
- rumdl-0.0.85/rust-toolchain.toml +10 -0
- rumdl-0.0.85/scripts/extract-changelog.sh +17 -0
- rumdl-0.0.85/scripts/prepare-release.sh +68 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/lib.rs +5 -1
- rumdl-0.0.85/src/lint_context.rs +1705 -0
- rumdl-0.0.85/src/rule_config.rs +45 -0
- rumdl-0.0.85/src/rule_config_serde.rs +86 -0
- rumdl-0.0.85/src/rules/md001_heading_increment.rs +223 -0
- rumdl-0.0.85/src/rules/md002_first_heading_h1/md002_config.rs +27 -0
- rumdl-0.0.85/src/rules/md002_first_heading_h1.rs +294 -0
- rumdl-0.0.85/src/rules/md003_heading_style/md003_config.rs +44 -0
- rumdl-0.0.85/src/rules/md003_heading_style.rs +363 -0
- rumdl-0.0.85/src/rules/md004_unordered_list_style/md004_config.rs +76 -0
- rumdl-0.0.85/src/rules/md004_unordered_list_style.rs +338 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md005_list_indent.rs +21 -90
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md006_start_bullets.rs +104 -8
- rumdl-0.0.85/src/rules/md007_ul_indent/md007_config.rs +27 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md007_ul_indent.rs +33 -14
- rumdl-0.0.85/src/rules/md009_trailing_spaces/md009_config.rs +32 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md009_trailing_spaces.rs +46 -46
- rumdl-0.0.85/src/rules/md010_no_hard_tabs/md010_config.rs +36 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md010_no_hard_tabs.rs +37 -29
- rumdl-0.0.85/src/rules/md012_no_multiple_blanks/md012_config.rs +27 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md012_no_multiple_blanks.rs +39 -21
- rumdl-0.0.85/src/rules/md013_line_length/md013_config.rs +59 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md013_line_length.rs +48 -66
- rumdl-0.0.85/src/rules/md014_commands_show_output/md014_config.rs +27 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md014_commands_show_output.rs +31 -14
- rumdl-0.0.85/src/rules/md018_no_missing_space_atx.rs +377 -0
- rumdl-0.0.85/src/rules/md019_no_multiple_space_atx.rs +202 -0
- rumdl-0.0.85/src/rules/md020_no_missing_space_closed_atx.rs +255 -0
- rumdl-0.0.85/src/rules/md021_no_multiple_space_closed_atx.rs +239 -0
- rumdl-0.0.85/src/rules/md022_blanks_around_headings/md022_config.rs +45 -0
- rumdl-0.0.85/src/rules/md022_blanks_around_headings.rs +830 -0
- rumdl-0.0.85/src/rules/md023_heading_start_left.rs +245 -0
- rumdl-0.0.85/src/rules/md024_no_duplicate_heading/md024_config.rs +28 -0
- rumdl-0.0.85/src/rules/md024_no_duplicate_heading.rs +172 -0
- rumdl-0.0.85/src/rules/md025_single_title/md025_config.rs +49 -0
- rumdl-0.0.85/src/rules/md025_single_title.rs +618 -0
- rumdl-0.0.85/src/rules/md026_no_trailing_punctuation/md026_config.rs +24 -0
- rumdl-0.0.85/src/rules/md026_no_trailing_punctuation.rs +412 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md027_multiple_spaces_blockquote.rs +55 -55
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md028_no_blanks_blockquote.rs +50 -45
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md029_ordered_list_prefix.rs +1 -0
- rumdl-0.0.85/src/rules/md030_list_marker_space/md030_config.rs +42 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md030_list_marker_space.rs +113 -114
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md032_blanks_around_lists.rs +140 -220
- rumdl-0.0.85/src/rules/md033_no_inline_html/md033_config.rs +28 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md033_no_inline_html.rs +25 -26
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md034_no_bare_urls.rs +11 -21
- rumdl-0.0.85/src/rules/md035_hr_style/md035_config.rs +28 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md035_hr_style.rs +17 -8
- rumdl-0.0.85/src/rules/md036_no_emphasis_only_first/md036_config.rs +29 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md036_no_emphasis_only_first.rs +23 -8
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md038_no_space_in_code.rs +45 -144
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md039_no_space_in_links.rs +165 -111
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md041_first_line_heading.rs +99 -39
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md042_no_empty_links.rs +62 -40
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md043_required_headings.rs +60 -265
- rumdl-0.0.85/src/rules/md044_proper_names/md044_config.rs +28 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md044_proper_names.rs +104 -81
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md045_no_alt_text.rs +26 -51
- rumdl-0.0.85/src/rules/md046_code_block_style/md046_config.rs +46 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md046_code_block_style.rs +23 -22
- rumdl-0.0.85/src/rules/md048_code_fence_style/md048_config.rs +46 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md048_code_fence_style.rs +22 -21
- rumdl-0.0.85/src/rules/md049_emphasis_style/md049_config.rs +41 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md049_emphasis_style.rs +20 -19
- rumdl-0.0.85/src/rules/md050_strong_style/md050_config.rs +46 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md050_strong_style.rs +23 -22
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md051_link_fragments.rs +162 -132
- rumdl-0.0.85/src/rules/md052_reference_links_images.rs +300 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md053_link_image_reference_definitions.rs +15 -20
- rumdl-0.0.85/src/rules/md054_link_image_style/md054_config.rs +40 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md054_link_image_style.rs +34 -67
- rumdl-0.0.85/src/rules/md055_table_pipe_style/md055_config.rs +55 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md055_table_pipe_style.rs +23 -33
- rumdl-0.0.85/src/rules/md057_existing_relative_links/md057_config.rs +25 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md057_existing_relative_links.rs +22 -24
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/ast_utils.rs +3 -4
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/advanced_integration_tests.rs +1 -1
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/additional_tests.rs +3 -3
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/mod.rs +1 -1
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md002_test.rs +2 -23
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md023_extended_test.rs +9 -7
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md030_test.rs +6 -3
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md042_test.rs +40 -6
- rumdl-0.0.85/tests/rules/md051_test.rs +1128 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/vscode_extension_fixes.rs +3 -2
- rumdl-0.0.83/src/lint_context.rs +0 -200
- rumdl-0.0.83/src/rules/md001_heading_increment.rs +0 -309
- rumdl-0.0.83/src/rules/md002_first_heading_h1.rs +0 -407
- rumdl-0.0.83/src/rules/md003_heading_style.rs +0 -539
- rumdl-0.0.83/src/rules/md004_unordered_list_style.rs +0 -388
- rumdl-0.0.83/src/rules/md018_no_missing_space_atx.rs +0 -479
- rumdl-0.0.83/src/rules/md019_no_multiple_space_atx.rs +0 -232
- rumdl-0.0.83/src/rules/md020_no_missing_space_closed_atx.rs +0 -298
- rumdl-0.0.83/src/rules/md021_no_multiple_space_closed_atx.rs +0 -259
- rumdl-0.0.83/src/rules/md022_blanks_around_headings.rs +0 -1291
- rumdl-0.0.83/src/rules/md023_heading_start_left.rs +0 -459
- rumdl-0.0.83/src/rules/md024_no_duplicate_heading.rs +0 -201
- rumdl-0.0.83/src/rules/md025_single_title.rs +0 -620
- rumdl-0.0.83/src/rules/md026_no_trailing_punctuation.rs +0 -616
- rumdl-0.0.83/src/rules/md052_reference_links_images.rs +0 -363
- rumdl-0.0.83/tests/rules/md051_test.rs +0 -562
- {rumdl-0.0.83 → rumdl-0.0.85}/.rumdl.toml +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/MANIFEST.in +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/README.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/assets/logo.png +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/benches/fix_performance.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/benches/range_performance.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/benches/range_utils_benchmark.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/benches/rule_performance.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/benches/simple_fix_bench.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/RULES.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/global-settings.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md001.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md002.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md003.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md004.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md005.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md006.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md007.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md009.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md010.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md011.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md012.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md013.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md014.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md018.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md019.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md020.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md021.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md022.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md023.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md024.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md025.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md026.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md027.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md028.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md029.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md030.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md031.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md032.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md033.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md034.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md035.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md036.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md037.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md038.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md039.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md040.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md041.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md042.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md043.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md044.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md045.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md046.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md047.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md048.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md049.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md050.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md052.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md053.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md054.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md055.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md056.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md057.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/docs/md058.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/issues/plan-rule-parity-with-markdownlint.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/parity_check.py +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/pyproject.toml +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/python/MANIFEST.in +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/python/PYTHON-README.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/python/rumdl/__init__.py +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/python/rumdl/__main__.py +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/python/rumdl/py.typed +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/rumdl.toml.example +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/config.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/init.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/lsp/mod.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/lsp/server.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/lsp/types.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/main.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/markdownlint_config.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/parallel.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/performance.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/profiling.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/python.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rule.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/blockquote_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/code_block_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/code_fence_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/emphasis_style.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/front_matter_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/heading_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/list_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md011_no_reversed_links.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md031_blanks_around_fences.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md037_spaces_around_emphasis.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md040_fenced_code_language.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md047_single_trailing_newline.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md056_table_column_count.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/md058_blanks_around_tables.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/mod.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/rules/strong_style.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/code_block_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/document_structure.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/early_returns.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/element_cache.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/fix_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/markdown_elements.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/mod.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/range_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/regex_cache.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/string_interner.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/src/utils/table_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/basic_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/comprehensive_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/extended_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/character_ranges/unicode_utils.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/cli_duplication_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/cli_integration_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/cli_lsp_fix_consistency.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/commonmark_compliance_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/comprehensive_integration_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/config_application_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/config_file_command_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/config_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/configuration_inheritance_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/consistency_regression_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/cross_platform_compatibility_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/final_confidence_assessment.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/init_command_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/init_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/integration_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/json_output_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/lib.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/lsp_editor_integration_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/lsp_integration_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/lsp_memory_leak_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/lsp_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/malformed_markdown_stress_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/markdownlint_cli_integration.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/markdownlint_config_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/md030_edge_cases.md +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/output_format_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/perf_check.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/performance_validation_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/pyproject_config_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/real_world_repository_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/regression_prevention_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md001_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md001_unicode_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md003_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md004_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md005_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md006_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md006_unicode_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md007_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md009_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md010_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md011_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md012_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md013_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md014_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md018_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md019_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md020_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md021_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md022_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md023_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md024_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md025_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md026_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md027_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md028_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md029_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md031_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md032_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md033_extended_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md033_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md034_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md035_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md036_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md037_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md038_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md039_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md040_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md041_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md043_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md044_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md045_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md046_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md047_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md048_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md049_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md050_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md052_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md053_additional_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md053_proptest.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md053_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md054_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md054_unicode_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md055_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md056_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md057_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/md058_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/rules/mod.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/thread_safety_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/unicode_edge_case_tests.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/blockquote_utils_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/code_block_utils_extended_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/code_block_utils_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/core_utils_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/front_matter_utils_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/line_index_test.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils/mod.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils_markdown_edge_cases.rs +0 -0
- {rumdl-0.0.83 → rumdl-0.0.85}/tests/utils_tests.rs +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Nextest configuration
|
|
2
|
+
# https://nexte.st/book/configuration
|
|
3
|
+
|
|
4
|
+
[profile.default]
|
|
5
|
+
# Detect flaky tests and retry them
|
|
6
|
+
retries = { backoff = "exponential", count = 2, delay = "1s", max-delay = "10s" }
|
|
7
|
+
|
|
8
|
+
# Run tests with 2x the number of CPUs
|
|
9
|
+
test-threads = "num-cpus"
|
|
10
|
+
|
|
11
|
+
# Fail fast on first failure in CI
|
|
12
|
+
fail-fast = false
|
|
13
|
+
|
|
14
|
+
# Show failed tests immediately
|
|
15
|
+
failure-output = "immediate"
|
|
16
|
+
|
|
17
|
+
# Show successful tests at the end
|
|
18
|
+
success-output = "final"
|
|
19
|
+
|
|
20
|
+
# Status output level
|
|
21
|
+
status-level = "pass"
|
|
22
|
+
|
|
23
|
+
[profile.ci]
|
|
24
|
+
|
|
25
|
+
# More conservative in CI
|
|
26
|
+
test-threads = "num-cpus"
|
|
27
|
+
|
|
28
|
+
# Always show all output in CI
|
|
29
|
+
failure-output = "immediate"
|
|
30
|
+
success-output = "immediate"
|
|
31
|
+
status-level = "all"
|
|
32
|
+
|
|
33
|
+
# No retries in CI to catch flaky tests
|
|
34
|
+
retries = 0
|
|
35
|
+
|
|
36
|
+
# Quick profile for development
|
|
37
|
+
[profile.quick]
|
|
38
|
+
|
|
39
|
+
# Skip slow tests
|
|
40
|
+
default-filter = 'not test(/memory/) and not test(/stress/) and not test(/large/)'
|
|
41
|
+
|
|
42
|
+
# Even more parallel execution locally
|
|
43
|
+
test-threads = "num-cpus"
|
|
44
|
+
|
|
45
|
+
# Less verbose output
|
|
46
|
+
status-level = "fail"
|
rumdl-0.0.85/.mise.toml
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# mise configuration for rumdl development environment
|
|
2
|
+
# This file manages development tools and their versions
|
|
3
|
+
|
|
4
|
+
[env]
|
|
5
|
+
# Environment variables for the project
|
|
6
|
+
RUST_BACKTRACE = "1"
|
|
7
|
+
|
|
8
|
+
[tools]
|
|
9
|
+
# Rust toolchain - version matches rust-toolchain.toml
|
|
10
|
+
rust = "1.87.0"
|
|
11
|
+
|
|
12
|
+
# Python for maturin/python bindings
|
|
13
|
+
python = "3.12"
|
|
14
|
+
|
|
15
|
+
# UV - Fast Python package and tool manager
|
|
16
|
+
uv = "latest"
|
|
17
|
+
|
|
18
|
+
# Development tools installed via cargo
|
|
19
|
+
"cargo:cargo-nextest" = "latest"
|
|
20
|
+
"cargo:cargo-watch" = "latest"
|
|
21
|
+
"cargo:maturin" = "latest"
|
|
22
|
+
"cargo:cargo-binstall" = "latest"
|
|
23
|
+
|
|
24
|
+
# Zig for cross-compilation (used by maturin)
|
|
25
|
+
zig = "0.13"
|
|
26
|
+
|
|
27
|
+
# Optional: Additional useful Rust development tools
|
|
28
|
+
# Uncomment to enable
|
|
29
|
+
# "cargo:cargo-edit" = "latest" # For cargo add/rm/upgrade commands
|
|
30
|
+
# "cargo:cargo-outdated" = "latest" # Check for outdated dependencies
|
|
31
|
+
# "cargo:cargo-audit" = "latest" # Security audit dependencies
|
|
32
|
+
# "cargo:cargo-deny" = "latest" # Lint dependencies
|
|
33
|
+
|
|
34
|
+
# Note: Python packages like maturin, cffi, and twine are installed
|
|
35
|
+
# separately. maturin is already installed via cargo above.
|
|
36
|
+
|
|
37
|
+
[settings]
|
|
38
|
+
# Use cargo-binstall when available for faster installations
|
|
39
|
+
cargo_binstall = true
|
|
40
|
+
|
|
41
|
+
# Experimental features
|
|
42
|
+
experimental = true
|
|
43
|
+
|
|
44
|
+
# Enable idiomatic version files (like rust-toolchain.toml)
|
|
45
|
+
idiomatic_version_file_enable_tools = ["rust"]
|
|
46
|
+
|
|
47
|
+
# Configure rust/cargo homes if you want isolation from system rust
|
|
48
|
+
# rust_cache_dir = "./.mise/rust"
|
|
49
|
+
# cargo_home = "./.mise/cargo"
|
|
50
|
+
|
|
51
|
+
[tasks.setup]
|
|
52
|
+
description = "Set up the complete development environment"
|
|
53
|
+
run = """
|
|
54
|
+
echo "Setting up rumdl development environment..."
|
|
55
|
+
echo "Installing Rust toolchain and tools..."
|
|
56
|
+
mise install
|
|
57
|
+
echo "Installing Python tools with uv..."
|
|
58
|
+
uv tool install twine
|
|
59
|
+
echo "Development environment setup complete!"
|
|
60
|
+
echo ""
|
|
61
|
+
echo "Installed tools:"
|
|
62
|
+
mise list
|
|
63
|
+
echo ""
|
|
64
|
+
echo "Python tools:"
|
|
65
|
+
uv tool list
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
[tasks.verify]
|
|
69
|
+
description = "Verify all tools are installed correctly"
|
|
70
|
+
run = """
|
|
71
|
+
echo "Verifying development environment..."
|
|
72
|
+
echo "Rust version: $(rustc --version)"
|
|
73
|
+
echo "Cargo version: $(cargo --version)"
|
|
74
|
+
echo "Python version: $(python --version)"
|
|
75
|
+
echo "cargo-nextest version: $(cargo nextest --version)"
|
|
76
|
+
echo "maturin version: $(maturin --version)"
|
|
77
|
+
echo ""
|
|
78
|
+
echo "Running quick test to verify setup..."
|
|
79
|
+
make test-quick
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
[tasks.ci]
|
|
83
|
+
description = "Run CI checks"
|
|
84
|
+
run = """
|
|
85
|
+
echo "Running CI checks..."
|
|
86
|
+
make fmt
|
|
87
|
+
make lint
|
|
88
|
+
make test-quick
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
# CI environment variables (set these in CI workflow)
|
|
92
|
+
# Example for GitHub Actions:
|
|
93
|
+
# env:
|
|
94
|
+
# RUST_BACKTRACE: "full"
|
|
95
|
+
# CARGO_INCREMENTAL: "0"
|
|
96
|
+
# CARGO_NET_RETRY: "10"
|
|
97
|
+
# RUSTFLAGS: "-D warnings"
|
|
98
|
+
|
|
99
|
+
# Platform-specific tool versions (optional)
|
|
100
|
+
# [tools.linux]
|
|
101
|
+
# rust = "1.87.0"
|
|
102
|
+
#
|
|
103
|
+
# [tools.macos]
|
|
104
|
+
# rust = "1.87.0"
|
|
105
|
+
#
|
|
106
|
+
# [tools.windows]
|
|
107
|
+
# rust = "1.87.0"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.0.85] - 2025-06-11
|
|
11
|
+
|
|
12
|
+
## [0.0.84] - 2025-06-10
|
|
13
|
+
|
|
14
|
+
## [0.0.84] - 2025-06-10
|
|
15
|
+
|
|
16
|
+
## [0.0.84] - 2025-06-10
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
- Type-safe serde-based configuration system for all 24 configurable rules
|
|
20
|
+
- Dedicated config modules for each rule with compile-time validation
|
|
21
|
+
- Full IDE support with autocomplete for configuration options
|
|
22
|
+
- Centralized utilities for common parsing patterns
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- **BREAKING**: Internal configuration structure refactored (external API unchanged)
|
|
26
|
+
- Migrated all rules from manual TOML parsing to serde deserialization
|
|
27
|
+
- Improved performance through centralized parsing for:
|
|
28
|
+
- Link and URL detection
|
|
29
|
+
- Code span identification
|
|
30
|
+
- List item processing
|
|
31
|
+
- Block element detection
|
|
32
|
+
- Pre-computed line information for better performance
|
|
33
|
+
- ~40% reduction in configuration boilerplate code
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
- MD030: Correct handling of tab characters in list items
|
|
37
|
+
|
|
38
|
+
### Performance
|
|
39
|
+
- Significant performance improvements across multiple rules through:
|
|
40
|
+
- Centralized regex compilation and caching
|
|
41
|
+
- Reduced redundant parsing operations
|
|
42
|
+
- More efficient text processing algorithms
|
|
43
|
+
- Optimized pattern matching for MD044
|
|
44
|
+
|
|
45
|
+
## [0.0.83] - 2025-06-07
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
- Various bug fixes and performance improvements
|
|
49
|
+
|
|
50
|
+
## [0.0.82] - 2025-06-06
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
- Various bug fixes and stability improvements
|
|
54
|
+
|
|
55
|
+
## [0.0.81] - 2025-06-04
|
|
56
|
+
|
|
57
|
+
### Added
|
|
58
|
+
- Initial implementation of remaining rules for markdownlint parity
|
|
59
|
+
|
|
60
|
+
[Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.85...HEAD
|
|
61
|
+
[0.0.85]: https://github.com/rvben/rumdl/compare/v0.0.84...v0.0.85
|
|
62
|
+
[0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
|
|
63
|
+
[0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
|
|
64
|
+
[0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
|
|
65
|
+
[0.0.83]: https://github.com/rvben/rumdl/compare/v0.0.82...v0.0.83
|
|
66
|
+
[0.0.82]: https://github.com/rvben/rumdl/compare/v0.0.81...v0.0.82
|
|
67
|
+
[0.0.81]: https://github.com/rvben/rumdl/releases/tag/v0.0.81
|
|
@@ -13,9 +13,9 @@ dependencies = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "adler2"
|
|
16
|
-
version = "2.0.
|
|
16
|
+
version = "2.0.1"
|
|
17
17
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
-
checksum = "
|
|
18
|
+
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
|
|
19
19
|
|
|
20
20
|
[[package]]
|
|
21
21
|
name = "aho-corasick"
|
|
@@ -253,9 +253,9 @@ dependencies = [
|
|
|
253
253
|
|
|
254
254
|
[[package]]
|
|
255
255
|
name = "cfg-if"
|
|
256
|
-
version = "1.0.
|
|
256
|
+
version = "1.0.1"
|
|
257
257
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
258
|
-
checksum = "
|
|
258
|
+
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
|
|
259
259
|
|
|
260
260
|
[[package]]
|
|
261
261
|
name = "chrono"
|
|
@@ -301,9 +301,9 @@ dependencies = [
|
|
|
301
301
|
|
|
302
302
|
[[package]]
|
|
303
303
|
name = "clap"
|
|
304
|
-
version = "4.5.
|
|
304
|
+
version = "4.5.40"
|
|
305
305
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
306
|
-
checksum = "
|
|
306
|
+
checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
|
|
307
307
|
dependencies = [
|
|
308
308
|
"clap_builder",
|
|
309
309
|
"clap_derive",
|
|
@@ -311,9 +311,9 @@ dependencies = [
|
|
|
311
311
|
|
|
312
312
|
[[package]]
|
|
313
313
|
name = "clap_builder"
|
|
314
|
-
version = "4.5.
|
|
314
|
+
version = "4.5.40"
|
|
315
315
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
316
|
-
checksum = "
|
|
316
|
+
checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
|
|
317
317
|
dependencies = [
|
|
318
318
|
"anstream",
|
|
319
319
|
"anstyle",
|
|
@@ -323,9 +323,9 @@ dependencies = [
|
|
|
323
323
|
|
|
324
324
|
[[package]]
|
|
325
325
|
name = "clap_derive"
|
|
326
|
-
version = "4.5.
|
|
326
|
+
version = "4.5.40"
|
|
327
327
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
328
|
-
checksum = "
|
|
328
|
+
checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce"
|
|
329
329
|
dependencies = [
|
|
330
330
|
"heck",
|
|
331
331
|
"proc-macro2",
|
|
@@ -335,9 +335,9 @@ dependencies = [
|
|
|
335
335
|
|
|
336
336
|
[[package]]
|
|
337
337
|
name = "clap_lex"
|
|
338
|
-
version = "0.7.
|
|
338
|
+
version = "0.7.5"
|
|
339
339
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
340
|
-
checksum = "
|
|
340
|
+
checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
|
|
341
341
|
|
|
342
342
|
[[package]]
|
|
343
343
|
name = "colorchoice"
|
|
@@ -1231,9 +1231,9 @@ dependencies = [
|
|
|
1231
1231
|
|
|
1232
1232
|
[[package]]
|
|
1233
1233
|
name = "miniz_oxide"
|
|
1234
|
-
version = "0.8.
|
|
1234
|
+
version = "0.8.9"
|
|
1235
1235
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1236
|
-
checksum = "
|
|
1236
|
+
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
|
|
1237
1237
|
dependencies = [
|
|
1238
1238
|
"adler2",
|
|
1239
1239
|
]
|
|
@@ -1541,17 +1541,17 @@ dependencies = [
|
|
|
1541
1541
|
|
|
1542
1542
|
[[package]]
|
|
1543
1543
|
name = "proptest"
|
|
1544
|
-
version = "1.
|
|
1544
|
+
version = "1.7.0"
|
|
1545
1545
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1546
|
-
checksum = "
|
|
1546
|
+
checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f"
|
|
1547
1547
|
dependencies = [
|
|
1548
1548
|
"bit-set",
|
|
1549
1549
|
"bit-vec",
|
|
1550
1550
|
"bitflags 2.9.1",
|
|
1551
1551
|
"lazy_static",
|
|
1552
1552
|
"num-traits",
|
|
1553
|
-
"rand
|
|
1554
|
-
"rand_chacha
|
|
1553
|
+
"rand",
|
|
1554
|
+
"rand_chacha",
|
|
1555
1555
|
"rand_xorshift",
|
|
1556
1556
|
"regex-syntax",
|
|
1557
1557
|
"rusty-fork",
|
|
@@ -1643,35 +1643,14 @@ version = "5.2.0"
|
|
|
1643
1643
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1644
1644
|
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
|
|
1645
1645
|
|
|
1646
|
-
[[package]]
|
|
1647
|
-
name = "rand"
|
|
1648
|
-
version = "0.8.5"
|
|
1649
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1650
|
-
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
|
1651
|
-
dependencies = [
|
|
1652
|
-
"libc",
|
|
1653
|
-
"rand_chacha 0.3.1",
|
|
1654
|
-
"rand_core 0.6.4",
|
|
1655
|
-
]
|
|
1656
|
-
|
|
1657
1646
|
[[package]]
|
|
1658
1647
|
name = "rand"
|
|
1659
1648
|
version = "0.9.1"
|
|
1660
1649
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1661
1650
|
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
|
|
1662
1651
|
dependencies = [
|
|
1663
|
-
"rand_chacha
|
|
1664
|
-
"rand_core
|
|
1665
|
-
]
|
|
1666
|
-
|
|
1667
|
-
[[package]]
|
|
1668
|
-
name = "rand_chacha"
|
|
1669
|
-
version = "0.3.1"
|
|
1670
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1671
|
-
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
|
1672
|
-
dependencies = [
|
|
1673
|
-
"ppv-lite86",
|
|
1674
|
-
"rand_core 0.6.4",
|
|
1652
|
+
"rand_chacha",
|
|
1653
|
+
"rand_core",
|
|
1675
1654
|
]
|
|
1676
1655
|
|
|
1677
1656
|
[[package]]
|
|
@@ -1681,16 +1660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
1681
1660
|
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
|
|
1682
1661
|
dependencies = [
|
|
1683
1662
|
"ppv-lite86",
|
|
1684
|
-
"rand_core
|
|
1685
|
-
]
|
|
1686
|
-
|
|
1687
|
-
[[package]]
|
|
1688
|
-
name = "rand_core"
|
|
1689
|
-
version = "0.6.4"
|
|
1690
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1691
|
-
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
|
1692
|
-
dependencies = [
|
|
1693
|
-
"getrandom 0.2.16",
|
|
1663
|
+
"rand_core",
|
|
1694
1664
|
]
|
|
1695
1665
|
|
|
1696
1666
|
[[package]]
|
|
@@ -1704,11 +1674,11 @@ dependencies = [
|
|
|
1704
1674
|
|
|
1705
1675
|
[[package]]
|
|
1706
1676
|
name = "rand_xorshift"
|
|
1707
|
-
version = "0.
|
|
1677
|
+
version = "0.4.0"
|
|
1708
1678
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1709
|
-
checksum = "
|
|
1679
|
+
checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a"
|
|
1710
1680
|
dependencies = [
|
|
1711
|
-
"rand_core
|
|
1681
|
+
"rand_core",
|
|
1712
1682
|
]
|
|
1713
1683
|
|
|
1714
1684
|
[[package]]
|
|
@@ -1783,7 +1753,7 @@ dependencies = [
|
|
|
1783
1753
|
|
|
1784
1754
|
[[package]]
|
|
1785
1755
|
name = "rumdl"
|
|
1786
|
-
version = "0.0.
|
|
1756
|
+
version = "0.0.85"
|
|
1787
1757
|
dependencies = [
|
|
1788
1758
|
"anyhow",
|
|
1789
1759
|
"assert_cmd",
|
|
@@ -1812,7 +1782,7 @@ dependencies = [
|
|
|
1812
1782
|
"pretty_assertions",
|
|
1813
1783
|
"proptest",
|
|
1814
1784
|
"pyo3",
|
|
1815
|
-
"rand
|
|
1785
|
+
"rand",
|
|
1816
1786
|
"rayon",
|
|
1817
1787
|
"regex",
|
|
1818
1788
|
"seahash",
|
|
@@ -1851,9 +1821,9 @@ dependencies = [
|
|
|
1851
1821
|
|
|
1852
1822
|
[[package]]
|
|
1853
1823
|
name = "rustc-demangle"
|
|
1854
|
-
version = "0.1.
|
|
1824
|
+
version = "0.1.25"
|
|
1855
1825
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1856
|
-
checksum = "
|
|
1826
|
+
checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
|
|
1857
1827
|
|
|
1858
1828
|
[[package]]
|
|
1859
1829
|
name = "rustix"
|
|
@@ -2049,9 +2019,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
|
|
2049
2019
|
|
|
2050
2020
|
[[package]]
|
|
2051
2021
|
name = "syn"
|
|
2052
|
-
version = "2.0.
|
|
2022
|
+
version = "2.0.102"
|
|
2053
2023
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2054
|
-
checksum = "
|
|
2024
|
+
checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462"
|
|
2055
2025
|
dependencies = [
|
|
2056
2026
|
"proc-macro2",
|
|
2057
2027
|
"quote",
|
|
@@ -2427,9 +2397,9 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
|
|
|
2427
2397
|
|
|
2428
2398
|
[[package]]
|
|
2429
2399
|
name = "unicode-width"
|
|
2430
|
-
version = "0.2.
|
|
2400
|
+
version = "0.2.1"
|
|
2431
2401
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2432
|
-
checksum = "
|
|
2402
|
+
checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
|
|
2433
2403
|
|
|
2434
2404
|
[[package]]
|
|
2435
2405
|
name = "unindent"
|
|
@@ -2761,9 +2731,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
|
|
|
2761
2731
|
|
|
2762
2732
|
[[package]]
|
|
2763
2733
|
name = "yaml-rust2"
|
|
2764
|
-
version = "0.10.
|
|
2734
|
+
version = "0.10.3"
|
|
2765
2735
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2766
|
-
checksum = "
|
|
2736
|
+
checksum = "4ce2a4ff45552406d02501cea6c18d8a7e50228e7736a872951fe2fe75c91be7"
|
|
2767
2737
|
dependencies = [
|
|
2768
2738
|
"arraydeque",
|
|
2769
2739
|
"encoding_rs",
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rumdl"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.85"
|
|
4
4
|
edition = "2021"
|
|
5
|
+
rust-version = "1.87.0"
|
|
5
6
|
description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
|
|
6
7
|
authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
|
|
7
8
|
license = "MIT"
|
|
@@ -1,4 +1,61 @@
|
|
|
1
|
-
.PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install
|
|
1
|
+
.PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify
|
|
2
|
+
|
|
3
|
+
# Development environment setup
|
|
4
|
+
setup-mise:
|
|
5
|
+
@echo "Checking if mise is installed..."
|
|
6
|
+
@command -v mise >/dev/null 2>&1 || { \
|
|
7
|
+
echo "mise is not installed. Installing mise..."; \
|
|
8
|
+
curl https://mise.run | sh; \
|
|
9
|
+
echo 'eval "$$(~/.local/bin/mise activate bash)"' >> ~/.bashrc; \
|
|
10
|
+
echo 'eval "$$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc; \
|
|
11
|
+
echo ""; \
|
|
12
|
+
echo "mise installed! Please run:"; \
|
|
13
|
+
echo " source ~/.bashrc # or source ~/.zshrc"; \
|
|
14
|
+
echo "Then run 'make dev-setup' to continue"; \
|
|
15
|
+
exit 1; \
|
|
16
|
+
}
|
|
17
|
+
@echo "mise is installed at: $$(which mise)"
|
|
18
|
+
|
|
19
|
+
dev-setup: setup-mise
|
|
20
|
+
@echo "Installing development environment with mise..."
|
|
21
|
+
mise install
|
|
22
|
+
@echo ""
|
|
23
|
+
@echo "Development environment setup complete!"
|
|
24
|
+
@echo "Run 'make dev-verify' to verify the installation"
|
|
25
|
+
|
|
26
|
+
dev-verify:
|
|
27
|
+
@echo "Verifying development environment..."
|
|
28
|
+
@echo "===================="
|
|
29
|
+
@echo "Rust version: $$(rustc --version)"
|
|
30
|
+
@echo "Cargo version: $$(cargo --version)"
|
|
31
|
+
@echo "Python version: $$(python --version)"
|
|
32
|
+
@echo "cargo-nextest: $$(cargo nextest --version 2>/dev/null || echo 'not installed')"
|
|
33
|
+
@echo "maturin: $$(maturin --version 2>/dev/null || echo 'not installed')"
|
|
34
|
+
@echo "cargo-binstall: $$(cargo binstall --version 2>/dev/null || echo 'not installed')"
|
|
35
|
+
@echo "===================="
|
|
36
|
+
|
|
37
|
+
# CI-specific setup (uses mise if available, falls back to direct installation)
|
|
38
|
+
ci-setup:
|
|
39
|
+
@if command -v mise >/dev/null 2>&1; then \
|
|
40
|
+
echo "Using mise for CI setup..."; \
|
|
41
|
+
mise install; \
|
|
42
|
+
else \
|
|
43
|
+
echo "mise not found, using direct installation..."; \
|
|
44
|
+
if ! command -v cargo-nextest >/dev/null 2>&1; then \
|
|
45
|
+
echo "Installing cargo-nextest..."; \
|
|
46
|
+
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C $${CARGO_HOME:-~/.cargo}/bin; \
|
|
47
|
+
fi; \
|
|
48
|
+
if ! command -v cargo-binstall >/dev/null 2>&1; then \
|
|
49
|
+
echo "Installing cargo-binstall..."; \
|
|
50
|
+
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash; \
|
|
51
|
+
fi; \
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Install mise in CI environment
|
|
55
|
+
ci-install-mise:
|
|
56
|
+
@echo "Installing mise for CI..."
|
|
57
|
+
@curl https://mise.run | MISE_INSTALL_PATH=/usr/local/bin/mise sh
|
|
58
|
+
@echo "mise installed at: $$(which mise)"
|
|
2
59
|
|
|
3
60
|
build:
|
|
4
61
|
cargo build --release
|
|
@@ -6,6 +63,15 @@ build:
|
|
|
6
63
|
test:
|
|
7
64
|
cargo test
|
|
8
65
|
|
|
66
|
+
test-nextest:
|
|
67
|
+
cargo nextest run
|
|
68
|
+
|
|
69
|
+
test-quick:
|
|
70
|
+
cargo nextest run --profile quick
|
|
71
|
+
|
|
72
|
+
test-ci:
|
|
73
|
+
cargo nextest run --profile ci
|
|
74
|
+
|
|
9
75
|
clean:
|
|
10
76
|
cargo clean
|
|
11
77
|
|
|
@@ -20,7 +86,6 @@ lint:
|
|
|
20
86
|
check:
|
|
21
87
|
cargo check --all-targets --all-features
|
|
22
88
|
|
|
23
|
-
|
|
24
89
|
doc:
|
|
25
90
|
cargo doc --no-deps
|
|
26
91
|
|
|
@@ -59,6 +124,18 @@ update-readme-version:
|
|
|
59
124
|
@rm -f README.md.bak
|
|
60
125
|
@echo "README.md updated to rev $(NEW_TAG)"
|
|
61
126
|
|
|
127
|
+
update-changelog:
|
|
128
|
+
@echo "Updating CHANGELOG.md for $(NEW_TAG)..."
|
|
129
|
+
@if [ -f CHANGELOG.md ]; then \
|
|
130
|
+
DATE=$$(date +%Y-%m-%d); \
|
|
131
|
+
perl -i.bak -pe 's/## \[Unreleased\]/## [Unreleased]\n\n## [$(VERSION_NO_V)] - '"$$DATE"'/' CHANGELOG.md; \
|
|
132
|
+
perl -i.bak -0777 -pe 's/(\[Unreleased\]: .*\/compare\/)v[0-9]+\.[0-9]+\.[0-9]+(\.\.\.HEAD)/$$1$(NEW_TAG)$$2\n[$(VERSION_NO_V)]: https:\/\/github.com\/rvben\/rumdl\/compare\/$(CURRENT)...$(NEW_TAG)/' CHANGELOG.md; \
|
|
133
|
+
rm -f CHANGELOG.md.bak; \
|
|
134
|
+
echo "CHANGELOG.md updated for version $(NEW_TAG)"; \
|
|
135
|
+
else \
|
|
136
|
+
echo "Warning: CHANGELOG.md not found"; \
|
|
137
|
+
fi
|
|
138
|
+
|
|
62
139
|
version-major:
|
|
63
140
|
@echo "Creating new major version tag..."
|
|
64
141
|
$(eval CURRENT := $(shell git describe --tags --abbrev=0 2>/dev/null || echo v0.0.0))
|
|
@@ -69,7 +146,8 @@ version-major:
|
|
|
69
146
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
70
147
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
71
148
|
@$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
|
|
72
|
-
|
|
149
|
+
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
150
|
+
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
73
151
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
74
152
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
75
153
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -85,7 +163,8 @@ version-minor:
|
|
|
85
163
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
86
164
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
87
165
|
@$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
|
|
88
|
-
|
|
166
|
+
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
167
|
+
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
89
168
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
90
169
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
91
170
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -102,7 +181,8 @@ version-patch:
|
|
|
102
181
|
@echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
|
|
103
182
|
@$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
|
|
104
183
|
@$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
|
|
105
|
-
|
|
184
|
+
@$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
|
|
185
|
+
@git add Cargo.toml Cargo.lock README.md CHANGELOG.md
|
|
106
186
|
@git commit -m "Bump version to $(NEW_TAG)"
|
|
107
187
|
@git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
|
|
108
188
|
@echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What this rule does
|
|
4
4
|
|
|
5
|
-
Ensures that links to sections within the same document (like `#introduction`) point to actual headings that exist.
|
|
5
|
+
Ensures that links to sections within the same document (like `#introduction`) point to actual headings that exist. Cross-file fragment links (like `file.md#heading`) are not validated by this rule.
|
|
6
6
|
|
|
7
7
|
## Why this matters
|
|
8
8
|
|
|
@@ -26,6 +26,9 @@ Jump to [Getting Started](#getting-started) to begin.
|
|
|
26
26
|
# Working with **bold** and *italic*
|
|
27
27
|
|
|
28
28
|
Link to [formatted heading](#working-with-bold-and-italic)
|
|
29
|
+
|
|
30
|
+
<!-- Cross-file links are ignored by MD051 -->
|
|
31
|
+
See [external documentation](README.md#setup) for setup instructions.
|
|
29
32
|
```
|
|
30
33
|
|
|
31
34
|
### ❌ Incorrect
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Extract release notes for a specific version from CHANGELOG.md
|
|
4
|
+
|
|
5
|
+
VERSION=${1:-$(git describe --tags --abbrev=0 | sed 's/^v//')}
|
|
6
|
+
|
|
7
|
+
if [ ! -f CHANGELOG.md ]; then
|
|
8
|
+
echo "CHANGELOG.md not found"
|
|
9
|
+
exit 1
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
# Extract the section for this version
|
|
13
|
+
awk -v version="$VERSION" '
|
|
14
|
+
/^## \['"$VERSION"'\]/ { found = 1; next }
|
|
15
|
+
found && /^## \[/ { exit }
|
|
16
|
+
found { print }
|
|
17
|
+
' CHANGELOG.md
|