rumdl 0.0.83__tar.gz → 0.0.84__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 (324) hide show
  1. rumdl-0.0.84/CHANGELOG.md +64 -0
  2. {rumdl-0.0.83 → rumdl-0.0.84}/Cargo.lock +34 -64
  3. {rumdl-0.0.83 → rumdl-0.0.84}/Cargo.toml +1 -1
  4. {rumdl-0.0.83 → rumdl-0.0.84}/Makefile +21 -4
  5. {rumdl-0.0.83 → rumdl-0.0.84}/PKG-INFO +1 -1
  6. rumdl-0.0.84/scripts/extract-changelog.sh +17 -0
  7. rumdl-0.0.84/scripts/prepare-release.sh +68 -0
  8. {rumdl-0.0.83 → rumdl-0.0.84}/src/lib.rs +5 -1
  9. rumdl-0.0.84/src/lint_context.rs +1706 -0
  10. rumdl-0.0.84/src/rule_config.rs +45 -0
  11. rumdl-0.0.84/src/rule_config_serde.rs +86 -0
  12. rumdl-0.0.84/src/rules/md001_heading_increment.rs +223 -0
  13. rumdl-0.0.84/src/rules/md002_first_heading_h1/md002_config.rs +27 -0
  14. rumdl-0.0.84/src/rules/md002_first_heading_h1.rs +294 -0
  15. rumdl-0.0.84/src/rules/md003_heading_style/md003_config.rs +44 -0
  16. rumdl-0.0.84/src/rules/md003_heading_style.rs +363 -0
  17. rumdl-0.0.84/src/rules/md004_unordered_list_style/md004_config.rs +76 -0
  18. rumdl-0.0.84/src/rules/md004_unordered_list_style.rs +338 -0
  19. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md005_list_indent.rs +21 -90
  20. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md006_start_bullets.rs +104 -8
  21. rumdl-0.0.84/src/rules/md007_ul_indent/md007_config.rs +27 -0
  22. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md007_ul_indent.rs +33 -14
  23. rumdl-0.0.84/src/rules/md009_trailing_spaces/md009_config.rs +32 -0
  24. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md009_trailing_spaces.rs +46 -46
  25. rumdl-0.0.84/src/rules/md010_no_hard_tabs/md010_config.rs +36 -0
  26. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md010_no_hard_tabs.rs +37 -29
  27. rumdl-0.0.84/src/rules/md012_no_multiple_blanks/md012_config.rs +27 -0
  28. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md012_no_multiple_blanks.rs +39 -21
  29. rumdl-0.0.84/src/rules/md013_line_length/md013_config.rs +59 -0
  30. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md013_line_length.rs +48 -66
  31. rumdl-0.0.84/src/rules/md014_commands_show_output/md014_config.rs +27 -0
  32. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md014_commands_show_output.rs +31 -14
  33. rumdl-0.0.84/src/rules/md018_no_missing_space_atx.rs +377 -0
  34. rumdl-0.0.84/src/rules/md019_no_multiple_space_atx.rs +202 -0
  35. rumdl-0.0.84/src/rules/md020_no_missing_space_closed_atx.rs +255 -0
  36. rumdl-0.0.84/src/rules/md021_no_multiple_space_closed_atx.rs +239 -0
  37. rumdl-0.0.84/src/rules/md022_blanks_around_headings/md022_config.rs +45 -0
  38. rumdl-0.0.84/src/rules/md022_blanks_around_headings.rs +830 -0
  39. rumdl-0.0.84/src/rules/md023_heading_start_left.rs +245 -0
  40. rumdl-0.0.84/src/rules/md024_no_duplicate_heading/md024_config.rs +28 -0
  41. rumdl-0.0.84/src/rules/md024_no_duplicate_heading.rs +172 -0
  42. rumdl-0.0.84/src/rules/md025_single_title/md025_config.rs +49 -0
  43. rumdl-0.0.84/src/rules/md025_single_title.rs +618 -0
  44. rumdl-0.0.84/src/rules/md026_no_trailing_punctuation/md026_config.rs +24 -0
  45. rumdl-0.0.84/src/rules/md026_no_trailing_punctuation.rs +412 -0
  46. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md027_multiple_spaces_blockquote.rs +55 -55
  47. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md028_no_blanks_blockquote.rs +50 -45
  48. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md029_ordered_list_prefix.rs +1 -0
  49. rumdl-0.0.84/src/rules/md030_list_marker_space/md030_config.rs +42 -0
  50. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md030_list_marker_space.rs +113 -114
  51. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md032_blanks_around_lists.rs +140 -220
  52. rumdl-0.0.84/src/rules/md033_no_inline_html/md033_config.rs +28 -0
  53. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md033_no_inline_html.rs +25 -26
  54. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md034_no_bare_urls.rs +11 -21
  55. rumdl-0.0.84/src/rules/md035_hr_style/md035_config.rs +28 -0
  56. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md035_hr_style.rs +17 -8
  57. rumdl-0.0.84/src/rules/md036_no_emphasis_only_first/md036_config.rs +29 -0
  58. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md036_no_emphasis_only_first.rs +23 -8
  59. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md038_no_space_in_code.rs +45 -144
  60. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md039_no_space_in_links.rs +165 -111
  61. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md041_first_line_heading.rs +99 -39
  62. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md042_no_empty_links.rs +62 -40
  63. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md043_required_headings.rs +60 -265
  64. rumdl-0.0.84/src/rules/md044_proper_names/md044_config.rs +28 -0
  65. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md044_proper_names.rs +104 -81
  66. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md045_no_alt_text.rs +26 -51
  67. rumdl-0.0.84/src/rules/md046_code_block_style/md046_config.rs +46 -0
  68. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md046_code_block_style.rs +23 -22
  69. rumdl-0.0.84/src/rules/md048_code_fence_style/md048_config.rs +46 -0
  70. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md048_code_fence_style.rs +22 -21
  71. rumdl-0.0.84/src/rules/md049_emphasis_style/md049_config.rs +41 -0
  72. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md049_emphasis_style.rs +20 -19
  73. rumdl-0.0.84/src/rules/md050_strong_style/md050_config.rs +46 -0
  74. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md050_strong_style.rs +23 -22
  75. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md051_link_fragments.rs +95 -135
  76. rumdl-0.0.84/src/rules/md052_reference_links_images.rs +300 -0
  77. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md053_link_image_reference_definitions.rs +15 -20
  78. rumdl-0.0.84/src/rules/md054_link_image_style/md054_config.rs +40 -0
  79. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md054_link_image_style.rs +34 -67
  80. rumdl-0.0.84/src/rules/md055_table_pipe_style/md055_config.rs +55 -0
  81. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md055_table_pipe_style.rs +23 -33
  82. rumdl-0.0.84/src/rules/md057_existing_relative_links/md057_config.rs +25 -0
  83. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md057_existing_relative_links.rs +22 -24
  84. {rumdl-0.0.83 → rumdl-0.0.84}/tests/advanced_integration_tests.rs +1 -1
  85. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/additional_tests.rs +3 -3
  86. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/mod.rs +1 -1
  87. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md002_test.rs +2 -23
  88. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md023_extended_test.rs +9 -7
  89. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md030_test.rs +6 -3
  90. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md042_test.rs +40 -6
  91. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md051_test.rs +19 -0
  92. {rumdl-0.0.83 → rumdl-0.0.84}/tests/vscode_extension_fixes.rs +3 -2
  93. rumdl-0.0.83/src/lint_context.rs +0 -200
  94. rumdl-0.0.83/src/rules/md001_heading_increment.rs +0 -309
  95. rumdl-0.0.83/src/rules/md002_first_heading_h1.rs +0 -407
  96. rumdl-0.0.83/src/rules/md003_heading_style.rs +0 -539
  97. rumdl-0.0.83/src/rules/md004_unordered_list_style.rs +0 -388
  98. rumdl-0.0.83/src/rules/md018_no_missing_space_atx.rs +0 -479
  99. rumdl-0.0.83/src/rules/md019_no_multiple_space_atx.rs +0 -232
  100. rumdl-0.0.83/src/rules/md020_no_missing_space_closed_atx.rs +0 -298
  101. rumdl-0.0.83/src/rules/md021_no_multiple_space_closed_atx.rs +0 -259
  102. rumdl-0.0.83/src/rules/md022_blanks_around_headings.rs +0 -1291
  103. rumdl-0.0.83/src/rules/md023_heading_start_left.rs +0 -459
  104. rumdl-0.0.83/src/rules/md024_no_duplicate_heading.rs +0 -201
  105. rumdl-0.0.83/src/rules/md025_single_title.rs +0 -620
  106. rumdl-0.0.83/src/rules/md026_no_trailing_punctuation.rs +0 -616
  107. rumdl-0.0.83/src/rules/md052_reference_links_images.rs +0 -363
  108. {rumdl-0.0.83 → rumdl-0.0.84}/.rumdl.toml +0 -0
  109. {rumdl-0.0.83 → rumdl-0.0.84}/MANIFEST.in +0 -0
  110. {rumdl-0.0.83 → rumdl-0.0.84}/README.md +0 -0
  111. {rumdl-0.0.83 → rumdl-0.0.84}/assets/logo.png +0 -0
  112. {rumdl-0.0.83 → rumdl-0.0.84}/benches/fix_performance.rs +0 -0
  113. {rumdl-0.0.83 → rumdl-0.0.84}/benches/range_performance.rs +0 -0
  114. {rumdl-0.0.83 → rumdl-0.0.84}/benches/range_utils_benchmark.rs +0 -0
  115. {rumdl-0.0.83 → rumdl-0.0.84}/benches/rule_performance.rs +0 -0
  116. {rumdl-0.0.83 → rumdl-0.0.84}/benches/simple_fix_bench.rs +0 -0
  117. {rumdl-0.0.83 → rumdl-0.0.84}/docs/RULES.md +0 -0
  118. {rumdl-0.0.83 → rumdl-0.0.84}/docs/global-settings.md +0 -0
  119. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md001.md +0 -0
  120. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md002.md +0 -0
  121. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md003.md +0 -0
  122. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md004.md +0 -0
  123. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md005.md +0 -0
  124. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md006.md +0 -0
  125. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md007.md +0 -0
  126. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md009.md +0 -0
  127. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md010.md +0 -0
  128. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md011.md +0 -0
  129. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md012.md +0 -0
  130. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md013.md +0 -0
  131. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md014.md +0 -0
  132. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md018.md +0 -0
  133. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md019.md +0 -0
  134. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md020.md +0 -0
  135. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md021.md +0 -0
  136. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md022.md +0 -0
  137. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md023.md +0 -0
  138. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md024.md +0 -0
  139. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md025.md +0 -0
  140. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md026.md +0 -0
  141. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md027.md +0 -0
  142. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md028.md +0 -0
  143. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md029.md +0 -0
  144. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md030.md +0 -0
  145. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md031.md +0 -0
  146. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md032.md +0 -0
  147. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md033.md +0 -0
  148. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md034.md +0 -0
  149. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md035.md +0 -0
  150. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md036.md +0 -0
  151. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md037.md +0 -0
  152. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md038.md +0 -0
  153. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md039.md +0 -0
  154. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md040.md +0 -0
  155. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md041.md +0 -0
  156. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md042.md +0 -0
  157. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md043.md +0 -0
  158. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md044.md +0 -0
  159. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md045.md +0 -0
  160. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md046.md +0 -0
  161. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md047.md +0 -0
  162. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md048.md +0 -0
  163. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md049.md +0 -0
  164. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md050.md +0 -0
  165. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md051.md +0 -0
  166. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md052.md +0 -0
  167. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md053.md +0 -0
  168. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md054.md +0 -0
  169. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md055.md +0 -0
  170. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md056.md +0 -0
  171. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md057.md +0 -0
  172. {rumdl-0.0.83 → rumdl-0.0.84}/docs/md058.md +0 -0
  173. {rumdl-0.0.83 → rumdl-0.0.84}/issues/plan-rule-parity-with-markdownlint.md +0 -0
  174. {rumdl-0.0.83 → rumdl-0.0.84}/parity_check.py +0 -0
  175. {rumdl-0.0.83 → rumdl-0.0.84}/pyproject.toml +0 -0
  176. {rumdl-0.0.83 → rumdl-0.0.84}/python/MANIFEST.in +0 -0
  177. {rumdl-0.0.83 → rumdl-0.0.84}/python/PYTHON-README.md +0 -0
  178. {rumdl-0.0.83 → rumdl-0.0.84}/python/rumdl/__init__.py +0 -0
  179. {rumdl-0.0.83 → rumdl-0.0.84}/python/rumdl/__main__.py +0 -0
  180. {rumdl-0.0.83 → rumdl-0.0.84}/python/rumdl/py.typed +0 -0
  181. {rumdl-0.0.83 → rumdl-0.0.84}/rumdl.toml.example +0 -0
  182. {rumdl-0.0.83 → rumdl-0.0.84}/src/config.rs +0 -0
  183. {rumdl-0.0.83 → rumdl-0.0.84}/src/init.rs +0 -0
  184. {rumdl-0.0.83 → rumdl-0.0.84}/src/lsp/mod.rs +0 -0
  185. {rumdl-0.0.83 → rumdl-0.0.84}/src/lsp/server.rs +0 -0
  186. {rumdl-0.0.83 → rumdl-0.0.84}/src/lsp/types.rs +0 -0
  187. {rumdl-0.0.83 → rumdl-0.0.84}/src/main.rs +0 -0
  188. {rumdl-0.0.83 → rumdl-0.0.84}/src/markdownlint_config.rs +0 -0
  189. {rumdl-0.0.83 → rumdl-0.0.84}/src/parallel.rs +0 -0
  190. {rumdl-0.0.83 → rumdl-0.0.84}/src/performance.rs +0 -0
  191. {rumdl-0.0.83 → rumdl-0.0.84}/src/profiling.rs +0 -0
  192. {rumdl-0.0.83 → rumdl-0.0.84}/src/python.rs +0 -0
  193. {rumdl-0.0.83 → rumdl-0.0.84}/src/rule.rs +0 -0
  194. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/blockquote_utils.rs +0 -0
  195. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/code_block_utils.rs +0 -0
  196. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/code_fence_utils.rs +0 -0
  197. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/emphasis_style.rs +0 -0
  198. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/front_matter_utils.rs +0 -0
  199. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/heading_utils.rs +0 -0
  200. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/list_utils.rs +0 -0
  201. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md011_no_reversed_links.rs +0 -0
  202. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md031_blanks_around_fences.rs +0 -0
  203. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  204. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md040_fenced_code_language.rs +0 -0
  205. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md047_single_trailing_newline.rs +0 -0
  206. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md056_table_column_count.rs +0 -0
  207. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/md058_blanks_around_tables.rs +0 -0
  208. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/mod.rs +0 -0
  209. {rumdl-0.0.83 → rumdl-0.0.84}/src/rules/strong_style.rs +0 -0
  210. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/ast_utils.rs +0 -0
  211. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/code_block_utils.rs +0 -0
  212. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/document_structure.rs +0 -0
  213. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/early_returns.rs +0 -0
  214. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/element_cache.rs +0 -0
  215. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/fix_utils.rs +0 -0
  216. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/markdown_elements.rs +0 -0
  217. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/mod.rs +0 -0
  218. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/range_utils.rs +0 -0
  219. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/regex_cache.rs +0 -0
  220. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/string_interner.rs +0 -0
  221. {rumdl-0.0.83 → rumdl-0.0.84}/src/utils/table_utils.rs +0 -0
  222. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/basic_tests.rs +0 -0
  223. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/comprehensive_tests.rs +0 -0
  224. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/extended_tests.rs +0 -0
  225. {rumdl-0.0.83 → rumdl-0.0.84}/tests/character_ranges/unicode_utils.rs +0 -0
  226. {rumdl-0.0.83 → rumdl-0.0.84}/tests/cli_duplication_test.rs +0 -0
  227. {rumdl-0.0.83 → rumdl-0.0.84}/tests/cli_integration_tests.rs +0 -0
  228. {rumdl-0.0.83 → rumdl-0.0.84}/tests/cli_lsp_fix_consistency.rs +0 -0
  229. {rumdl-0.0.83 → rumdl-0.0.84}/tests/commonmark_compliance_tests.rs +0 -0
  230. {rumdl-0.0.83 → rumdl-0.0.84}/tests/comprehensive_integration_tests.rs +0 -0
  231. {rumdl-0.0.83 → rumdl-0.0.84}/tests/config_application_tests.rs +0 -0
  232. {rumdl-0.0.83 → rumdl-0.0.84}/tests/config_file_command_test.rs +0 -0
  233. {rumdl-0.0.83 → rumdl-0.0.84}/tests/config_tests.rs +0 -0
  234. {rumdl-0.0.83 → rumdl-0.0.84}/tests/configuration_inheritance_tests.rs +0 -0
  235. {rumdl-0.0.83 → rumdl-0.0.84}/tests/consistency_regression_tests.rs +0 -0
  236. {rumdl-0.0.83 → rumdl-0.0.84}/tests/cross_platform_compatibility_tests.rs +0 -0
  237. {rumdl-0.0.83 → rumdl-0.0.84}/tests/final_confidence_assessment.rs +0 -0
  238. {rumdl-0.0.83 → rumdl-0.0.84}/tests/init_command_test.rs +0 -0
  239. {rumdl-0.0.83 → rumdl-0.0.84}/tests/init_tests.rs +0 -0
  240. {rumdl-0.0.83 → rumdl-0.0.84}/tests/integration_tests.rs +0 -0
  241. {rumdl-0.0.83 → rumdl-0.0.84}/tests/json_output_test.rs +0 -0
  242. {rumdl-0.0.83 → rumdl-0.0.84}/tests/lib.rs +0 -0
  243. {rumdl-0.0.83 → rumdl-0.0.84}/tests/lsp_editor_integration_tests.rs +0 -0
  244. {rumdl-0.0.83 → rumdl-0.0.84}/tests/lsp_integration_tests.rs +0 -0
  245. {rumdl-0.0.83 → rumdl-0.0.84}/tests/lsp_memory_leak_tests.rs +0 -0
  246. {rumdl-0.0.83 → rumdl-0.0.84}/tests/lsp_tests.rs +0 -0
  247. {rumdl-0.0.83 → rumdl-0.0.84}/tests/malformed_markdown_stress_tests.rs +0 -0
  248. {rumdl-0.0.83 → rumdl-0.0.84}/tests/markdownlint_cli_integration.rs +0 -0
  249. {rumdl-0.0.83 → rumdl-0.0.84}/tests/markdownlint_config_test.rs +0 -0
  250. {rumdl-0.0.83 → rumdl-0.0.84}/tests/md030_edge_cases.md +0 -0
  251. {rumdl-0.0.83 → rumdl-0.0.84}/tests/output_format_tests.rs +0 -0
  252. {rumdl-0.0.83 → rumdl-0.0.84}/tests/perf_check.rs +0 -0
  253. {rumdl-0.0.83 → rumdl-0.0.84}/tests/performance_validation_tests.rs +0 -0
  254. {rumdl-0.0.83 → rumdl-0.0.84}/tests/pyproject_config_tests.rs +0 -0
  255. {rumdl-0.0.83 → rumdl-0.0.84}/tests/real_world_repository_tests.rs +0 -0
  256. {rumdl-0.0.83 → rumdl-0.0.84}/tests/regression_prevention_tests.rs +0 -0
  257. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md001_test.rs +0 -0
  258. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md001_unicode_test.rs +0 -0
  259. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md003_test.rs +0 -0
  260. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md004_test.rs +0 -0
  261. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md005_test.rs +0 -0
  262. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md006_test.rs +0 -0
  263. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md006_unicode_test.rs +0 -0
  264. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md007_test.rs +0 -0
  265. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md009_test.rs +0 -0
  266. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md010_test.rs +0 -0
  267. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md011_test.rs +0 -0
  268. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md012_test.rs +0 -0
  269. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md013_test.rs +0 -0
  270. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md014_test.rs +0 -0
  271. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md018_test.rs +0 -0
  272. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md019_test.rs +0 -0
  273. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md020_test.rs +0 -0
  274. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md021_test.rs +0 -0
  275. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md022_test.rs +0 -0
  276. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md023_test.rs +0 -0
  277. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md024_test.rs +0 -0
  278. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md025_test.rs +0 -0
  279. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md026_test.rs +0 -0
  280. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md027_test.rs +0 -0
  281. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md028_test.rs +0 -0
  282. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md029_test.rs +0 -0
  283. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md031_test.rs +0 -0
  284. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md032_test.rs +0 -0
  285. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md033_extended_test.rs +0 -0
  286. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md033_test.rs +0 -0
  287. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md034_test.rs +0 -0
  288. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md035_test.rs +0 -0
  289. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md036_test.rs +0 -0
  290. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md037_test.rs +0 -0
  291. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md038_test.rs +0 -0
  292. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md039_test.rs +0 -0
  293. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md040_test.rs +0 -0
  294. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md041_test.rs +0 -0
  295. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md043_test.rs +0 -0
  296. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md044_test.rs +0 -0
  297. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md045_test.rs +0 -0
  298. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md046_test.rs +0 -0
  299. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md047_test.rs +0 -0
  300. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md048_test.rs +0 -0
  301. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md049_test.rs +0 -0
  302. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md050_test.rs +0 -0
  303. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md052_test.rs +0 -0
  304. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md053_additional_test.rs +0 -0
  305. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md053_proptest.rs +0 -0
  306. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md053_test.rs +0 -0
  307. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md054_test.rs +0 -0
  308. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md054_unicode_test.rs +0 -0
  309. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md055_test.rs +0 -0
  310. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md056_test.rs +0 -0
  311. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md057_test.rs +0 -0
  312. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/md058_test.rs +0 -0
  313. {rumdl-0.0.83 → rumdl-0.0.84}/tests/rules/mod.rs +0 -0
  314. {rumdl-0.0.83 → rumdl-0.0.84}/tests/thread_safety_tests.rs +0 -0
  315. {rumdl-0.0.83 → rumdl-0.0.84}/tests/unicode_edge_case_tests.rs +0 -0
  316. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/blockquote_utils_test.rs +0 -0
  317. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/code_block_utils_extended_test.rs +0 -0
  318. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/code_block_utils_test.rs +0 -0
  319. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/core_utils_test.rs +0 -0
  320. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/front_matter_utils_test.rs +0 -0
  321. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/line_index_test.rs +0 -0
  322. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils/mod.rs +0 -0
  323. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils_markdown_edge_cases.rs +0 -0
  324. {rumdl-0.0.83 → rumdl-0.0.84}/tests/utils_tests.rs +0 -0
@@ -0,0 +1,64 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.0.84] - 2025-06-10
11
+
12
+ ## [0.0.84] - 2025-06-10
13
+
14
+ ## [0.0.84] - 2025-06-10
15
+
16
+ ### Added
17
+ - Type-safe serde-based configuration system for all 24 configurable rules
18
+ - Dedicated config modules for each rule with compile-time validation
19
+ - Full IDE support with autocomplete for configuration options
20
+ - Centralized utilities for common parsing patterns
21
+
22
+ ### Changed
23
+ - **BREAKING**: Internal configuration structure refactored (external API unchanged)
24
+ - Migrated all rules from manual TOML parsing to serde deserialization
25
+ - Improved performance through centralized parsing for:
26
+ - Link and URL detection
27
+ - Code span identification
28
+ - List item processing
29
+ - Block element detection
30
+ - Pre-computed line information for better performance
31
+ - ~40% reduction in configuration boilerplate code
32
+
33
+ ### Fixed
34
+ - MD030: Correct handling of tab characters in list items
35
+
36
+ ### Performance
37
+ - Significant performance improvements across multiple rules through:
38
+ - Centralized regex compilation and caching
39
+ - Reduced redundant parsing operations
40
+ - More efficient text processing algorithms
41
+ - Optimized pattern matching for MD044
42
+
43
+ ## [0.0.83] - 2025-06-07
44
+
45
+ ### Fixed
46
+ - Various bug fixes and performance improvements
47
+
48
+ ## [0.0.82] - 2025-06-06
49
+
50
+ ### Fixed
51
+ - Various bug fixes and stability improvements
52
+
53
+ ## [0.0.81] - 2025-06-04
54
+
55
+ ### Added
56
+ - Initial implementation of remaining rules for markdownlint parity
57
+
58
+ [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.84...HEAD
59
+ [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
60
+ [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
61
+ [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
62
+ [0.0.83]: https://github.com/rvben/rumdl/compare/v0.0.82...v0.0.83
63
+ [0.0.82]: https://github.com/rvben/rumdl/compare/v0.0.81...v0.0.82
64
+ [0.0.81]: https://github.com/rvben/rumdl/releases/tag/v0.0.81
@@ -13,9 +13,9 @@ dependencies = [
13
13
 
14
14
  [[package]]
15
15
  name = "adler2"
16
- version = "2.0.0"
16
+ version = "2.0.1"
17
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
18
+ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
19
 
20
20
  [[package]]
21
21
  name = "aho-corasick"
@@ -253,9 +253,9 @@ dependencies = [
253
253
 
254
254
  [[package]]
255
255
  name = "cfg-if"
256
- version = "1.0.0"
256
+ version = "1.0.1"
257
257
  source = "registry+https://github.com/rust-lang/crates.io-index"
258
- checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
258
+ checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
259
259
 
260
260
  [[package]]
261
261
  name = "chrono"
@@ -301,9 +301,9 @@ dependencies = [
301
301
 
302
302
  [[package]]
303
303
  name = "clap"
304
- version = "4.5.39"
304
+ version = "4.5.40"
305
305
  source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f"
306
+ checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
307
307
  dependencies = [
308
308
  "clap_builder",
309
309
  "clap_derive",
@@ -311,9 +311,9 @@ dependencies = [
311
311
 
312
312
  [[package]]
313
313
  name = "clap_builder"
314
- version = "4.5.39"
314
+ version = "4.5.40"
315
315
  source = "registry+https://github.com/rust-lang/crates.io-index"
316
- checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51"
316
+ checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
317
317
  dependencies = [
318
318
  "anstream",
319
319
  "anstyle",
@@ -323,9 +323,9 @@ dependencies = [
323
323
 
324
324
  [[package]]
325
325
  name = "clap_derive"
326
- version = "4.5.32"
326
+ version = "4.5.40"
327
327
  source = "registry+https://github.com/rust-lang/crates.io-index"
328
- checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
328
+ checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce"
329
329
  dependencies = [
330
330
  "heck",
331
331
  "proc-macro2",
@@ -335,9 +335,9 @@ dependencies = [
335
335
 
336
336
  [[package]]
337
337
  name = "clap_lex"
338
- version = "0.7.4"
338
+ version = "0.7.5"
339
339
  source = "registry+https://github.com/rust-lang/crates.io-index"
340
- checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
340
+ checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
341
341
 
342
342
  [[package]]
343
343
  name = "colorchoice"
@@ -1231,9 +1231,9 @@ dependencies = [
1231
1231
 
1232
1232
  [[package]]
1233
1233
  name = "miniz_oxide"
1234
- version = "0.8.8"
1234
+ version = "0.8.9"
1235
1235
  source = "registry+https://github.com/rust-lang/crates.io-index"
1236
- checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
1236
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1237
1237
  dependencies = [
1238
1238
  "adler2",
1239
1239
  ]
@@ -1541,17 +1541,17 @@ dependencies = [
1541
1541
 
1542
1542
  [[package]]
1543
1543
  name = "proptest"
1544
- version = "1.6.0"
1544
+ version = "1.7.0"
1545
1545
  source = "registry+https://github.com/rust-lang/crates.io-index"
1546
- checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50"
1546
+ checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f"
1547
1547
  dependencies = [
1548
1548
  "bit-set",
1549
1549
  "bit-vec",
1550
1550
  "bitflags 2.9.1",
1551
1551
  "lazy_static",
1552
1552
  "num-traits",
1553
- "rand 0.8.5",
1554
- "rand_chacha 0.3.1",
1553
+ "rand",
1554
+ "rand_chacha",
1555
1555
  "rand_xorshift",
1556
1556
  "regex-syntax",
1557
1557
  "rusty-fork",
@@ -1643,35 +1643,14 @@ version = "5.2.0"
1643
1643
  source = "registry+https://github.com/rust-lang/crates.io-index"
1644
1644
  checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
1645
1645
 
1646
- [[package]]
1647
- name = "rand"
1648
- version = "0.8.5"
1649
- source = "registry+https://github.com/rust-lang/crates.io-index"
1650
- checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1651
- dependencies = [
1652
- "libc",
1653
- "rand_chacha 0.3.1",
1654
- "rand_core 0.6.4",
1655
- ]
1656
-
1657
1646
  [[package]]
1658
1647
  name = "rand"
1659
1648
  version = "0.9.1"
1660
1649
  source = "registry+https://github.com/rust-lang/crates.io-index"
1661
1650
  checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
1662
1651
  dependencies = [
1663
- "rand_chacha 0.9.0",
1664
- "rand_core 0.9.3",
1665
- ]
1666
-
1667
- [[package]]
1668
- name = "rand_chacha"
1669
- version = "0.3.1"
1670
- source = "registry+https://github.com/rust-lang/crates.io-index"
1671
- checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1672
- dependencies = [
1673
- "ppv-lite86",
1674
- "rand_core 0.6.4",
1652
+ "rand_chacha",
1653
+ "rand_core",
1675
1654
  ]
1676
1655
 
1677
1656
  [[package]]
@@ -1681,16 +1660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1681
1660
  checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
1682
1661
  dependencies = [
1683
1662
  "ppv-lite86",
1684
- "rand_core 0.9.3",
1685
- ]
1686
-
1687
- [[package]]
1688
- name = "rand_core"
1689
- version = "0.6.4"
1690
- source = "registry+https://github.com/rust-lang/crates.io-index"
1691
- checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1692
- dependencies = [
1693
- "getrandom 0.2.16",
1663
+ "rand_core",
1694
1664
  ]
1695
1665
 
1696
1666
  [[package]]
@@ -1704,11 +1674,11 @@ dependencies = [
1704
1674
 
1705
1675
  [[package]]
1706
1676
  name = "rand_xorshift"
1707
- version = "0.3.0"
1677
+ version = "0.4.0"
1708
1678
  source = "registry+https://github.com/rust-lang/crates.io-index"
1709
- checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
1679
+ checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a"
1710
1680
  dependencies = [
1711
- "rand_core 0.6.4",
1681
+ "rand_core",
1712
1682
  ]
1713
1683
 
1714
1684
  [[package]]
@@ -1783,7 +1753,7 @@ dependencies = [
1783
1753
 
1784
1754
  [[package]]
1785
1755
  name = "rumdl"
1786
- version = "0.0.83"
1756
+ version = "0.0.84"
1787
1757
  dependencies = [
1788
1758
  "anyhow",
1789
1759
  "assert_cmd",
@@ -1812,7 +1782,7 @@ dependencies = [
1812
1782
  "pretty_assertions",
1813
1783
  "proptest",
1814
1784
  "pyo3",
1815
- "rand 0.9.1",
1785
+ "rand",
1816
1786
  "rayon",
1817
1787
  "regex",
1818
1788
  "seahash",
@@ -1851,9 +1821,9 @@ dependencies = [
1851
1821
 
1852
1822
  [[package]]
1853
1823
  name = "rustc-demangle"
1854
- version = "0.1.24"
1824
+ version = "0.1.25"
1855
1825
  source = "registry+https://github.com/rust-lang/crates.io-index"
1856
- checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1826
+ checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
1857
1827
 
1858
1828
  [[package]]
1859
1829
  name = "rustix"
@@ -2049,9 +2019,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
2049
2019
 
2050
2020
  [[package]]
2051
2021
  name = "syn"
2052
- version = "2.0.101"
2022
+ version = "2.0.102"
2053
2023
  source = "registry+https://github.com/rust-lang/crates.io-index"
2054
- checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
2024
+ checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462"
2055
2025
  dependencies = [
2056
2026
  "proc-macro2",
2057
2027
  "quote",
@@ -2427,9 +2397,9 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
2427
2397
 
2428
2398
  [[package]]
2429
2399
  name = "unicode-width"
2430
- version = "0.2.0"
2400
+ version = "0.2.1"
2431
2401
  source = "registry+https://github.com/rust-lang/crates.io-index"
2432
- checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
2402
+ checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
2433
2403
 
2434
2404
  [[package]]
2435
2405
  name = "unindent"
@@ -2761,9 +2731,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
2761
2731
 
2762
2732
  [[package]]
2763
2733
  name = "yaml-rust2"
2764
- version = "0.10.2"
2734
+ version = "0.10.3"
2765
2735
  source = "registry+https://github.com/rust-lang/crates.io-index"
2766
- checksum = "18b783b2c2789414f8bb84ca3318fc9c2d7e7be1c22907d37839a58dedb369d3"
2736
+ checksum = "4ce2a4ff45552406d02501cea6c18d8a7e50228e7736a872951fe2fe75c91be7"
2767
2737
  dependencies = [
2768
2738
  "arraydeque",
2769
2739
  "encoding_rs",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.83"
3
+ version = "0.0.84"
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>"]
@@ -6,6 +6,9 @@ build:
6
6
  test:
7
7
  cargo test
8
8
 
9
+ test-quick:
10
+ cargo test -- --skip test_lsp_memory_usage_over_time --skip test_lsp_memory_stress_with_large_files --skip test_lsp_concurrent_document_handling --skip test_memory_usage_with_large_content
11
+
9
12
  clean:
10
13
  cargo clean
11
14
 
@@ -20,7 +23,6 @@ lint:
20
23
  check:
21
24
  cargo check --all-targets --all-features
22
25
 
23
-
24
26
  doc:
25
27
  cargo doc --no-deps
26
28
 
@@ -59,6 +61,18 @@ update-readme-version:
59
61
  @rm -f README.md.bak
60
62
  @echo "README.md updated to rev $(NEW_TAG)"
61
63
 
64
+ update-changelog:
65
+ @echo "Updating CHANGELOG.md for $(NEW_TAG)..."
66
+ @if [ -f CHANGELOG.md ]; then \
67
+ DATE=$$(date +%Y-%m-%d); \
68
+ perl -i.bak -pe 's/## \[Unreleased\]/## [Unreleased]\n\n## [$(VERSION_NO_V)] - '"$$DATE"'/' CHANGELOG.md; \
69
+ perl -i.bak -0777 -pe 's/(\[Unreleased\]: .*\/compare\/)v[0-9]+\.[0-9]+\.[0-9]+(\.\.\.HEAD)/$$1$(NEW_TAG)$$2\n[$(VERSION_NO_V)]: https:\/\/github.com\/rvben\/rumdl\/compare\/$(CURRENT)...$(NEW_TAG)/' CHANGELOG.md; \
70
+ rm -f CHANGELOG.md.bak; \
71
+ echo "CHANGELOG.md updated for version $(NEW_TAG)"; \
72
+ else \
73
+ echo "Warning: CHANGELOG.md not found"; \
74
+ fi
75
+
62
76
  version-major:
63
77
  @echo "Creating new major version tag..."
64
78
  $(eval CURRENT := $(shell git describe --tags --abbrev=0 2>/dev/null || echo v0.0.0))
@@ -69,7 +83,8 @@ version-major:
69
83
  @echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
70
84
  @$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
71
85
  @$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
72
- @git add Cargo.toml Cargo.lock README.md
86
+ @$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
87
+ @git add Cargo.toml Cargo.lock README.md CHANGELOG.md
73
88
  @git commit -m "Bump version to $(NEW_TAG)"
74
89
  @git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
75
90
  @echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
@@ -85,7 +100,8 @@ version-minor:
85
100
  @echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
86
101
  @$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
87
102
  @$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
88
- @git add Cargo.toml Cargo.lock README.md
103
+ @$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
104
+ @git add Cargo.toml Cargo.lock README.md CHANGELOG.md
89
105
  @git commit -m "Bump version to $(NEW_TAG)"
90
106
  @git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
91
107
  @echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
@@ -102,7 +118,8 @@ version-patch:
102
118
  @echo "Current: $(CURRENT) -> New: $(NEW_TAG)"
103
119
  @$(MAKE) update-cargo-version VERSION_NO_V=$(VERSION_NO_V)
104
120
  @$(MAKE) update-readme-version NEW_TAG=$(NEW_TAG)
105
- @git add Cargo.toml Cargo.lock README.md
121
+ @$(MAKE) update-changelog NEW_TAG=$(NEW_TAG) VERSION_NO_V=$(VERSION_NO_V) CURRENT=$(CURRENT)
122
+ @git add Cargo.toml Cargo.lock README.md CHANGELOG.md
106
123
  @git commit -m "Bump version to $(NEW_TAG)"
107
124
  @git tag -a $(NEW_TAG) -m "Release $(NEW_TAG)"
108
125
  @echo "Version $(NEW_TAG) created and committed. Run 'git push && git push origin $(NEW_TAG)' to trigger release workflow."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.83
3
+ Version: 0.0.84
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ # Extract release notes for a specific version from CHANGELOG.md
4
+
5
+ VERSION=${1:-$(git describe --tags --abbrev=0 | sed 's/^v//')}
6
+
7
+ if [ ! -f CHANGELOG.md ]; then
8
+ echo "CHANGELOG.md not found"
9
+ exit 1
10
+ fi
11
+
12
+ # Extract the section for this version
13
+ awk -v version="$VERSION" '
14
+ /^## \['"$VERSION"'\]/ { found = 1; next }
15
+ found && /^## \[/ { exit }
16
+ found { print }
17
+ ' CHANGELOG.md
@@ -0,0 +1,68 @@
1
+ #!/bin/bash
2
+
3
+ # prepare-release.sh - Helper script to prepare release notes
4
+
5
+ set -e
6
+
7
+ # Colors for output
8
+ GREEN='\033[0;32m'
9
+ BLUE='\033[0;34m'
10
+ YELLOW='\033[1;33m'
11
+ NC='\033[0m' # No Color
12
+
13
+ echo -e "${BLUE}=== Release Preparation Helper ===${NC}"
14
+
15
+ # Get the last tag
16
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
17
+ echo -e "Last release: ${YELLOW}$LAST_TAG${NC}"
18
+
19
+ # Show commits since last tag
20
+ echo -e "\n${BLUE}Commits since $LAST_TAG:${NC}"
21
+ git log $LAST_TAG..HEAD --oneline
22
+
23
+ # Categorize commits
24
+ echo -e "\n${BLUE}Categorized changes:${NC}"
25
+
26
+ echo -e "\n${GREEN}Features/Added:${NC}"
27
+ git log $LAST_TAG..HEAD --oneline | grep -iE "^[a-f0-9]+ (feat|add|new)" || echo " (none)"
28
+
29
+ echo -e "\n${GREEN}Changes/Refactoring:${NC}"
30
+ git log $LAST_TAG..HEAD --oneline | grep -iE "^[a-f0-9]+ (refactor|change|update|optimize|improve)" || echo " (none)"
31
+
32
+ echo -e "\n${GREEN}Fixes:${NC}"
33
+ git log $LAST_TAG..HEAD --oneline | grep -iE "^[a-f0-9]+ (fix|bugfix|hotfix)" || echo " (none)"
34
+
35
+ echo -e "\n${GREEN}Performance:${NC}"
36
+ git log $LAST_TAG..HEAD --oneline | grep -iE "^[a-f0-9]+ (perf|optimize|speed)" || echo " (none)"
37
+
38
+ echo -e "\n${GREEN}Documentation:${NC}"
39
+ git log $LAST_TAG..HEAD --oneline | grep -iE "^[a-f0-9]+ (docs|doc)" || echo " (none)"
40
+
41
+ # Check for breaking changes
42
+ echo -e "\n${YELLOW}Potential breaking changes:${NC}"
43
+ git log $LAST_TAG..HEAD --oneline | grep -iE "breaking|!\s*:" || echo " (none detected)"
44
+
45
+ # Show file statistics
46
+ echo -e "\n${BLUE}File changes summary:${NC}"
47
+ git diff --stat $LAST_TAG..HEAD | tail -1
48
+
49
+ # Remind about manual steps
50
+ echo -e "\n${YELLOW}Release checklist:${NC}"
51
+ echo "1. Update CHANGELOG.md with categorized changes under [Unreleased]"
52
+ echo "2. Run tests: make test"
53
+ echo "3. Build release: make build"
54
+ echo "4. Create release: make release-patch (or release-minor/release-major)"
55
+ echo "5. The GitHub Action will automatically create release notes from the tag"
56
+
57
+ echo -e "\n${GREEN}Suggested CHANGELOG.md entry format:${NC}"
58
+ echo "### Added"
59
+ echo "- New features..."
60
+ echo ""
61
+ echo "### Changed"
62
+ echo "- Improvements..."
63
+ echo ""
64
+ echo "### Fixed"
65
+ echo "- Bug fixes..."
66
+ echo ""
67
+ echo "### Performance"
68
+ echo "- Optimizations..."
@@ -7,6 +7,10 @@ pub mod parallel;
7
7
  pub mod performance;
8
8
  pub mod profiling;
9
9
  pub mod rule;
10
+ #[macro_use]
11
+ pub mod rule_config;
12
+ #[macro_use]
13
+ pub mod rule_config_serde;
10
14
  pub mod rules;
11
15
  pub mod utils;
12
16
 
@@ -16,7 +20,7 @@ pub mod python;
16
20
  pub use rules::heading_utils::{Heading, HeadingStyle};
17
21
  pub use rules::*;
18
22
 
19
- pub use crate::lint_context::LintContext;
23
+ pub use crate::lint_context::{LintContext, LineInfo, ListItemInfo, BareUrl};
20
24
  use crate::rule::{LintResult, Rule, RuleCategory};
21
25
  use crate::utils::document_structure::DocumentStructure;
22
26
  use std::time::Instant;