rumdl 0.0.52__tar.gz → 0.0.53__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 (265) hide show
  1. {rumdl-0.0.52 → rumdl-0.0.53}/.rumdl.toml +0 -1
  2. {rumdl-0.0.52 → rumdl-0.0.53}/Cargo.lock +327 -11
  3. {rumdl-0.0.52 → rumdl-0.0.53}/Cargo.toml +5 -2
  4. {rumdl-0.0.52 → rumdl-0.0.53}/Makefile +43 -0
  5. {rumdl-0.0.52 → rumdl-0.0.53}/PKG-INFO +1 -1
  6. {rumdl-0.0.52 → rumdl-0.0.53}/docs/RULES.md +0 -2
  7. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md001.md +1 -0
  8. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md002.md +1 -0
  9. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md024.md +6 -0
  10. rumdl-0.0.53/issues/plan-rule-parity-with-markdownlint.md +69 -0
  11. rumdl-0.0.53/src/config.rs +1383 -0
  12. rumdl-0.0.53/src/lib.rs +86 -0
  13. rumdl-0.0.53/src/lint_context.rs +109 -0
  14. rumdl-0.0.53/src/main.rs +1417 -0
  15. rumdl-0.0.53/src/markdownlint_config.rs +288 -0
  16. {rumdl-0.0.52 → rumdl-0.0.53}/src/rule.rs +34 -13
  17. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/code_block_utils.rs +21 -1
  18. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/code_fence_utils.rs +12 -1
  19. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/emphasis_style.rs +12 -1
  20. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/heading_utils.rs +29 -0
  21. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/list_utils.rs +62 -0
  22. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md001_heading_increment.rs +59 -29
  23. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md002_first_heading_h1.rs +39 -14
  24. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md003_heading_style.rs +42 -22
  25. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md004_unordered_list_style.rs +63 -37
  26. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md005_list_indent.rs +38 -15
  27. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md006_start_bullets.rs +112 -77
  28. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md007_ul_indent.rs +37 -12
  29. rumdl-0.0.53/src/rules/md008_ul_style.rs +520 -0
  30. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md009_trailing_spaces.rs +17 -3
  31. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md010_no_hard_tabs.rs +19 -3
  32. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md011_no_reversed_links.rs +12 -3
  33. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md012_no_multiple_blanks.rs +14 -3
  34. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md013_line_length.rs +61 -14
  35. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md014_commands_show_output.rs +16 -5
  36. rumdl-0.0.53/src/rules/md015_no_missing_space_after_list_marker.rs +157 -0
  37. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md018_no_missing_space_atx.rs +39 -9
  38. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md019_no_multiple_space_atx.rs +37 -12
  39. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md020_no_missing_space_closed_atx.rs +40 -12
  40. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md021_no_multiple_space_closed_atx.rs +44 -15
  41. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md022_blanks_around_headings.rs +71 -30
  42. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md023_heading_start_left.rs +34 -12
  43. rumdl-0.0.53/src/rules/md024_no_duplicate_heading.rs +141 -0
  44. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md025_single_title.rs +43 -13
  45. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md026_no_trailing_punctuation.rs +19 -6
  46. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md027_multiple_spaces_blockquote.rs +12 -3
  47. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md028_no_blanks_blockquote.rs +44 -90
  48. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md029_ordered_list_prefix.rs +50 -11
  49. rumdl-0.0.53/src/rules/md030_list_marker_space.rs +528 -0
  50. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md031_blanks_around_fences.rs +36 -12
  51. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md032_blanks_around_lists.rs +36 -14
  52. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md033_no_inline_html.rs +64 -23
  53. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md034_no_bare_urls.rs +109 -63
  54. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md035_hr_style.rs +15 -3
  55. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md036_no_emphasis_only_first.rs +14 -4
  56. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md037_spaces_around_emphasis.rs +37 -9
  57. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md038_no_space_in_code.rs +34 -25
  58. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md039_no_space_in_links.rs +66 -36
  59. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md040_fenced_code_language.rs +28 -8
  60. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md041_first_line_heading.rs +19 -3
  61. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md042_no_empty_links.rs +26 -8
  62. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md043_required_headings.rs +52 -22
  63. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md044_proper_names.rs +16 -2
  64. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md045_no_alt_text.rs +12 -2
  65. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md046_code_block_style.rs +51 -13
  66. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md047_single_trailing_newline.rs +44 -59
  67. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md048_code_fence_style.rs +30 -2
  68. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md049_emphasis_style.rs +35 -4
  69. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md050_strong_style.rs +29 -2
  70. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md051_link_fragments.rs +13 -4
  71. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md052_reference_links_images.rs +12 -2
  72. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md053_link_image_reference_definitions.rs +14 -16
  73. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md054_link_image_style.rs +57 -13
  74. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md055_table_pipe_style.rs +43 -17
  75. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md056_table_column_count.rs +13 -4
  76. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md057_existing_relative_links.rs +51 -29
  77. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/md058_blanks_around_tables.rs +14 -6
  78. rumdl-0.0.53/src/rules/mod.rs +267 -0
  79. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/strong_style.rs +12 -1
  80. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/document_structure.rs +5 -1
  81. {rumdl-0.0.52 → rumdl-0.0.53}/tests/advanced_integration_tests.rs +4 -4
  82. {rumdl-0.0.52 → rumdl-0.0.53}/tests/cli_integration_tests.rs +8 -6
  83. {rumdl-0.0.52 → rumdl-0.0.53}/tests/comprehensive_integration_tests.rs +30 -4
  84. rumdl-0.0.53/tests/config_application_tests.rs +452 -0
  85. {rumdl-0.0.52 → rumdl-0.0.53}/tests/config_tests.rs +165 -36
  86. {rumdl-0.0.52 → rumdl-0.0.53}/tests/integration_tests.rs +7 -6
  87. {rumdl-0.0.52 → rumdl-0.0.53}/tests/markdownlint_cli_integration.rs +49 -17
  88. {rumdl-0.0.52 → rumdl-0.0.53}/tests/markdownlint_config_test.rs +43 -27
  89. rumdl-0.0.53/tests/md030_edge_cases.md +160 -0
  90. {rumdl-0.0.52 → rumdl-0.0.53}/tests/perf_check.rs +6 -4
  91. {rumdl-0.0.52 → rumdl-0.0.53}/tests/pyproject_config_tests.rs +40 -10
  92. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md001_test.rs +16 -8
  93. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md001_unicode_test.rs +17 -8
  94. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md002_test.rs +29 -16
  95. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md003_test.rs +35 -17
  96. rumdl-0.0.53/tests/rules/md004_test.rs +502 -0
  97. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md005_test.rs +25 -14
  98. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md006_test.rs +19 -10
  99. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md006_unicode_test.rs +15 -19
  100. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md007_test.rs +11 -5
  101. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md008_test.rs +74 -43
  102. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md009_test.rs +19 -9
  103. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md010_test.rs +24 -12
  104. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md011_test.rs +9 -4
  105. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md012_test.rs +21 -10
  106. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md013_test.rs +27 -13
  107. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md014_test.rs +29 -14
  108. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md015_test.rs +55 -32
  109. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md018_test.rs +32 -20
  110. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md019_test.rs +60 -18
  111. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md020_test.rs +28 -15
  112. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md021_test.rs +35 -21
  113. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md022_test.rs +111 -61
  114. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md023_extended_test.rs +29 -14
  115. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md023_test.rs +27 -19
  116. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md024_test.rs +61 -29
  117. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md025_test.rs +39 -24
  118. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md026_test.rs +36 -20
  119. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md027_test.rs +9 -4
  120. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md028_test.rs +27 -10
  121. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md029_test.rs +18 -10
  122. rumdl-0.0.53/tests/rules/md030_test.rs +221 -0
  123. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md031_test.rs +12 -5
  124. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md032_test.rs +46 -22
  125. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md033_test.rs +54 -27
  126. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md034_test.rs +46 -25
  127. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md035_test.rs +15 -8
  128. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md036_test.rs +24 -14
  129. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md037_test.rs +75 -46
  130. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md038_test.rs +24 -15
  131. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md039_test.rs +24 -15
  132. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md040_test.rs +21 -13
  133. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md041_test.rs +15 -7
  134. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md042_test.rs +21 -13
  135. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md043_test.rs +19 -12
  136. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md044_test.rs +26 -15
  137. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md045_test.rs +20 -13
  138. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md046_test.rs +26 -15
  139. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md047_test.rs +9 -4
  140. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md048_test.rs +20 -12
  141. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md049_test.rs +55 -35
  142. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md050_test.rs +22 -13
  143. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md051_test.rs +87 -73
  144. rumdl-0.0.53/tests/rules/md052_test.rs +93 -0
  145. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md053_additional_test.rs +128 -80
  146. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md053_test.rs +66 -39
  147. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md054_test.rs +99 -17
  148. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md054_unicode_test.rs +15 -7
  149. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md055_test.rs +49 -42
  150. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md056_test.rs +19 -9
  151. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md057_test.rs +17 -8
  152. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md058_test.rs +23 -12
  153. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/mod.rs +0 -2
  154. rumdl-0.0.52/docs/md016.md +0 -74
  155. rumdl-0.0.52/src/config.rs +0 -1008
  156. rumdl-0.0.52/src/lib.rs +0 -261
  157. rumdl-0.0.52/src/main.rs +0 -1433
  158. rumdl-0.0.52/src/markdownlint_config.rs +0 -152
  159. rumdl-0.0.52/src/rules/md008_ul_style.rs +0 -473
  160. rumdl-0.0.52/src/rules/md015_no_missing_space_after_list_marker.rs +0 -270
  161. rumdl-0.0.52/src/rules/md016_no_multiple_space_after_list_marker.rs +0 -211
  162. rumdl-0.0.52/src/rules/md024_no_duplicate_heading.rs +0 -198
  163. rumdl-0.0.52/src/rules/md030_list_marker_space.rs +0 -389
  164. rumdl-0.0.52/src/rules/mod.rs +0 -135
  165. rumdl-0.0.52/tests/config_application_tests.rs +0 -420
  166. rumdl-0.0.52/tests/rules/md004_test.rs +0 -328
  167. rumdl-0.0.52/tests/rules/md016_test.rs +0 -139
  168. rumdl-0.0.52/tests/rules/md030_test.rs +0 -109
  169. rumdl-0.0.52/tests/rules/md052_test.rs +0 -140
  170. {rumdl-0.0.52 → rumdl-0.0.53}/MANIFEST.in +0 -0
  171. {rumdl-0.0.52 → rumdl-0.0.53}/README.md +0 -0
  172. {rumdl-0.0.52 → rumdl-0.0.53}/assets/logo.png +0 -0
  173. {rumdl-0.0.52 → rumdl-0.0.53}/benches/range_performance.rs +0 -0
  174. {rumdl-0.0.52 → rumdl-0.0.53}/benches/range_utils_benchmark.rs +0 -0
  175. {rumdl-0.0.52 → rumdl-0.0.53}/benches/rule_performance.rs +0 -0
  176. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md003.md +0 -0
  177. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md004.md +0 -0
  178. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md005.md +0 -0
  179. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md006.md +0 -0
  180. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md007.md +0 -0
  181. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md008.md +0 -0
  182. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md009.md +0 -0
  183. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md010.md +0 -0
  184. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md011.md +0 -0
  185. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md012.md +0 -0
  186. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md013.md +0 -0
  187. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md014.md +0 -0
  188. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md015.md +0 -0
  189. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md018.md +0 -0
  190. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md019.md +0 -0
  191. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md020.md +0 -0
  192. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md021.md +0 -0
  193. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md022.md +0 -0
  194. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md023.md +0 -0
  195. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md025.md +0 -0
  196. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md026.md +0 -0
  197. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md027.md +0 -0
  198. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md028.md +0 -0
  199. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md029.md +0 -0
  200. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md030.md +0 -0
  201. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md031.md +0 -0
  202. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md032.md +0 -0
  203. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md033.md +0 -0
  204. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md034.md +0 -0
  205. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md035.md +0 -0
  206. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md036.md +0 -0
  207. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md037.md +0 -0
  208. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md038.md +0 -0
  209. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md039.md +0 -0
  210. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md040.md +0 -0
  211. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md041.md +0 -0
  212. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md042.md +0 -0
  213. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md043.md +0 -0
  214. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md044.md +0 -0
  215. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md045.md +0 -0
  216. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md046.md +0 -0
  217. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md047.md +0 -0
  218. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md048.md +0 -0
  219. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md049.md +0 -0
  220. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md050.md +0 -0
  221. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md051.md +0 -0
  222. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md052.md +0 -0
  223. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md053.md +0 -0
  224. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md054.md +0 -0
  225. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md055.md +0 -0
  226. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md056.md +0 -0
  227. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md057.md +0 -0
  228. {rumdl-0.0.52 → rumdl-0.0.53}/docs/md058.md +0 -0
  229. {rumdl-0.0.52 → rumdl-0.0.53}/pyproject.toml +0 -0
  230. {rumdl-0.0.52 → rumdl-0.0.53}/python/MANIFEST.in +0 -0
  231. {rumdl-0.0.52 → rumdl-0.0.53}/python/PYTHON-README.md +0 -0
  232. {rumdl-0.0.52 → rumdl-0.0.53}/python/rumdl/__init__.py +0 -0
  233. {rumdl-0.0.52 → rumdl-0.0.53}/python/rumdl/__main__.py +0 -0
  234. {rumdl-0.0.52 → rumdl-0.0.53}/python/rumdl/py.typed +0 -0
  235. {rumdl-0.0.52 → rumdl-0.0.53}/rumdl.toml.example +0 -0
  236. {rumdl-0.0.52 → rumdl-0.0.53}/src/init.rs +0 -0
  237. {rumdl-0.0.52 → rumdl-0.0.53}/src/profiling.rs +0 -0
  238. {rumdl-0.0.52 → rumdl-0.0.53}/src/python.rs +0 -0
  239. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/blockquote_utils.rs +0 -0
  240. {rumdl-0.0.52 → rumdl-0.0.53}/src/rules/front_matter_utils.rs +0 -0
  241. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/code_block_utils.rs +0 -0
  242. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/early_returns.rs +0 -0
  243. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/element_cache.rs +0 -0
  244. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/markdown_elements.rs +0 -0
  245. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/mod.rs +0 -0
  246. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/range_utils.rs +0 -0
  247. {rumdl-0.0.52 → rumdl-0.0.53}/src/utils/regex_cache.rs +0 -0
  248. {rumdl-0.0.52 → rumdl-0.0.53}/tests/cli_duplication_test.rs +0 -0
  249. {rumdl-0.0.52 → rumdl-0.0.53}/tests/commonmark_compliance_tests.rs +0 -0
  250. {rumdl-0.0.52 → rumdl-0.0.53}/tests/init_command_test.rs +0 -0
  251. {rumdl-0.0.52 → rumdl-0.0.53}/tests/init_tests.rs +0 -0
  252. {rumdl-0.0.52 → rumdl-0.0.53}/tests/lib.rs +0 -0
  253. {rumdl-0.0.52 → rumdl-0.0.53}/tests/output_format_tests.rs +0 -0
  254. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md015_proptest.rs +0 -0
  255. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md033_extended_test.rs +0 -0
  256. {rumdl-0.0.52 → rumdl-0.0.53}/tests/rules/md053_proptest.rs +0 -0
  257. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/blockquote_utils_test.rs +0 -0
  258. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/code_block_utils_extended_test.rs +0 -0
  259. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/code_block_utils_test.rs +0 -0
  260. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/core_utils_test.rs +0 -0
  261. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/front_matter_utils_test.rs +0 -0
  262. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/line_index_test.rs +0 -0
  263. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils/mod.rs +0 -0
  264. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils_markdown_edge_cases.rs +0 -0
  265. {rumdl-0.0.52 → rumdl-0.0.53}/tests/utils_tests.rs +0 -0
@@ -8,7 +8,6 @@ include = [
8
8
  ]
9
9
  # Globally disable specific rules
10
10
  disable = ["MD033"]
11
-
12
11
  respect_gitignore = true
13
12
 
14
13
  [MD013]
@@ -444,6 +444,17 @@ dependencies = [
444
444
  "crypto-common",
445
445
  ]
446
446
 
447
+ [[package]]
448
+ name = "displaydoc"
449
+ version = "0.2.5"
450
+ source = "registry+https://github.com/rust-lang/crates.io-index"
451
+ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
452
+ dependencies = [
453
+ "proc-macro2",
454
+ "quote",
455
+ "syn",
456
+ ]
457
+
447
458
  [[package]]
448
459
  name = "dlv-list"
449
460
  version = "0.5.2"
@@ -459,6 +470,12 @@ version = "0.3.3"
459
470
  source = "registry+https://github.com/rust-lang/crates.io-index"
460
471
  checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
461
472
 
473
+ [[package]]
474
+ name = "dyn-clone"
475
+ version = "1.0.19"
476
+ source = "registry+https://github.com/rust-lang/crates.io-index"
477
+ checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
478
+
462
479
  [[package]]
463
480
  name = "either"
464
481
  version = "1.15.0"
@@ -534,6 +551,15 @@ version = "0.1.5"
534
551
  source = "registry+https://github.com/rust-lang/crates.io-index"
535
552
  checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
536
553
 
554
+ [[package]]
555
+ name = "form_urlencoded"
556
+ version = "1.2.1"
557
+ source = "registry+https://github.com/rust-lang/crates.io-index"
558
+ checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
559
+ dependencies = [
560
+ "percent-encoding",
561
+ ]
562
+
537
563
  [[package]]
538
564
  name = "generic-array"
539
565
  version = "0.14.7"
@@ -604,9 +630,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
604
630
 
605
631
  [[package]]
606
632
  name = "hashbrown"
607
- version = "0.15.2"
633
+ version = "0.15.3"
608
634
  source = "registry+https://github.com/rust-lang/crates.io-index"
609
- checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
635
+ checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
610
636
  dependencies = [
611
637
  "foldhash",
612
638
  ]
@@ -617,7 +643,7 @@ version = "0.10.0"
617
643
  source = "registry+https://github.com/rust-lang/crates.io-index"
618
644
  checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
619
645
  dependencies = [
620
- "hashbrown 0.15.2",
646
+ "hashbrown 0.15.3",
621
647
  ]
622
648
 
623
649
  [[package]]
@@ -632,6 +658,145 @@ version = "0.5.0"
632
658
  source = "registry+https://github.com/rust-lang/crates.io-index"
633
659
  checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e"
634
660
 
661
+ [[package]]
662
+ name = "icu_collections"
663
+ version = "1.5.0"
664
+ source = "registry+https://github.com/rust-lang/crates.io-index"
665
+ checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
666
+ dependencies = [
667
+ "displaydoc",
668
+ "yoke",
669
+ "zerofrom",
670
+ "zerovec",
671
+ ]
672
+
673
+ [[package]]
674
+ name = "icu_locid"
675
+ version = "1.5.0"
676
+ source = "registry+https://github.com/rust-lang/crates.io-index"
677
+ checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
678
+ dependencies = [
679
+ "displaydoc",
680
+ "litemap",
681
+ "tinystr",
682
+ "writeable",
683
+ "zerovec",
684
+ ]
685
+
686
+ [[package]]
687
+ name = "icu_locid_transform"
688
+ version = "1.5.0"
689
+ source = "registry+https://github.com/rust-lang/crates.io-index"
690
+ checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
691
+ dependencies = [
692
+ "displaydoc",
693
+ "icu_locid",
694
+ "icu_locid_transform_data",
695
+ "icu_provider",
696
+ "tinystr",
697
+ "zerovec",
698
+ ]
699
+
700
+ [[package]]
701
+ name = "icu_locid_transform_data"
702
+ version = "1.5.1"
703
+ source = "registry+https://github.com/rust-lang/crates.io-index"
704
+ checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
705
+
706
+ [[package]]
707
+ name = "icu_normalizer"
708
+ version = "1.5.0"
709
+ source = "registry+https://github.com/rust-lang/crates.io-index"
710
+ checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
711
+ dependencies = [
712
+ "displaydoc",
713
+ "icu_collections",
714
+ "icu_normalizer_data",
715
+ "icu_properties",
716
+ "icu_provider",
717
+ "smallvec",
718
+ "utf16_iter",
719
+ "utf8_iter",
720
+ "write16",
721
+ "zerovec",
722
+ ]
723
+
724
+ [[package]]
725
+ name = "icu_normalizer_data"
726
+ version = "1.5.1"
727
+ source = "registry+https://github.com/rust-lang/crates.io-index"
728
+ checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
729
+
730
+ [[package]]
731
+ name = "icu_properties"
732
+ version = "1.5.1"
733
+ source = "registry+https://github.com/rust-lang/crates.io-index"
734
+ checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
735
+ dependencies = [
736
+ "displaydoc",
737
+ "icu_collections",
738
+ "icu_locid_transform",
739
+ "icu_properties_data",
740
+ "icu_provider",
741
+ "tinystr",
742
+ "zerovec",
743
+ ]
744
+
745
+ [[package]]
746
+ name = "icu_properties_data"
747
+ version = "1.5.1"
748
+ source = "registry+https://github.com/rust-lang/crates.io-index"
749
+ checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
750
+
751
+ [[package]]
752
+ name = "icu_provider"
753
+ version = "1.5.0"
754
+ source = "registry+https://github.com/rust-lang/crates.io-index"
755
+ checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
756
+ dependencies = [
757
+ "displaydoc",
758
+ "icu_locid",
759
+ "icu_provider_macros",
760
+ "stable_deref_trait",
761
+ "tinystr",
762
+ "writeable",
763
+ "yoke",
764
+ "zerofrom",
765
+ "zerovec",
766
+ ]
767
+
768
+ [[package]]
769
+ name = "icu_provider_macros"
770
+ version = "1.5.0"
771
+ source = "registry+https://github.com/rust-lang/crates.io-index"
772
+ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
773
+ dependencies = [
774
+ "proc-macro2",
775
+ "quote",
776
+ "syn",
777
+ ]
778
+
779
+ [[package]]
780
+ name = "idna"
781
+ version = "1.0.3"
782
+ source = "registry+https://github.com/rust-lang/crates.io-index"
783
+ checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
784
+ dependencies = [
785
+ "idna_adapter",
786
+ "smallvec",
787
+ "utf8_iter",
788
+ ]
789
+
790
+ [[package]]
791
+ name = "idna_adapter"
792
+ version = "1.2.0"
793
+ source = "registry+https://github.com/rust-lang/crates.io-index"
794
+ checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
795
+ dependencies = [
796
+ "icu_normalizer",
797
+ "icu_properties",
798
+ ]
799
+
635
800
  [[package]]
636
801
  name = "ignore"
637
802
  version = "0.4.23"
@@ -655,7 +820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
655
820
  checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
656
821
  dependencies = [
657
822
  "equivalent",
658
- "hashbrown 0.15.2",
823
+ "hashbrown 0.15.3",
659
824
  ]
660
825
 
661
826
  [[package]]
@@ -757,6 +922,12 @@ version = "0.9.4"
757
922
  source = "registry+https://github.com/rust-lang/crates.io-index"
758
923
  checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
759
924
 
925
+ [[package]]
926
+ name = "litemap"
927
+ version = "0.7.5"
928
+ source = "registry+https://github.com/rust-lang/crates.io-index"
929
+ checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
930
+
760
931
  [[package]]
761
932
  name = "log"
762
933
  version = "0.4.27"
@@ -836,6 +1007,12 @@ version = "0.2.3"
836
1007
  source = "registry+https://github.com/rust-lang/crates.io-index"
837
1008
  checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
838
1009
 
1010
+ [[package]]
1011
+ name = "percent-encoding"
1012
+ version = "2.3.1"
1013
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1014
+ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1015
+
839
1016
  [[package]]
840
1017
  name = "pest"
841
1018
  version = "2.8.0"
@@ -1208,7 +1385,7 @@ dependencies = [
1208
1385
 
1209
1386
  [[package]]
1210
1387
  name = "rumdl"
1211
- version = "0.0.52"
1388
+ version = "0.0.53"
1212
1389
  dependencies = [
1213
1390
  "anyhow",
1214
1391
  "assert_cmd",
@@ -1218,6 +1395,7 @@ dependencies = [
1218
1395
  "console",
1219
1396
  "criterion",
1220
1397
  "dialoguer",
1398
+ "dyn-clone",
1221
1399
  "fancy-regex",
1222
1400
  "glob",
1223
1401
  "globset",
@@ -1242,6 +1420,8 @@ dependencies = [
1242
1420
  "tempfile",
1243
1421
  "thiserror 2.0.12",
1244
1422
  "toml",
1423
+ "toml_edit",
1424
+ "url",
1245
1425
  "walkdir",
1246
1426
  ]
1247
1427
 
@@ -1258,9 +1438,9 @@ dependencies = [
1258
1438
 
1259
1439
  [[package]]
1260
1440
  name = "rustix"
1261
- version = "1.0.5"
1441
+ version = "1.0.7"
1262
1442
  source = "registry+https://github.com/rust-lang/crates.io-index"
1263
- checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf"
1443
+ checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
1264
1444
  dependencies = [
1265
1445
  "bitflags",
1266
1446
  "errno",
@@ -1358,9 +1538,9 @@ dependencies = [
1358
1538
 
1359
1539
  [[package]]
1360
1540
  name = "sha2"
1361
- version = "0.10.8"
1541
+ version = "0.10.9"
1362
1542
  source = "registry+https://github.com/rust-lang/crates.io-index"
1363
- checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
1543
+ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
1364
1544
  dependencies = [
1365
1545
  "cfg-if",
1366
1546
  "cpufeatures",
@@ -1373,6 +1553,18 @@ version = "1.1.0"
1373
1553
  source = "registry+https://github.com/rust-lang/crates.io-index"
1374
1554
  checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
1375
1555
 
1556
+ [[package]]
1557
+ name = "smallvec"
1558
+ version = "1.15.0"
1559
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1560
+ checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
1561
+
1562
+ [[package]]
1563
+ name = "stable_deref_trait"
1564
+ version = "1.2.0"
1565
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1566
+ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1567
+
1376
1568
  [[package]]
1377
1569
  name = "strsim"
1378
1570
  version = "0.11.1"
@@ -1390,6 +1582,17 @@ dependencies = [
1390
1582
  "unicode-ident",
1391
1583
  ]
1392
1584
 
1585
+ [[package]]
1586
+ name = "synstructure"
1587
+ version = "0.13.2"
1588
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1589
+ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
1590
+ dependencies = [
1591
+ "proc-macro2",
1592
+ "quote",
1593
+ "syn",
1594
+ ]
1595
+
1393
1596
  [[package]]
1394
1597
  name = "target-lexicon"
1395
1598
  version = "0.13.2"
@@ -1464,6 +1667,16 @@ dependencies = [
1464
1667
  "crunchy",
1465
1668
  ]
1466
1669
 
1670
+ [[package]]
1671
+ name = "tinystr"
1672
+ version = "0.7.6"
1673
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1674
+ checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
1675
+ dependencies = [
1676
+ "displaydoc",
1677
+ "zerovec",
1678
+ ]
1679
+
1467
1680
  [[package]]
1468
1681
  name = "tinytemplate"
1469
1682
  version = "1.2.1"
@@ -1575,6 +1788,30 @@ version = "0.2.11"
1575
1788
  source = "registry+https://github.com/rust-lang/crates.io-index"
1576
1789
  checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
1577
1790
 
1791
+ [[package]]
1792
+ name = "url"
1793
+ version = "2.5.4"
1794
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1795
+ checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
1796
+ dependencies = [
1797
+ "form_urlencoded",
1798
+ "idna",
1799
+ "percent-encoding",
1800
+ "serde",
1801
+ ]
1802
+
1803
+ [[package]]
1804
+ name = "utf16_iter"
1805
+ version = "1.0.5"
1806
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1807
+ checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
1808
+
1809
+ [[package]]
1810
+ name = "utf8_iter"
1811
+ version = "1.0.4"
1812
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1813
+ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
1814
+
1578
1815
  [[package]]
1579
1816
  name = "utf8parse"
1580
1817
  version = "0.2.2"
@@ -1783,9 +2020,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1783
2020
 
1784
2021
  [[package]]
1785
2022
  name = "winnow"
1786
- version = "0.7.7"
2023
+ version = "0.7.9"
1787
2024
  source = "registry+https://github.com/rust-lang/crates.io-index"
1788
- checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5"
2025
+ checksum = "d9fb597c990f03753e08d3c29efbfcf2019a003b4bf4ba19225c158e1549f0f3"
1789
2026
  dependencies = [
1790
2027
  "memchr",
1791
2028
  ]
@@ -1799,6 +2036,18 @@ dependencies = [
1799
2036
  "bitflags",
1800
2037
  ]
1801
2038
 
2039
+ [[package]]
2040
+ name = "write16"
2041
+ version = "1.0.0"
2042
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2043
+ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
2044
+
2045
+ [[package]]
2046
+ name = "writeable"
2047
+ version = "0.5.5"
2048
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2049
+ checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
2050
+
1802
2051
  [[package]]
1803
2052
  name = "yaml-rust2"
1804
2053
  version = "0.10.1"
@@ -1816,6 +2065,30 @@ version = "1.0.1"
1816
2065
  source = "registry+https://github.com/rust-lang/crates.io-index"
1817
2066
  checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
1818
2067
 
2068
+ [[package]]
2069
+ name = "yoke"
2070
+ version = "0.7.5"
2071
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2072
+ checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
2073
+ dependencies = [
2074
+ "serde",
2075
+ "stable_deref_trait",
2076
+ "yoke-derive",
2077
+ "zerofrom",
2078
+ ]
2079
+
2080
+ [[package]]
2081
+ name = "yoke-derive"
2082
+ version = "0.7.5"
2083
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2084
+ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
2085
+ dependencies = [
2086
+ "proc-macro2",
2087
+ "quote",
2088
+ "syn",
2089
+ "synstructure",
2090
+ ]
2091
+
1819
2092
  [[package]]
1820
2093
  name = "zerocopy"
1821
2094
  version = "0.8.25"
@@ -1836,8 +2109,51 @@ dependencies = [
1836
2109
  "syn",
1837
2110
  ]
1838
2111
 
2112
+ [[package]]
2113
+ name = "zerofrom"
2114
+ version = "0.1.6"
2115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2116
+ checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
2117
+ dependencies = [
2118
+ "zerofrom-derive",
2119
+ ]
2120
+
2121
+ [[package]]
2122
+ name = "zerofrom-derive"
2123
+ version = "0.1.6"
2124
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2125
+ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
2126
+ dependencies = [
2127
+ "proc-macro2",
2128
+ "quote",
2129
+ "syn",
2130
+ "synstructure",
2131
+ ]
2132
+
1839
2133
  [[package]]
1840
2134
  name = "zeroize"
1841
2135
  version = "1.8.1"
1842
2136
  source = "registry+https://github.com/rust-lang/crates.io-index"
1843
2137
  checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
2138
+
2139
+ [[package]]
2140
+ name = "zerovec"
2141
+ version = "0.10.4"
2142
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2143
+ checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
2144
+ dependencies = [
2145
+ "yoke",
2146
+ "zerofrom",
2147
+ "zerovec-derive",
2148
+ ]
2149
+
2150
+ [[package]]
2151
+ name = "zerovec-derive"
2152
+ version = "0.10.3"
2153
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2154
+ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
2155
+ dependencies = [
2156
+ "proc-macro2",
2157
+ "quote",
2158
+ "syn",
2159
+ ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.52"
3
+ version = "0.0.53"
4
4
  edition = "2021"
5
5
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
6
6
  authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
@@ -47,9 +47,12 @@ indicatif = "0.17.11"
47
47
 
48
48
  log = "0.4.27"
49
49
  pretty_assertions = "1.4"
50
- markdown = "1.0.0-alpha.23"
50
+ markdown = "1.0.0"
51
51
  config = "0.15"
52
52
  regex = "1.11.1"
53
+ toml_edit = "0.22"
54
+ dyn-clone = "1"
55
+ url = { version = "2", features = ["serde"] }
53
56
 
54
57
  [features]
55
58
  default = ["parallel", "profiling"]
@@ -124,3 +124,46 @@ maturin-build:
124
124
 
125
125
  maturin-sdist:
126
126
  uv run --with pip,maturin[zig],cffi maturin sdist
127
+
128
+ run:
129
+ cargo run --release --bin rumdl check .
130
+
131
+ run-readme:
132
+ cargo run --release --bin rumdl check README.md
133
+
134
+ run-small:
135
+ cargo run --release --bin rumdl check benchmark/test-data/small
136
+
137
+ run-medium:
138
+ cargo run --release --bin rumdl check benchmark/test-data/medium
139
+
140
+ run-large:
141
+ cargo run --release --bin rumdl check benchmark/test-data/large
142
+
143
+ run-rule:
144
+ cargo run --release --bin rumdl -- rule MD001
145
+
146
+ run-config:
147
+ cargo run --release --bin rumdl -- config
148
+
149
+ run-config-defaults:
150
+ cargo run --release --bin rumdl -- config --defaults
151
+
152
+ run-config-toml:
153
+ cargo run --release --bin rumdl -- config --output toml
154
+
155
+ run-config-defaults-toml:
156
+ cargo run --release --bin rumdl -- config --defaults --output toml
157
+
158
+ run-config-defaults-smart:
159
+ cargo run --release --bin rumdl -- config --defaults --output smart
160
+
161
+ run-help:
162
+ cargo run --release --bin rumdl -- help
163
+
164
+ trigger-pre-commit:
165
+ curl -X POST \
166
+ -H "Accept: application/vnd.github+json" \
167
+ -H "Authorization: Bearer $(PRECOMMIT_DISPATCH_TOKEN)" \
168
+ https://api.github.com/repos/rvben/rumdl-pre-commit/dispatches \
169
+ -d '{"event_type": "pypi_release"}'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.52
3
+ Version: 0.0.53
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -112,8 +112,6 @@ Each rule has a brief description and a link to its detailed documentation.
112
112
  | Rule ID | Rule Name | Description |
113
113
  |---------|-----------|-------------|
114
114
  | [MD015](md015.md) | No multiple space list | Multiple spaces after list marker |
115
- | [MD016](md016.md) | No multiple space after list | Multiple spaces after list marker |
116
- | [MD017](md017.md) | No multiple space after list item | Multiple spaces after list item |
117
115
  | [MD057](md057.md) | Relative links | Relative links should exist |
118
116
 
119
117
  ## Using Rules
@@ -22,6 +22,7 @@ This rule is triggered when you skip heading levels in your Markdown document, s
22
22
  ## Rationale
23
23
 
24
24
  Maintaining a proper heading hierarchy is important for:
25
+
25
26
  - Document structure and readability
26
27
  - Accessibility (screen readers rely on proper heading hierarchy)
27
28
  - SEO optimization
@@ -33,6 +33,7 @@ Example configuration:
33
33
  ## Examples
34
34
 
35
35
  <!-- markdownlint-disable -->
36
+
36
37
  ### Valid
37
38
 
38
39
  ```markdown
@@ -63,6 +63,12 @@ if they are not at the same level in the document hierarchy. Default is `false`.
63
63
  - `siblings_only`: When set to `true`, only sibling headings (headings at the same level in
64
64
  the document hierarchy) are checked for duplicates. Default is `false`.
65
65
 
66
+ ## Fix Behavior
67
+
68
+ MD024 does not support auto-fixing.
69
+
70
+ Duplicate headings are only reported as warnings; no automatic fix is provided. This is because removing or changing headings automatically could result in data loss or confusion. Please review and resolve duplicate headings manually.
71
+
66
72
  ## Special Cases
67
73
 
68
74
  - This rule does not apply to headings within code blocks
@@ -0,0 +1,69 @@
1
+ # Plan: Rule Parity and Improvement with markdownlint
2
+
3
+ ## Objective
4
+ Achieve full rule parity, consistency, and feature completeness with [markdownlint](https://marketplace.visualstudio.com/items/?itemName=DavidAnson.vscode-markdownlint) in the rumdl project, while improving maintainability, documentation, and user experience.
5
+
6
+ ---
7
+
8
+ ## 1. Rule Coverage Audit
9
+ - [x] Review all rules implemented in rumdl (`src/rules/`) and compare with the [markdownlint Rules List](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md).
10
+ - [x] Identify any missing rules or rules with incomplete/ambiguous coverage.
11
+ - [x] Document any intentional differences or custom rules.
12
+
13
+ ## 2. Duplicate and Fragmented Rule Consolidation
14
+ - [x] Identify rules with multiple implementations (e.g., MD011, MD029).
15
+ - [x] Consolidate into a single, canonical implementation per rule.
16
+ - [x] Archive or remove deprecated/old versions to avoid confusion.
17
+ - [x] Ensure all rule files follow the `md{number}_{description}.rs` naming pattern.
18
+ - [x] Rename all rule files to match the markdownlint naming convention for clarity and consistency.
19
+
20
+ ## 3. Documentation Improvements
21
+ - [x] Ensure every rule has a corresponding documentation file in `docs/` (e.g., `md001.md`).
22
+ - [x] Update documentation to follow the required structure:
23
+ - Purpose and rationale
24
+ - Configuration options
25
+ - Valid/invalid/fixed examples (with linter disabled for examples)
26
+ - Special cases and edge cases
27
+ - Related rules and cross-references
28
+ - [x] Document any differences from markdownlint, if intentional.
29
+
30
+ ## 4. Test Coverage
31
+ - [~] Ensure each rule has a comprehensive test file in `tests/rules/`. (Most rules covered; verify edge cases)
32
+ - [~] Tests should cover valid, invalid, edge, and fix cases. (Ongoing)
33
+ - [~] Remove any test patterns that do not reflect real-world Markdown usage. (Ongoing)
34
+
35
+ ## 5. Configuration and Auto-fix Support
36
+ - [~] Review each rule for configuration options (e.g., preferred list marker, heading style, etc.). (Partial)
37
+ - [~] Ensure configuration is documented and tested. (Partial)
38
+ - [~] Ensure all auto-fixable rules have robust `fix()` implementations. (Partial)
39
+ - [~] Document which rules are auto-fixable. (Partial)
40
+
41
+ ## 6. Performance and Code Quality
42
+ - [~] Continue optimizing regex usage and string allocations. (Ongoing)
43
+ - [~] Minimize duplicate logic by using shared utilities where possible. (Ongoing)
44
+ - [~] Maintain consistent code style and idiomatic Rust. (Ongoing)
45
+
46
+ ## 7. User Experience Enhancements
47
+ - [ ] Add a summary command or output listing enabled rules, their configuration, and auto-fix status. (Planned)
48
+ - [ ] Consider a plugin system for custom rules in the future. (Planned)
49
+
50
+ ## 8. Action Items Table
51
+ | Task | Owner | Status | Notes |
52
+ |--------------------------|-------|----------------|------------------------------------------------------------|
53
+ | Rule audit | | In Progress | Nearly complete; minor edge case review may remain |
54
+ | Consolidate duplicates | | Complete | All major duplicates handled |
55
+ | Update docs | | Complete | All rules have docs |
56
+ | Improve tests | | In Progress | Most rules have tests; verify coverage if not done |
57
+ | Config/auto-fix review | | In Progress | Some rules support this; full audit may be needed |
58
+ | Performance/code quality | | In Progress | Ongoing improvements |
59
+ | UX enhancements | | Planned | Not started or in early stages |
60
+
61
+ ---
62
+
63
+ ## References
64
+ - [markdownlint VSCode Extension](https://marketplace.visualstudio.com/items/?itemName=DavidAnson.vscode-markdownlint)
65
+ - [markdownlint Rules Documentation](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md)
66
+
67
+ ---
68
+
69
+ *Last updated: 2024-06-10*