rumdl 0.0.112__tar.gz → 0.0.114__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.

Files changed (383) hide show
  1. {rumdl-0.0.112 → rumdl-0.0.114}/.mise.toml +1 -1
  2. {rumdl-0.0.112 → rumdl-0.0.114}/.pre-commit-config.yaml +10 -5
  3. {rumdl-0.0.112 → rumdl-0.0.114}/.rumdl.toml +7 -1
  4. {rumdl-0.0.112 → rumdl-0.0.114}/.rustfmt.toml +1 -1
  5. {rumdl-0.0.112 → rumdl-0.0.114}/CHANGELOG.md +7 -1
  6. {rumdl-0.0.112 → rumdl-0.0.114}/Cargo.lock +3 -3
  7. {rumdl-0.0.112 → rumdl-0.0.114}/Cargo.toml +2 -2
  8. {rumdl-0.0.112 → rumdl-0.0.114}/LICENSE +1 -1
  9. {rumdl-0.0.112 → rumdl-0.0.114}/MANIFEST.in +1 -1
  10. {rumdl-0.0.112 → rumdl-0.0.114}/Makefile +8 -3
  11. {rumdl-0.0.112 → rumdl-0.0.114}/PKG-INFO +47 -31
  12. {rumdl-0.0.112 → rumdl-0.0.114}/README.md +46 -30
  13. {rumdl-0.0.112 → rumdl-0.0.114}/docs/global-settings.md +6 -6
  14. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md010.md +0 -33
  15. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md013.md +2 -2
  16. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md051.md +33 -1
  17. {rumdl-0.0.112 → rumdl-0.0.114}/docs/vscode-extension.md +5 -5
  18. {rumdl-0.0.112 → rumdl-0.0.114}/parity_check.py +1 -1
  19. {rumdl-0.0.112 → rumdl-0.0.114}/pyproject.toml +1 -1
  20. {rumdl-0.0.112 → rumdl-0.0.114}/python/MANIFEST.in +1 -1
  21. {rumdl-0.0.112 → rumdl-0.0.114}/python/rumdl/__main__.py +5 -5
  22. rumdl-0.0.114/python/rumdl/py.typed +0 -0
  23. {rumdl-0.0.112 → rumdl-0.0.114}/rumdl.toml.example +2 -2
  24. {rumdl-0.0.112 → rumdl-0.0.114}/rust-toolchain.toml +3 -3
  25. {rumdl-0.0.112 → rumdl-0.0.114}/scripts/extract-changelog.sh +1 -1
  26. {rumdl-0.0.112 → rumdl-0.0.114}/scripts/generate-downloads-table.sh +6 -6
  27. rumdl-0.0.114/scripts/pre-release.sh +127 -0
  28. {rumdl-0.0.112 → rumdl-0.0.114}/scripts/prepare-release.sh +1 -1
  29. {rumdl-0.0.112 → rumdl-0.0.114}/src/config.rs +261 -267
  30. {rumdl-0.0.112 → rumdl-0.0.114}/src/inline_config.rs +14 -16
  31. {rumdl-0.0.112 → rumdl-0.0.114}/src/lint_context.rs +41 -37
  32. {rumdl-0.0.112 → rumdl-0.0.114}/src/lsp/server.rs +51 -52
  33. {rumdl-0.0.112 → rumdl-0.0.114}/src/main.rs +80 -166
  34. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/mod.rs +1 -1
  35. {rumdl-0.0.112 → rumdl-0.0.114}/src/performance.rs +5 -6
  36. {rumdl-0.0.112 → rumdl-0.0.114}/src/rule.rs +11 -11
  37. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/blockquote_utils.rs +14 -14
  38. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/list_utils.rs +12 -10
  39. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md001_heading_increment.rs +39 -39
  40. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md002_first_heading_h1.rs +45 -46
  41. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md004_unordered_list_style.rs +124 -124
  42. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md005_list_indent.rs +12 -12
  43. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md006_start_bullets.rs +92 -95
  44. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md009_trailing_spaces.rs +10 -10
  45. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -14
  46. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md010_no_hard_tabs.rs +24 -143
  47. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md013_line_length.rs +5 -5
  48. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md025_single_title.rs +59 -32
  49. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md028_no_blanks_blockquote.rs +19 -19
  50. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md029_ordered_list_prefix/md029_config.rs +1 -1
  51. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md029_ordered_list_prefix.rs +149 -28
  52. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md030_list_marker_space.rs +72 -72
  53. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md031_blanks_around_fences.rs +5 -4
  54. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md032_blanks_around_lists.rs +4 -4
  55. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md033_no_inline_html/md033_config.rs +1 -1
  56. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md034_no_bare_urls.rs +10 -11
  57. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md035_hr_style.rs +82 -15
  58. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md037_spaces_around_emphasis.rs +16 -16
  59. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md040_fenced_code_language.rs +18 -18
  60. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md041_first_line_heading.rs +4 -4
  61. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md044_proper_names/md044_config.rs +2 -2
  62. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md044_proper_names.rs +1 -1
  63. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md045_no_alt_text/md045_config.rs +5 -1
  64. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md046_code_block_style.rs +23 -21
  65. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md050_strong_style.rs +101 -6
  66. rumdl-0.0.114/src/rules/md051_link_fragments.rs +753 -0
  67. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md053_link_image_reference_definitions.rs +30 -31
  68. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md054_link_image_style/md054_config.rs +1 -2
  69. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md056_table_column_count.rs +6 -6
  70. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md057_existing_relative_links/md057_config.rs +5 -2
  71. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md057_existing_relative_links.rs +8 -8
  72. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/early_returns.rs +10 -8
  73. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/element_cache.rs +5 -6
  74. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/markdown_elements.rs +34 -2
  75. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/text_reflow.rs +21 -20
  76. {rumdl-0.0.112 → rumdl-0.0.114}/src/vscode.rs +18 -6
  77. {rumdl-0.0.112 → rumdl-0.0.114}/tests/advanced_integration_tests.rs +28 -11
  78. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/mod.rs +2 -2
  79. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_integration_tests.rs +67 -37
  80. {rumdl-0.0.112 → rumdl-0.0.114}/tests/commonmark_compliance_tests.rs +4 -2
  81. {rumdl-0.0.112 → rumdl-0.0.114}/tests/comprehensive_integration_tests.rs +11 -11
  82. {rumdl-0.0.112 → rumdl-0.0.114}/tests/config_tests.rs +2 -2
  83. {rumdl-0.0.112 → rumdl-0.0.114}/tests/consistency_regression_tests.rs +4 -7
  84. {rumdl-0.0.112 → rumdl-0.0.114}/tests/deeply_nested_lists_performance_test.rs +2 -0
  85. {rumdl-0.0.112 → rumdl-0.0.114}/tests/kramdown_integration_test.rs +5 -5
  86. {rumdl-0.0.112 → rumdl-0.0.114}/tests/lsp_editor_integration_tests.rs +14 -7
  87. {rumdl-0.0.112 → rumdl-0.0.114}/tests/output_format_integration_tests.rs +18 -9
  88. {rumdl-0.0.112 → rumdl-0.0.114}/tests/output_format_tests.rs +26 -26
  89. {rumdl-0.0.112 → rumdl-0.0.114}/tests/performance_validation_tests.rs +5 -5
  90. {rumdl-0.0.112 → rumdl-0.0.114}/tests/pyproject_config_tests.rs +15 -7
  91. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/list_rules_integration_test.rs +1 -0
  92. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md010_test.rs +31 -43
  93. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md014_test.rs +1 -1
  94. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md023_extended_test.rs +34 -2
  95. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md032_test.rs +4 -4
  96. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md051_test.rs +34 -32
  97. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md051_unicode_test.rs +1 -1
  98. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md053_proptest.rs +1 -1
  99. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md054_unicode_test.rs +3 -3
  100. {rumdl-0.0.112 → rumdl-0.0.114}/tests/unicode_edge_case_tests.rs +1 -1
  101. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/code_block_utils_extended_test.rs +1 -1
  102. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils_markdown_edge_cases.rs +5 -5
  103. {rumdl-0.0.112 → rumdl-0.0.114}/tests/vscode_extension_fixes.rs +1 -1
  104. {rumdl-0.0.112 → rumdl-0.0.114}/tests/vscode_windows_comprehensive_test.rs +4 -4
  105. rumdl-0.0.112/python/rumdl/py.typed +0 -1
  106. rumdl-0.0.112/src/rules/md051_link_fragments.rs +0 -752
  107. {rumdl-0.0.112 → rumdl-0.0.114}/.config/nextest.toml +0 -0
  108. {rumdl-0.0.112 → rumdl-0.0.114}/assets/logo.png +0 -0
  109. {rumdl-0.0.112 → rumdl-0.0.114}/benches/fix_performance.rs +0 -0
  110. {rumdl-0.0.112 → rumdl-0.0.114}/benches/range_performance.rs +0 -0
  111. {rumdl-0.0.112 → rumdl-0.0.114}/benches/range_utils_benchmark.rs +0 -0
  112. {rumdl-0.0.112 → rumdl-0.0.114}/benches/rule_performance.rs +0 -0
  113. {rumdl-0.0.112 → rumdl-0.0.114}/benches/simple_fix_bench.rs +0 -0
  114. {rumdl-0.0.112 → rumdl-0.0.114}/benchmark/bin/bench_lint_context.rs +0 -0
  115. {rumdl-0.0.112 → rumdl-0.0.114}/benchmark/bin/benchmark.rs +0 -0
  116. {rumdl-0.0.112 → rumdl-0.0.114}/benchmark/bin/benchmark_rule.rs +0 -0
  117. {rumdl-0.0.112 → rumdl-0.0.114}/benchmark/bin/file_parallel_benchmark.rs +0 -0
  118. {rumdl-0.0.112 → rumdl-0.0.114}/benchmark/bin/measure_code_span_performance.rs +0 -0
  119. {rumdl-0.0.112 → rumdl-0.0.114}/docs/RULES.md +0 -0
  120. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md001.md +0 -0
  121. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md002.md +0 -0
  122. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md003.md +0 -0
  123. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md004.md +0 -0
  124. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md005.md +0 -0
  125. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md006.md +0 -0
  126. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md007.md +0 -0
  127. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md009.md +0 -0
  128. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md011.md +0 -0
  129. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md012.md +0 -0
  130. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md014.md +0 -0
  131. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md018.md +0 -0
  132. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md019.md +0 -0
  133. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md020.md +0 -0
  134. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md021.md +0 -0
  135. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md022.md +0 -0
  136. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md023.md +0 -0
  137. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md024.md +0 -0
  138. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md025.md +0 -0
  139. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md026.md +0 -0
  140. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md027.md +0 -0
  141. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md028.md +0 -0
  142. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md029.md +0 -0
  143. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md030.md +0 -0
  144. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md031.md +0 -0
  145. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md032.md +0 -0
  146. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md033.md +0 -0
  147. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md034.md +0 -0
  148. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md035.md +0 -0
  149. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md036.md +0 -0
  150. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md037.md +0 -0
  151. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md038.md +0 -0
  152. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md039.md +0 -0
  153. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md040.md +0 -0
  154. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md041.md +0 -0
  155. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md042.md +0 -0
  156. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md043.md +0 -0
  157. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md044.md +0 -0
  158. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md045.md +0 -0
  159. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md046.md +0 -0
  160. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md047.md +0 -0
  161. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md048.md +0 -0
  162. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md049.md +0 -0
  163. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md050.md +0 -0
  164. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md052.md +0 -0
  165. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md053.md +0 -0
  166. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md054.md +0 -0
  167. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md055.md +0 -0
  168. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md056.md +0 -0
  169. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md057.md +0 -0
  170. {rumdl-0.0.112 → rumdl-0.0.114}/docs/md058.md +0 -0
  171. {rumdl-0.0.112 → rumdl-0.0.114}/python/PYTHON-README.md +0 -0
  172. {rumdl-0.0.112 → rumdl-0.0.114}/python/rumdl/__init__.py +0 -0
  173. {rumdl-0.0.112 → rumdl-0.0.114}/scripts/setup-pre-commit.sh +0 -0
  174. {rumdl-0.0.112 → rumdl-0.0.114}/scripts/update-pre-commit-docs.sh +0 -0
  175. {rumdl-0.0.112 → rumdl-0.0.114}/src/exit_codes.rs +0 -0
  176. {rumdl-0.0.112 → rumdl-0.0.114}/src/lib.rs +0 -0
  177. {rumdl-0.0.112 → rumdl-0.0.114}/src/lsp/mod.rs +0 -0
  178. {rumdl-0.0.112 → rumdl-0.0.114}/src/lsp/types.rs +0 -0
  179. {rumdl-0.0.112 → rumdl-0.0.114}/src/markdownlint_config.rs +0 -0
  180. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/azure.rs +0 -0
  181. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/concise.rs +0 -0
  182. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/github.rs +0 -0
  183. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/gitlab.rs +0 -0
  184. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/grouped.rs +0 -0
  185. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/json.rs +0 -0
  186. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/json_lines.rs +0 -0
  187. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/junit.rs +0 -0
  188. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/mod.rs +0 -0
  189. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/pylint.rs +0 -0
  190. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/sarif.rs +0 -0
  191. {rumdl-0.0.112 → rumdl-0.0.114}/src/output/formatters/text.rs +0 -0
  192. {rumdl-0.0.112 → rumdl-0.0.114}/src/parallel.rs +0 -0
  193. {rumdl-0.0.112 → rumdl-0.0.114}/src/profiling.rs +0 -0
  194. {rumdl-0.0.112 → rumdl-0.0.114}/src/python.rs +0 -0
  195. {rumdl-0.0.112 → rumdl-0.0.114}/src/rule_config.rs +0 -0
  196. {rumdl-0.0.112 → rumdl-0.0.114}/src/rule_config_serde.rs +0 -0
  197. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/code_block_utils.rs +0 -0
  198. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/code_fence_utils.rs +0 -0
  199. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/emphasis_style.rs +0 -0
  200. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/front_matter_utils.rs +0 -0
  201. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/heading_utils.rs +0 -0
  202. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  203. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md003_heading_style/md003_config.rs +0 -0
  204. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md003_heading_style.rs +0 -0
  205. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  206. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  207. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md007_ul_indent.rs +0 -0
  208. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  209. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md011_no_reversed_links.rs +0 -0
  210. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  211. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md012_no_multiple_blanks.rs +0 -0
  212. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md013_line_length/md013_config.rs +0 -0
  213. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  214. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md014_commands_show_output.rs +0 -0
  215. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md018_no_missing_space_atx.rs +0 -0
  216. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  217. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  218. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  219. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  220. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md022_blanks_around_headings.rs +0 -0
  221. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md023_heading_start_left.rs +0 -0
  222. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  223. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md024_no_duplicate_heading.rs +0 -0
  224. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md025_single_title/md025_config.rs +0 -0
  225. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  226. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  227. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  228. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  229. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md033_no_inline_html.rs +0 -0
  230. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md035_hr_style/md035_config.rs +0 -0
  231. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  232. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  233. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md038_no_space_in_code.rs +0 -0
  234. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md039_no_space_in_links.rs +0 -0
  235. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md042_no_empty_links.rs +0 -0
  236. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md043_required_headings.rs +0 -0
  237. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md045_no_alt_text.rs +0 -0
  238. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  239. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md047_single_trailing_newline.rs +0 -0
  240. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  241. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md048_code_fence_style.rs +0 -0
  242. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  243. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md049_emphasis_style.rs +0 -0
  244. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md050_strong_style/md050_config.rs +0 -0
  245. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md052_reference_links_images.rs +0 -0
  246. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md054_link_image_style.rs +0 -0
  247. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  248. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md055_table_pipe_style.rs +0 -0
  249. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/md058_blanks_around_tables.rs +0 -0
  250. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/mod.rs +0 -0
  251. {rumdl-0.0.112 → rumdl-0.0.114}/src/rules/strong_style.rs +0 -0
  252. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/ast_utils.rs +0 -0
  253. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/code_block_utils.rs +0 -0
  254. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/document_structure.rs +0 -0
  255. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/emphasis_utils.rs +0 -0
  256. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/fix_utils.rs +0 -0
  257. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/kramdown_utils.rs +0 -0
  258. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/mod.rs +0 -0
  259. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/range_utils.rs +0 -0
  260. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/regex_cache.rs +0 -0
  261. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/string_interner.rs +0 -0
  262. {rumdl-0.0.112 → rumdl-0.0.114}/src/utils/table_utils.rs +0 -0
  263. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/additional_tests.rs +0 -0
  264. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/basic_tests.rs +0 -0
  265. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/comprehensive_tests.rs +0 -0
  266. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/extended_tests.rs +0 -0
  267. {rumdl-0.0.112 → rumdl-0.0.114}/tests/character_ranges/unicode_utils.rs +0 -0
  268. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_duplication_test.rs +0 -0
  269. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_explain_test.rs +0 -0
  270. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_flag_precedence_test.rs +0 -0
  271. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_lsp_fix_consistency.rs +0 -0
  272. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cli_statistics_test.rs +0 -0
  273. {rumdl-0.0.112 → rumdl-0.0.114}/tests/common/cli_test_utils.rs +0 -0
  274. {rumdl-0.0.112 → rumdl-0.0.114}/tests/common/fixtures.rs +0 -0
  275. {rumdl-0.0.112 → rumdl-0.0.114}/tests/common/mod.rs +0 -0
  276. {rumdl-0.0.112 → rumdl-0.0.114}/tests/common/test_utils.rs +0 -0
  277. {rumdl-0.0.112 → rumdl-0.0.114}/tests/comprehensive_output_format_tests.rs +0 -0
  278. {rumdl-0.0.112 → rumdl-0.0.114}/tests/config_application_tests.rs +0 -0
  279. {rumdl-0.0.112 → rumdl-0.0.114}/tests/config_file_command_test.rs +0 -0
  280. {rumdl-0.0.112 → rumdl-0.0.114}/tests/configuration_inheritance_tests.rs +0 -0
  281. {rumdl-0.0.112 → rumdl-0.0.114}/tests/cross_platform_compatibility_tests.rs +0 -0
  282. {rumdl-0.0.112 → rumdl-0.0.114}/tests/escaped_brackets_test.rs +0 -0
  283. {rumdl-0.0.112 → rumdl-0.0.114}/tests/final_confidence_assessment.rs +0 -0
  284. {rumdl-0.0.112 → rumdl-0.0.114}/tests/init_command_test.rs +0 -0
  285. {rumdl-0.0.112 → rumdl-0.0.114}/tests/init_tests.rs +0 -0
  286. {rumdl-0.0.112 → rumdl-0.0.114}/tests/inline_config_blocks_test.rs +0 -0
  287. {rumdl-0.0.112 → rumdl-0.0.114}/tests/inline_config_test.rs +0 -0
  288. {rumdl-0.0.112 → rumdl-0.0.114}/tests/integration_tests.rs +0 -0
  289. {rumdl-0.0.112 → rumdl-0.0.114}/tests/json_output_test.rs +0 -0
  290. {rumdl-0.0.112 → rumdl-0.0.114}/tests/lib.rs +0 -0
  291. {rumdl-0.0.112 → rumdl-0.0.114}/tests/lsp_integration_tests.rs +0 -0
  292. {rumdl-0.0.112 → rumdl-0.0.114}/tests/lsp_memory_leak_tests.rs +0 -0
  293. {rumdl-0.0.112 → rumdl-0.0.114}/tests/lsp_tests.rs +0 -0
  294. {rumdl-0.0.112 → rumdl-0.0.114}/tests/malformed_markdown_stress_tests.rs +0 -0
  295. {rumdl-0.0.112 → rumdl-0.0.114}/tests/markdownlint_cli_integration.rs +0 -0
  296. {rumdl-0.0.112 → rumdl-0.0.114}/tests/markdownlint_config_test.rs +0 -0
  297. {rumdl-0.0.112 → rumdl-0.0.114}/tests/markdownlintignore_test.rs +0 -0
  298. {rumdl-0.0.112 → rumdl-0.0.114}/tests/md013_reflow_integration_test.rs +0 -0
  299. {rumdl-0.0.112 → rumdl-0.0.114}/tests/nested_code_block_test.rs +0 -0
  300. {rumdl-0.0.112 → rumdl-0.0.114}/tests/perf_check.rs +0 -0
  301. {rumdl-0.0.112 → rumdl-0.0.114}/tests/python_bindings_test.rs +0 -0
  302. {rumdl-0.0.112 → rumdl-0.0.114}/tests/real_world_repository_tests.rs +0 -0
  303. {rumdl-0.0.112 → rumdl-0.0.114}/tests/regression_prevention_tests.rs +0 -0
  304. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  305. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/heading_edge_cases_test.rs +0 -0
  306. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  307. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/link_edge_cases_test.rs +0 -0
  308. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md001_test.rs +0 -0
  309. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md001_unicode_test.rs +0 -0
  310. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md002_test.rs +0 -0
  311. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md003_test.rs +0 -0
  312. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md004_test.rs +0 -0
  313. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md005_test.rs +0 -0
  314. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md005_unicode_test.rs +0 -0
  315. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md006_test.rs +0 -0
  316. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md006_unicode_test.rs +0 -0
  317. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md007_test.rs +0 -0
  318. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md009_test.rs +0 -0
  319. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md011_test.rs +0 -0
  320. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md012_test.rs +0 -0
  321. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md013_test.rs +0 -0
  322. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md018_test.rs +0 -0
  323. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md019_test.rs +0 -0
  324. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md020_test.rs +0 -0
  325. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md021_test.rs +0 -0
  326. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md022_test.rs +0 -0
  327. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md023_test.rs +0 -0
  328. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md024_test.rs +0 -0
  329. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md025_test.rs +0 -0
  330. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md026_kramdown_test.rs +0 -0
  331. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md026_test.rs +0 -0
  332. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md027_test.rs +0 -0
  333. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md028_test.rs +0 -0
  334. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md029_test.rs +0 -0
  335. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md029_unicode_test.rs +0 -0
  336. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md030_test.rs +0 -0
  337. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md031_kramdown_test.rs +0 -0
  338. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md031_test.rs +0 -0
  339. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md033_extended_test.rs +0 -0
  340. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md033_kramdown_test.rs +0 -0
  341. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md033_test.rs +0 -0
  342. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md034_ipv6_test.rs +0 -0
  343. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md034_test.rs +0 -0
  344. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md035_test.rs +0 -0
  345. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md036_test.rs +0 -0
  346. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md037_kramdown_test.rs +0 -0
  347. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md037_test.rs +0 -0
  348. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md038_nested_backticks_test.rs +0 -0
  349. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md038_test.rs +0 -0
  350. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md039_test.rs +0 -0
  351. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md040_test.rs +0 -0
  352. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md041_test.rs +0 -0
  353. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md042_test.rs +0 -0
  354. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md043_test.rs +0 -0
  355. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md044_test.rs +0 -0
  356. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md045_test.rs +0 -0
  357. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md046_test.rs +0 -0
  358. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md047_test.rs +0 -0
  359. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md048_test.rs +0 -0
  360. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md049_test.rs +0 -0
  361. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md050_test.rs +0 -0
  362. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md052_test.rs +0 -0
  363. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md053_additional_test.rs +0 -0
  364. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md053_test.rs +0 -0
  365. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md054_test.rs +0 -0
  366. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md055_test.rs +0 -0
  367. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md056_test.rs +0 -0
  368. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md057_test.rs +0 -0
  369. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md058_kramdown_test.rs +0 -0
  370. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/md058_test.rs +0 -0
  371. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules/mod.rs +0 -0
  372. {rumdl-0.0.112 → rumdl-0.0.114}/tests/rules_mod_test.rs +0 -0
  373. {rumdl-0.0.112 → rumdl-0.0.114}/tests/thread_safety_tests.rs +0 -0
  374. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/blockquote_utils_test.rs +0 -0
  375. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/code_block_utils_test.rs +0 -0
  376. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/core_utils_test.rs +0 -0
  377. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/front_matter_utils_test.rs +0 -0
  378. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/line_index_test.rs +0 -0
  379. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils/mod.rs +0 -0
  380. {rumdl-0.0.112 → rumdl-0.0.114}/tests/utils_tests.rs +0 -0
  381. {rumdl-0.0.112 → rumdl-0.0.114}/tests/vscode_test.rs +0 -0
  382. {rumdl-0.0.112 → rumdl-0.0.114}/tests/vscode_tests.rs +0 -0
  383. {rumdl-0.0.112 → rumdl-0.0.114}/tests/vscode_windows_test.rs +0 -0
@@ -7,7 +7,7 @@ RUST_BACKTRACE = "1"
7
7
 
8
8
  [tools]
9
9
  # Rust toolchain - version matches rust-toolchain.toml
10
- rust = "1.88.0"
10
+ rust = "1.89.0"
11
11
 
12
12
  # Python for maturin/python bindings
13
13
  python = "3.12"
@@ -19,7 +19,7 @@ repos:
19
19
 
20
20
  - id: cargo-clippy
21
21
  name: cargo clippy
22
- entry: make lint-fast
22
+ entry: make lint
23
23
  language: system
24
24
  types: [rust]
25
25
  pass_filenames: false
@@ -37,7 +37,7 @@ repos:
37
37
  rev: v4.6.0
38
38
  hooks:
39
39
  - id: trailing-whitespace
40
- exclude: \.md$|tests/inline_config_test\.rs$
40
+ exclude: \.md$|tests/inline_config_test\.rs$|tests/output_format_integration_tests\.rs$|tests/lsp_editor_integration_tests\.rs$|tests/utils_markdown_edge_cases\.rs$
41
41
  - id: end-of-file-fixer
42
42
  exclude: \.md$
43
43
  - id: check-yaml
@@ -48,12 +48,17 @@ repos:
48
48
  - id: mixed-line-ending
49
49
  args: [--fix=lf]
50
50
 
51
- # Markdown linting using rumdl itself
52
- - repo: https://github.com/rvben/rumdl-pre-commit
53
- rev: v0.0.45
51
+ # Markdown linting using rumdl itself (local binary)
52
+ - repo: local
54
53
  hooks:
55
54
  - id: rumdl
55
+ name: rumdl check
56
+ entry: ./target/release/rumdl check
57
+ language: system
58
+ files: \.md$
56
59
  exclude: ^(test_tmp|benchmark/test-data|docs/temp|CHANGELOG\.md)
60
+ pass_filenames: true
61
+ require_serial: true
57
62
 
58
63
  # Pre-push hooks for comprehensive validation
59
64
  - repo: local
@@ -16,6 +16,9 @@ code_blocks = true
16
16
  tables = false
17
17
  headings = true
18
18
 
19
+ [MD029]
20
+ style = "ordered"
21
+
19
22
  [MD046]
20
23
  # Code block style
21
24
  style = "fenced"
@@ -32,6 +35,9 @@ style = "asterisk"
32
35
  # Strong emphasis style (** or __)
33
36
  style = "asterisk"
34
37
 
38
+ [MD051]
39
+ anchor-style = "github"
40
+
35
41
  [MD055]
36
42
  # Table pipe style (leading_and_trailing or no_leading_or_trailing)
37
- style = "leading_and_trailing"
43
+ style = "leading_and_trailing"
@@ -14,4 +14,4 @@ use_field_init_shorthand = true
14
14
  use_try_shorthand = true
15
15
 
16
16
  # Edition
17
- edition = "2021"
17
+ edition = "2024"
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.114] - 2025-08-09
11
+
12
+ ## [0.0.113] - 2025-08-09
13
+
10
14
  ## [0.0.112] - 2025-08-08
11
15
 
12
16
  ## [0.0.110] - 2025-08-08
@@ -304,7 +308,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
304
308
 
305
309
  - Initial implementation of remaining rules for markdownlint parity
306
310
 
307
- [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.112...HEAD
311
+ [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.114...HEAD
312
+ [0.0.114]: https://github.com/rvben/rumdl/compare/v0.0.113...v0.0.114
313
+ [0.0.113]: https://github.com/rvben/rumdl/compare/v0.0.112...v0.0.113
308
314
  [0.0.112]: https://github.com/rvben/rumdl/compare/v0.0.111...v0.0.112
309
315
  [0.0.110]: https://github.com/rvben/rumdl/compare/v0.0.109...v0.0.110
310
316
  [0.0.110]: https://github.com/rvben/rumdl/compare/v0.0.109...v0.0.110
@@ -1493,7 +1493,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1493
1493
 
1494
1494
  [[package]]
1495
1495
  name = "rumdl"
1496
- version = "0.0.112"
1496
+ version = "0.0.114"
1497
1497
  dependencies = [
1498
1498
  "anyhow",
1499
1499
  "assert_cmd",
@@ -1564,9 +1564,9 @@ dependencies = [
1564
1564
 
1565
1565
  [[package]]
1566
1566
  name = "rustversion"
1567
- version = "1.0.21"
1567
+ version = "1.0.22"
1568
1568
  source = "registry+https://github.com/rust-lang/crates.io-index"
1569
- checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
1569
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
1570
1570
 
1571
1571
  [[package]]
1572
1572
  name = "rusty-fork"
@@ -1,8 +1,8 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.112"
3
+ version = "0.0.114"
4
4
  edition = "2024"
5
- rust-version = "1.88.0"
5
+ rust-version = "1.89.0"
6
6
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
7
7
  authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
8
8
  license = "MIT"
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
@@ -1,4 +1,4 @@
1
1
  include python/rumdl/*.py
2
2
  include python/rumdl/py.typed
3
3
  global-exclude *.pyc
4
- global-exclude __pycache__/
4
+ global-exclude __pycache__/
@@ -106,14 +106,14 @@ clean:
106
106
 
107
107
  fmt:
108
108
  cargo fmt
109
- cargo clippy --fix --allow-dirty --allow-staged
109
+ cargo clippy --fix --allow-dirty --allow-staged -- -D clippy::uninlined_format_args
110
110
  cargo fix --allow-dirty --allow-staged
111
111
 
112
112
  lint:
113
- CARGO_INCREMENTAL=1 cargo clippy --all-targets --all-features -- -D warnings
113
+ CARGO_INCREMENTAL=1 cargo clippy --all-targets --all-features -- -D warnings -D clippy::uninlined_format_args
114
114
 
115
115
  lint-fast:
116
- CARGO_INCREMENTAL=1 cargo clippy --workspace --lib --bins -- -D warnings
116
+ CARGO_INCREMENTAL=1 cargo clippy --workspace --lib --bins -- -D warnings -D clippy::uninlined_format_args
117
117
 
118
118
  check:
119
119
  cargo check --all-targets --all-features
@@ -233,6 +233,11 @@ version-push:
233
233
  @git push origin $(LATEST_TAG)
234
234
  @echo "Release workflow triggered for $(LATEST_TAG)"
235
235
 
236
+ # Pre-release validation
237
+ pre-release:
238
+ @echo "Running pre-release validation..."
239
+ @./scripts/pre-release.sh
240
+
236
241
  # Combined targets for one-step release
237
242
  release-major: version-major version-push
238
243
  release-minor: version-minor version-push
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.112
3
+ Version: 0.0.114
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -82,36 +82,52 @@ It offers:
82
82
 
83
83
  ## Table of Contents
84
84
 
85
- - [Quick Start](#quick-start)
86
- - [Overview](#overview)
87
- - [Installation](#installation)
88
- - [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
89
- - [Using Cargo (Rust)](#using-cargo-rust)
90
- - [Using pip (Python)](#using-pip-python)
91
- - [Using uv](#using-uv)
92
- - [Download binary](#download-binary)
93
- - [VS Code Extension](#vs-code-extension)
94
- - [Usage](#usage)
95
- - [Pre-commit Integration](#pre-commit-integration)
96
- - [Rules](#rules)
97
- - [Command-line Interface](#command-line-interface)
98
- - [Commands](#commands)
99
- - [Usage Examples](#usage-examples)
100
- - [Configuration](#configuration)
101
- - [Configuration File Example](#configuration-file-example)
102
- - [Initializing Configuration](#initializing-configuration)
103
- - [Configuration in pyproject.toml](#configuration-in-pyproject-toml)
104
- - [Configuration Output](#configuration-output)
105
- - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
106
- - [Example output](#example-output)
107
- - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config-defaults)
108
- - [Output Style](#output-style)
109
- - [Output Format](#output-format)
110
- - [Development](#development)
111
- - [Prerequisites](#prerequisites)
112
- - [Building](#building)
113
- - [Testing](#testing)
114
- - [License](#license)
85
+ - [rumdl - A high-performance Markdown linter, written in Rust](#rumdl---a-high-performance-markdown-linter-written-in-rust)
86
+ - [A modern Markdown linter and formatter, built for speed with Rust](#a-modern-markdown-linter-and-formatter-built-for-speed-with-rust)
87
+ - [Quick Start](#quick-start)
88
+ - [Overview](#overview)
89
+ - [Table of Contents](#table-of-contents)
90
+ - [Installation](#installation)
91
+ - [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
92
+ - [Using Cargo (Rust)](#using-cargo-rust)
93
+ - [Using pip (Python)](#using-pip-python)
94
+ - [Using uv](#using-uv)
95
+ - [Download binary](#download-binary)
96
+ - [VS Code Extension](#vs-code-extension)
97
+ - [Usage](#usage)
98
+ - [Pre-commit Integration](#pre-commit-integration)
99
+ - [Rules](#rules)
100
+ - [Command-line Interface](#command-line-interface)
101
+ - [Commands](#commands)
102
+ - [`check [PATHS...]`](#check-paths)
103
+ - [`init [OPTIONS]`](#init-options)
104
+ - [`import <FILE> [OPTIONS]`](#import-file-options)
105
+ - [`rule [<rule>]`](#rule-rule)
106
+ - [`config [OPTIONS] [COMMAND]`](#config-options-command)
107
+ - [`server [OPTIONS]`](#server-options)
108
+ - [`vscode [OPTIONS]`](#vscode-options)
109
+ - [`version`](#version)
110
+ - [Global Options](#global-options)
111
+ - [Exit Codes](#exit-codes)
112
+ - [Usage Examples](#usage-examples)
113
+ - [Configuration](#configuration)
114
+ - [Markdownlint Migration](#markdownlint-migration)
115
+ - [Configuration File Example](#configuration-file-example)
116
+ - [Initializing Configuration](#initializing-configuration)
117
+ - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
118
+ - [Configuration Output](#configuration-output)
119
+ - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
120
+ - [Example output](#example-output)
121
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
122
+ - [Output Style](#output-style)
123
+ - [Output Format](#output-format)
124
+ - [Text Output (Default)](#text-output-default)
125
+ - [JSON Output](#json-output)
126
+ - [Development](#development)
127
+ - [Prerequisites](#prerequisites)
128
+ - [Building](#building)
129
+ - [Testing](#testing)
130
+ - [License](#license)
115
131
 
116
132
  ## Installation
117
133
 
@@ -53,36 +53,52 @@ It offers:
53
53
 
54
54
  ## Table of Contents
55
55
 
56
- - [Quick Start](#quick-start)
57
- - [Overview](#overview)
58
- - [Installation](#installation)
59
- - [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
60
- - [Using Cargo (Rust)](#using-cargo-rust)
61
- - [Using pip (Python)](#using-pip-python)
62
- - [Using uv](#using-uv)
63
- - [Download binary](#download-binary)
64
- - [VS Code Extension](#vs-code-extension)
65
- - [Usage](#usage)
66
- - [Pre-commit Integration](#pre-commit-integration)
67
- - [Rules](#rules)
68
- - [Command-line Interface](#command-line-interface)
69
- - [Commands](#commands)
70
- - [Usage Examples](#usage-examples)
71
- - [Configuration](#configuration)
72
- - [Configuration File Example](#configuration-file-example)
73
- - [Initializing Configuration](#initializing-configuration)
74
- - [Configuration in pyproject.toml](#configuration-in-pyproject-toml)
75
- - [Configuration Output](#configuration-output)
76
- - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
77
- - [Example output](#example-output)
78
- - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config-defaults)
79
- - [Output Style](#output-style)
80
- - [Output Format](#output-format)
81
- - [Development](#development)
82
- - [Prerequisites](#prerequisites)
83
- - [Building](#building)
84
- - [Testing](#testing)
85
- - [License](#license)
56
+ - [rumdl - A high-performance Markdown linter, written in Rust](#rumdl---a-high-performance-markdown-linter-written-in-rust)
57
+ - [A modern Markdown linter and formatter, built for speed with Rust](#a-modern-markdown-linter-and-formatter-built-for-speed-with-rust)
58
+ - [Quick Start](#quick-start)
59
+ - [Overview](#overview)
60
+ - [Table of Contents](#table-of-contents)
61
+ - [Installation](#installation)
62
+ - [Using Homebrew (macOS/Linux)](#using-homebrew-macoslinux)
63
+ - [Using Cargo (Rust)](#using-cargo-rust)
64
+ - [Using pip (Python)](#using-pip-python)
65
+ - [Using uv](#using-uv)
66
+ - [Download binary](#download-binary)
67
+ - [VS Code Extension](#vs-code-extension)
68
+ - [Usage](#usage)
69
+ - [Pre-commit Integration](#pre-commit-integration)
70
+ - [Rules](#rules)
71
+ - [Command-line Interface](#command-line-interface)
72
+ - [Commands](#commands)
73
+ - [`check [PATHS...]`](#check-paths)
74
+ - [`init [OPTIONS]`](#init-options)
75
+ - [`import <FILE> [OPTIONS]`](#import-file-options)
76
+ - [`rule [<rule>]`](#rule-rule)
77
+ - [`config [OPTIONS] [COMMAND]`](#config-options-command)
78
+ - [`server [OPTIONS]`](#server-options)
79
+ - [`vscode [OPTIONS]`](#vscode-options)
80
+ - [`version`](#version)
81
+ - [Global Options](#global-options)
82
+ - [Exit Codes](#exit-codes)
83
+ - [Usage Examples](#usage-examples)
84
+ - [Configuration](#configuration)
85
+ - [Markdownlint Migration](#markdownlint-migration)
86
+ - [Configuration File Example](#configuration-file-example)
87
+ - [Initializing Configuration](#initializing-configuration)
88
+ - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
89
+ - [Configuration Output](#configuration-output)
90
+ - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
91
+ - [Example output](#example-output)
92
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
93
+ - [Output Style](#output-style)
94
+ - [Output Format](#output-format)
95
+ - [Text Output (Default)](#text-output-default)
96
+ - [JSON Output](#json-output)
97
+ - [Development](#development)
98
+ - [Prerequisites](#prerequisites)
99
+ - [Building](#building)
100
+ - [Testing](#testing)
101
+ - [License](#license)
86
102
 
87
103
  ## Installation
88
104
 
@@ -290,24 +290,24 @@ rumdl processes files using the following logic:
290
290
 
291
291
  1. **Start with candidate files**:
292
292
 
293
- - If paths are provided via CLI: use those files/directories
294
- - Otherwise: recursively scan current directory for `.md` and `.markdown` files
293
+ - If paths are provided via CLI: use those files/directories
294
+ - Otherwise: recursively scan current directory for `.md` and `.markdown` files
295
295
 
296
296
  2. **Apply .gitignore filtering** (if `respect_gitignore = true`):
297
297
 
298
- - Skip files/directories listed in `.gitignore` files
298
+ - Skip files/directories listed in `.gitignore` files
299
299
 
300
300
  3. **Apply include patterns** (if specified):
301
301
 
302
- - Keep only files matching at least one include pattern
302
+ - Keep only files matching at least one include pattern
303
303
 
304
304
  4. **Apply exclude patterns**:
305
305
 
306
- - Remove files matching any exclude pattern
306
+ - Remove files matching any exclude pattern
307
307
 
308
308
  5. **Apply rule filtering**:
309
309
 
310
- - Process remaining files with enabled rules only
310
+ - Process remaining files with enabled rules only
311
311
 
312
312
  ### Example: File Selection
313
313
 
@@ -63,45 +63,12 @@ Replaces tab characters with spaces to ensure consistent indentation across all
63
63
 
64
64
  ```yaml
65
65
  MD010:
66
- code_blocks: true # Check for tabs in code blocks (default: true)
67
66
  spaces_per_tab: 4 # Number of spaces to replace each tab with (default: 4)
68
- ignore_code_languages: [] # List of code languages to ignore (default: [])
69
67
  ```
70
68
 
71
69
  ### Configuration options explained
72
70
 
73
- - `code_blocks`: Whether to check for tabs inside code blocks
74
71
  - `spaces_per_tab`: How many spaces to use when replacing each tab character
75
- - `ignore_code_languages`: List of code block languages where tabs are allowed (useful for languages like Makefile where tabs are required)
76
-
77
- ### Example with ignored languages
78
-
79
- ```yaml
80
- MD010:
81
- code_blocks: true
82
- spaces_per_tab: 4
83
- ignore_code_languages:
84
- - makefile
85
- - make
86
- - Makefile
87
- - go.mod
88
- ```
89
-
90
- With this configuration, tabs will be allowed in code blocks marked with these languages:
91
-
92
- ````markdown
93
- ```makefile
94
- # Tabs are required in Makefiles
95
- target:
96
- command with tab
97
- ```
98
-
99
- ```python
100
- # Tabs will be replaced with spaces here
101
- def function():
102
- return value
103
- ```
104
- ````
105
72
 
106
73
  ## Automatic fixes
107
74
 
@@ -86,7 +86,7 @@ With this configuration:
86
86
  - Headings can extend up to 100 characters
87
87
  - Code blocks can have lines up to 120 characters
88
88
 
89
- ```markdown
89
+ ````markdown
90
90
  This regular paragraph text must wrap at 80 characters to comply with the rule.
91
91
 
92
92
  ## This heading can be longer and extend up to 100 characters without triggering a warning
@@ -96,7 +96,7 @@ This regular paragraph text must wrap at 80 characters to comply with the rule.
96
96
  def very_long_function_name_that_demonstrates_the_code_block_line_length_configuration_option():
97
97
  pass
98
98
  ```
99
- ```
99
+ ````
100
100
 
101
101
  ## Automatic fixes
102
102
 
@@ -50,13 +50,45 @@ See [external documentation](README.md#setup) for setup instructions.
50
50
  ### 🔧 Fixed
51
51
 
52
52
  This rule cannot automatically fix missing anchors - you need to either:
53
+
53
54
  - Add the missing heading
54
55
  - Update the link to point to an existing heading
55
56
  - Remove the broken link
56
57
 
57
58
  ## Configuration
58
59
 
59
- This rule has no configuration options.
60
+ This rule supports configuring the anchor generation style to match different Markdown processors:
61
+
62
+ ```toml
63
+ [MD051]
64
+ # Anchor generation style (default: "github")
65
+ # - "github": Preserves Unicode, underscores, and consecutive hyphens
66
+ # - "kramdown": ASCII-only with normalization, removes underscores
67
+ # - "bitbucket": Adds 'markdown-header-' prefix
68
+ anchor-style = "github"
69
+ ```
70
+
71
+ ### Anchor style differences
72
+
73
+ | Heading | GitHub | kramdown | Pandoc | Bitbucket |
74
+ |---------|--------|----------|--------|-----------|
75
+ | `Hello World` | `#hello-world` | `#hello-world` | `#hello-world` | `#markdown-header-hello-world` |
76
+ | `respect_gitignore` | `#respect_gitignore` | `#respectgitignore` | `#respect_gitignore` | `#markdown-header-respect_gitignore` |
77
+ | `snake_case_example` | `#snake_case_example` | `#snakecaseexample` | `#snake_case_example` | `#markdown-header-snake_case_example` |
78
+ | `123 Numbers` | `#123-numbers` | `#numbers` | `#numbers` | `#markdown-header-123-numbers` |
79
+ | `_underscore` | `#_underscore` | `#underscore` | `#underscore` | `#markdown-header-_underscore` |
80
+ | `The End - yay` | `#the-end---yay` | `#the-end---yay` | `#the-end---yay` | `#markdown-header-the-end-yay` |
81
+ | `CI/CD Migration` | `#cicd-migration` | `#cicd-migration` | `#cicd-migration` | `#markdown-header-cicd-migration` |
82
+ | `Café au Lait` | `#café-au-lait` | `#cafe-au-lait` | `#café-au-lait` | `#markdown-header-cafe-au-lait` |
83
+ | `Über uns` | `#über-uns` | `#uber-uns` | `#über-uns` | `#markdown-header-uber-uns` |
84
+ | `你好世界` | `#你好世界` | `#section` | `#你好世界` | `#markdown-header-` |
85
+ | `こんにちは` | `#こんにちは` | `#section` | `#こんにちは` | `#markdown-header-` |
86
+
87
+ **Key differences**:
88
+
89
+ - **GitHub**: Preserves Unicode characters (Chinese, Japanese, Arabic, accented Latin), underscores, and consecutive hyphens
90
+ - **kramdown**: Normalizes accented Latin to ASCII, converts non-Latin scripts to `#section`, removes underscores, preserves consecutive hyphens
91
+ - **Bitbucket**: Adds `markdown-header-` prefix, normalizes accented characters, preserves underscores, collapses consecutive hyphens
60
92
 
61
93
  ## Automatic fixes
62
94
 
@@ -73,14 +73,14 @@ The extension will automatically detect and use your project's `.rumdl.toml` con
73
73
 
74
74
  2. Ensure VS Code's `code` command is in your PATH:
75
75
 
76
- - On macOS: Open VS Code, press Cmd+Shift+P, and run "Shell Command: Install 'code' command in PATH"
77
- - On Windows: This should be automatic during VS Code installation
78
- - On Linux: Add VS Code's bin directory to your PATH
76
+ - On macOS: Open VS Code, press Cmd+Shift+P, and run "Shell Command: Install 'code' command in PATH"
77
+ - On Windows: This should be automatic during VS Code installation
78
+ - On Linux: Add VS Code's bin directory to your PATH
79
79
 
80
80
  3. Check the extension logs:
81
81
 
82
- - Open VS Code's Output panel (View → Output)
83
- - Select "rumdl" from the dropdown
82
+ - Open VS Code's Output panel (View → Output)
83
+ - Select "rumdl" from the dropdown
84
84
 
85
85
  ### VS Code Not Found
86
86
 
@@ -208,4 +208,4 @@ def main():
208
208
  sys.exit(1)
209
209
 
210
210
  if __name__ == "__main__":
211
- main()
211
+ main()
@@ -60,4 +60,4 @@ disallow_incomplete_defs = true
60
60
  [dependency-groups]
61
61
  dev = [
62
62
  "pre-commit>=2.21.0",
63
- ]
63
+ ]
@@ -6,4 +6,4 @@ recursive-exclude __pycache__ *
6
6
  recursive-exclude * *.py[cod]
7
7
  recursive-exclude * *.so
8
8
  recursive-exclude * *.dylib
9
- recursive-exclude * *.pyd
9
+ recursive-exclude * *.pyd
@@ -16,13 +16,13 @@ def find_native_binary() -> str:
16
16
  target_binary = project_root / "target" / "release" / "rumdl"
17
17
  if target_binary.exists() and not target_binary.is_dir():
18
18
  return str(target_binary)
19
-
19
+
20
20
  # For Windows, check for .exe extension
21
21
  if sys.platform == "win32":
22
22
  target_binary = project_root / "target" / "release" / "rumdl.exe"
23
23
  if target_binary.exists() and not target_binary.is_dir():
24
24
  return str(target_binary)
25
-
25
+
26
26
  # If we can't find the binary, raise an error
27
27
  raise FileNotFoundError(
28
28
  "Could not find the native rumdl binary. "
@@ -34,10 +34,10 @@ def main() -> int:
34
34
  try:
35
35
  # Find the native binary
36
36
  native_binary = find_native_binary()
37
-
37
+
38
38
  # Simply forward all arguments to the Rust binary
39
39
  args = [native_binary] + sys.argv[1:]
40
-
40
+
41
41
  # Run the binary
42
42
  if sys.platform == "win32":
43
43
  completed_process = subprocess.run(args)
@@ -54,4 +54,4 @@ def main() -> int:
54
54
  return 1
55
55
 
56
56
  if __name__ == "__main__":
57
- sys.exit(main())
57
+ sys.exit(main())
File without changes
@@ -17,7 +17,7 @@ exclude = [
17
17
  "vendor",
18
18
  "dist",
19
19
  "build",
20
-
20
+
21
21
  # Specific files or patterns
22
22
  "CHANGELOG.md",
23
23
  "LICENSE.md",
@@ -49,4 +49,4 @@ headings = true # Exclude headings from line length check
49
49
 
50
50
  [MD044]
51
51
  names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
52
- code_blocks_excluded = true # Exclude code blocks from proper name check
52
+ code_blocks_excluded = true # Exclude code blocks from proper name check
@@ -1,10 +1,10 @@
1
1
  [toolchain]
2
- channel = "1.88.0"
2
+ channel = "1.89.0"
3
3
  components = ["rustfmt", "clippy"]
4
4
  targets = [
5
5
  "x86_64-unknown-linux-gnu",
6
- "aarch64-unknown-linux-gnu",
6
+ "aarch64-unknown-linux-gnu",
7
7
  "x86_64-pc-windows-msvc",
8
8
  "x86_64-apple-darwin",
9
9
  "aarch64-apple-darwin"
10
- ]
10
+ ]
@@ -14,4 +14,4 @@ awk -v version="$VERSION" '
14
14
  /^## \['"$VERSION"'\]/ { found = 1; next }
15
15
  found && /^## \[/ { exit }
16
16
  found { print }
17
- ' CHANGELOG.md
17
+ ' CHANGELOG.md