rumdl 0.0.88__tar.gz → 0.0.90__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 (390) hide show
  1. {rumdl-0.0.88 → rumdl-0.0.90}/CHANGELOG.md +27 -7
  2. {rumdl-0.0.88 → rumdl-0.0.90}/Cargo.lock +109 -36
  3. {rumdl-0.0.88 → rumdl-0.0.90}/Cargo.toml +1 -1
  4. {rumdl-0.0.88 → rumdl-0.0.90}/PKG-INFO +17 -4
  5. {rumdl-0.0.88 → rumdl-0.0.90}/README.md +16 -3
  6. {rumdl-0.0.88 → rumdl-0.0.90}/docs/RULES.md +10 -2
  7. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md043.md +5 -1
  8. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md044.md +5 -1
  9. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md047.md +4 -2
  10. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md051.md +3 -1
  11. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md053.md +1 -1
  12. {rumdl-0.0.88 → rumdl-0.0.90}/src/config.rs +424 -6
  13. rumdl-0.0.90/src/init.rs +335 -0
  14. {rumdl-0.0.88 → rumdl-0.0.90}/src/lib.rs +282 -1
  15. {rumdl-0.0.88 → rumdl-0.0.90}/src/lint_context.rs +22 -369
  16. rumdl-0.0.90/src/lsp/mod.rs +198 -0
  17. {rumdl-0.0.88 → rumdl-0.0.90}/src/lsp/server.rs +225 -0
  18. rumdl-0.0.90/src/lsp/types.rs +444 -0
  19. {rumdl-0.0.88 → rumdl-0.0.90}/src/main.rs +91 -6
  20. rumdl-0.0.90/src/markdownlint_config.rs +640 -0
  21. rumdl-0.0.90/src/output/formatters/azure.rs +345 -0
  22. rumdl-0.0.90/src/output/formatters/concise.rs +317 -0
  23. rumdl-0.0.90/src/output/formatters/github.rs +322 -0
  24. rumdl-0.0.90/src/output/formatters/gitlab.rs +430 -0
  25. rumdl-0.0.90/src/output/formatters/grouped.rs +406 -0
  26. rumdl-0.0.90/src/output/formatters/json.rs +406 -0
  27. rumdl-0.0.90/src/output/formatters/json_lines.rs +391 -0
  28. rumdl-0.0.90/src/output/formatters/junit.rs +455 -0
  29. rumdl-0.0.90/src/output/formatters/pylint.rs +327 -0
  30. rumdl-0.0.90/src/output/formatters/sarif.rs +523 -0
  31. rumdl-0.0.90/src/output/formatters/text.rs +340 -0
  32. rumdl-0.0.90/src/output/mod.rs +422 -0
  33. rumdl-0.0.90/src/parallel.rs +461 -0
  34. rumdl-0.0.90/src/profiling.rs +427 -0
  35. rumdl-0.0.90/src/python.rs +239 -0
  36. {rumdl-0.0.88 → rumdl-0.0.90}/src/rule.rs +412 -0
  37. rumdl-0.0.90/src/rule_config.rs +220 -0
  38. rumdl-0.0.90/src/rule_config_serde.rs +338 -0
  39. rumdl-0.0.90/src/rules/blockquote_utils.rs +501 -0
  40. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/code_block_utils.rs +256 -4
  41. rumdl-0.0.90/src/rules/code_fence_utils.rs +210 -0
  42. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/front_matter_utils.rs +254 -2
  43. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/heading_utils.rs +385 -5
  44. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/list_utils.rs +326 -8
  45. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md002_first_heading_h1.rs +255 -0
  46. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md004_unordered_list_style.rs +282 -0
  47. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md005_list_indent.rs +436 -9
  48. rumdl-0.0.90/src/rules/md007_ul_indent.rs +722 -0
  49. rumdl-0.0.90/src/rules/md009_trailing_spaces.rs +542 -0
  50. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md010_no_hard_tabs.rs +250 -0
  51. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md012_no_multiple_blanks.rs +225 -0
  52. rumdl-0.0.90/src/rules/md013_line_length.rs +800 -0
  53. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md014_commands_show_output.rs +170 -0
  54. rumdl-0.0.90/src/rules/md024_no_duplicate_heading.rs +891 -0
  55. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md026_no_trailing_punctuation.rs +222 -0
  56. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md027_multiple_spaces_blockquote.rs +226 -4
  57. rumdl-0.0.90/src/rules/md028_no_blanks_blockquote.rs +343 -0
  58. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md034_no_bare_urls.rs +3 -6
  59. rumdl-0.0.90/src/rules/md035_hr_style.rs +465 -0
  60. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md036_no_emphasis_only_first.rs +239 -0
  61. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md037_spaces_around_emphasis.rs +6 -249
  62. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md040_fenced_code_language.rs +442 -0
  63. rumdl-0.0.90/src/rules/md041_first_line_heading.rs +509 -0
  64. rumdl-0.0.90/src/rules/md042_no_empty_links.rs +474 -0
  65. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md044_proper_names.rs +346 -0
  66. rumdl-0.0.90/src/rules/md045_no_alt_text.rs +337 -0
  67. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md046_code_block_style.rs +227 -0
  68. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md047_single_trailing_newline.rs +1 -0
  69. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md048_code_fence_style.rs +220 -0
  70. rumdl-0.0.90/src/rules/md049_emphasis_style.rs +266 -0
  71. rumdl-0.0.90/src/rules/md050_strong_style.rs +441 -0
  72. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md051_link_fragments.rs +274 -1
  73. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md052_reference_links_images.rs +304 -0
  74. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md053_link_image_reference_definitions.rs +233 -0
  75. rumdl-0.0.90/src/rules/md054_link_image_style.rs +541 -0
  76. rumdl-0.0.90/src/rules/md056_table_column_count.rs +491 -0
  77. rumdl-0.0.90/src/rules/md058_blanks_around_tables.rs +514 -0
  78. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/mod.rs +0 -9
  79. rumdl-0.0.90/src/rules/strong_style.rs +55 -0
  80. rumdl-0.0.90/src/utils/ast_utils.rs +640 -0
  81. rumdl-0.0.90/src/utils/code_block_utils.rs +382 -0
  82. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/document_structure.rs +58 -15
  83. rumdl-0.0.90/src/utils/early_returns.rs +689 -0
  84. rumdl-0.0.90/src/utils/emphasis_utils.rs +374 -0
  85. rumdl-0.0.90/src/utils/fix_utils.rs +602 -0
  86. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/mod.rs +80 -0
  87. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/regex_cache.rs +271 -0
  88. rumdl-0.0.90/src/utils/table_utils.rs +538 -0
  89. {rumdl-0.0.88 → rumdl-0.0.90}/src/vscode.rs +148 -0
  90. rumdl-0.0.90/tests/cli_statistics_test.rs +114 -0
  91. rumdl-0.0.90/tests/rules/md002_test.rs +554 -0
  92. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md004_test.rs +164 -0
  93. rumdl-0.0.90/tests/rules/md007_test.rs +678 -0
  94. rumdl-0.0.90/tests/rules/md009_test.rs +353 -0
  95. rumdl-0.0.90/tests/rules/md010_test.rs +408 -0
  96. rumdl-0.0.90/tests/rules/md013_test.rs +593 -0
  97. rumdl-0.0.90/tests/rules/md014_test.rs +334 -0
  98. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md026_test.rs +234 -0
  99. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md034_test.rs +5 -5
  100. rumdl-0.0.90/tests/rules/md052_test.rs +567 -0
  101. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/code_block_utils_extended_test.rs +1 -1
  102. rumdl-0.0.88/src/init.rs +0 -90
  103. rumdl-0.0.88/src/lsp/mod.rs +0 -48
  104. rumdl-0.0.88/src/lsp/types.rs +0 -154
  105. rumdl-0.0.88/src/markdownlint_config.rs +0 -277
  106. rumdl-0.0.88/src/output/formatters/azure.rs +0 -46
  107. rumdl-0.0.88/src/output/formatters/concise.rs +0 -45
  108. rumdl-0.0.88/src/output/formatters/github.rs +0 -47
  109. rumdl-0.0.88/src/output/formatters/gitlab.rs +0 -60
  110. rumdl-0.0.88/src/output/formatters/grouped.rs +0 -64
  111. rumdl-0.0.88/src/output/formatters/json.rs +0 -88
  112. rumdl-0.0.88/src/output/formatters/json_lines.rs +0 -51
  113. rumdl-0.0.88/src/output/formatters/junit.rs +0 -92
  114. rumdl-0.0.88/src/output/formatters/pylint.rs +0 -53
  115. rumdl-0.0.88/src/output/formatters/sarif.rs +0 -97
  116. rumdl-0.0.88/src/output/formatters/text.rs +0 -80
  117. rumdl-0.0.88/src/output/mod.rs +0 -155
  118. rumdl-0.0.88/src/parallel.rs +0 -206
  119. rumdl-0.0.88/src/profiling.rs +0 -194
  120. rumdl-0.0.88/src/python.rs +0 -29
  121. rumdl-0.0.88/src/rule_config.rs +0 -44
  122. rumdl-0.0.88/src/rule_config_serde.rs +0 -82
  123. rumdl-0.0.88/src/rules/blockquote_utils.rs +0 -231
  124. rumdl-0.0.88/src/rules/code_fence_utils.rs +0 -42
  125. rumdl-0.0.88/src/rules/md007_ul_indent.rs +0 -318
  126. rumdl-0.0.88/src/rules/md009_trailing_spaces.rs +0 -276
  127. rumdl-0.0.88/src/rules/md013_line_length.rs +0 -372
  128. rumdl-0.0.88/src/rules/md024_no_duplicate_heading.rs +0 -164
  129. rumdl-0.0.88/src/rules/md028_no_blanks_blockquote.rs +0 -149
  130. rumdl-0.0.88/src/rules/md035_hr_style.rs +0 -210
  131. rumdl-0.0.88/src/rules/md041_first_line_heading.rs +0 -218
  132. rumdl-0.0.88/src/rules/md042_no_empty_links.rs +0 -195
  133. rumdl-0.0.88/src/rules/md045_no_alt_text.rs +0 -119
  134. rumdl-0.0.88/src/rules/md049_emphasis_style.rs +0 -278
  135. rumdl-0.0.88/src/rules/md050_strong_style.rs +0 -231
  136. rumdl-0.0.88/src/rules/md054_link_image_style.rs +0 -356
  137. rumdl-0.0.88/src/rules/md056_table_column_count.rs +0 -185
  138. rumdl-0.0.88/src/rules/md058_blanks_around_tables.rs +0 -141
  139. rumdl-0.0.88/src/rules/strong_style.rs +0 -42
  140. rumdl-0.0.88/src/utils/ast_utils.rs +0 -293
  141. rumdl-0.0.88/src/utils/code_block_utils.rs +0 -133
  142. rumdl-0.0.88/src/utils/early_returns.rs +0 -281
  143. rumdl-0.0.88/src/utils/fix_utils.rs +0 -244
  144. rumdl-0.0.88/src/utils/table_utils.rs +0 -255
  145. rumdl-0.0.88/tests/rules/md002_test.rs +0 -144
  146. rumdl-0.0.88/tests/rules/md007_test.rs +0 -300
  147. rumdl-0.0.88/tests/rules/md009_test.rs +0 -93
  148. rumdl-0.0.88/tests/rules/md010_test.rs +0 -213
  149. rumdl-0.0.88/tests/rules/md013_test.rs +0 -265
  150. rumdl-0.0.88/tests/rules/md014_test.rs +0 -133
  151. rumdl-0.0.88/tests/rules/md052_test.rs +0 -93
  152. {rumdl-0.0.88 → rumdl-0.0.90}/.config/nextest.toml +0 -0
  153. {rumdl-0.0.88 → rumdl-0.0.90}/.mise.toml +0 -0
  154. {rumdl-0.0.88 → rumdl-0.0.90}/.rumdl.toml +0 -0
  155. {rumdl-0.0.88 → rumdl-0.0.90}/.rustfmt.toml +0 -0
  156. {rumdl-0.0.88 → rumdl-0.0.90}/LICENSE +0 -0
  157. {rumdl-0.0.88 → rumdl-0.0.90}/MANIFEST.in +0 -0
  158. {rumdl-0.0.88 → rumdl-0.0.90}/Makefile +0 -0
  159. {rumdl-0.0.88 → rumdl-0.0.90}/assets/logo.png +0 -0
  160. {rumdl-0.0.88 → rumdl-0.0.90}/benches/fix_performance.rs +0 -0
  161. {rumdl-0.0.88 → rumdl-0.0.90}/benches/range_performance.rs +0 -0
  162. {rumdl-0.0.88 → rumdl-0.0.90}/benches/range_utils_benchmark.rs +0 -0
  163. {rumdl-0.0.88 → rumdl-0.0.90}/benches/rule_performance.rs +0 -0
  164. {rumdl-0.0.88 → rumdl-0.0.90}/benches/simple_fix_bench.rs +0 -0
  165. {rumdl-0.0.88 → rumdl-0.0.90}/docs/global-settings.md +0 -0
  166. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md001.md +0 -0
  167. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md002.md +0 -0
  168. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md003.md +0 -0
  169. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md004.md +0 -0
  170. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md005.md +0 -0
  171. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md006.md +0 -0
  172. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md007.md +0 -0
  173. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md009.md +0 -0
  174. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md010.md +0 -0
  175. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md011.md +0 -0
  176. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md012.md +0 -0
  177. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md013.md +0 -0
  178. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md014.md +0 -0
  179. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md018.md +0 -0
  180. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md019.md +0 -0
  181. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md020.md +0 -0
  182. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md021.md +0 -0
  183. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md022.md +0 -0
  184. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md023.md +0 -0
  185. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md024.md +0 -0
  186. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md025.md +0 -0
  187. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md026.md +0 -0
  188. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md027.md +0 -0
  189. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md028.md +0 -0
  190. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md029.md +0 -0
  191. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md030.md +0 -0
  192. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md031.md +0 -0
  193. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md032.md +0 -0
  194. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md033.md +0 -0
  195. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md034.md +0 -0
  196. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md035.md +0 -0
  197. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md036.md +0 -0
  198. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md037.md +0 -0
  199. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md038.md +0 -0
  200. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md039.md +0 -0
  201. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md040.md +0 -0
  202. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md041.md +0 -0
  203. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md042.md +0 -0
  204. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md045.md +0 -0
  205. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md046.md +0 -0
  206. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md048.md +0 -0
  207. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md049.md +0 -0
  208. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md050.md +0 -0
  209. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md052.md +0 -0
  210. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md054.md +0 -0
  211. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md055.md +0 -0
  212. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md056.md +0 -0
  213. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md057.md +0 -0
  214. {rumdl-0.0.88 → rumdl-0.0.90}/docs/md058.md +0 -0
  215. {rumdl-0.0.88 → rumdl-0.0.90}/docs/vscode-extension.md +0 -0
  216. {rumdl-0.0.88 → rumdl-0.0.90}/issues/plan-rule-parity-with-markdownlint.md +0 -0
  217. {rumdl-0.0.88 → rumdl-0.0.90}/parity_check.py +0 -0
  218. {rumdl-0.0.88 → rumdl-0.0.90}/pyproject.toml +0 -0
  219. {rumdl-0.0.88 → rumdl-0.0.90}/python/MANIFEST.in +0 -0
  220. {rumdl-0.0.88 → rumdl-0.0.90}/python/PYTHON-README.md +0 -0
  221. {rumdl-0.0.88 → rumdl-0.0.90}/python/rumdl/__init__.py +0 -0
  222. {rumdl-0.0.88 → rumdl-0.0.90}/python/rumdl/__main__.py +0 -0
  223. {rumdl-0.0.88 → rumdl-0.0.90}/python/rumdl/py.typed +0 -0
  224. {rumdl-0.0.88 → rumdl-0.0.90}/rumdl.toml.example +0 -0
  225. {rumdl-0.0.88 → rumdl-0.0.90}/rust-toolchain.toml +0 -0
  226. {rumdl-0.0.88 → rumdl-0.0.90}/scripts/extract-changelog.sh +0 -0
  227. {rumdl-0.0.88 → rumdl-0.0.90}/scripts/prepare-release.sh +0 -0
  228. {rumdl-0.0.88 → rumdl-0.0.90}/src/bin/benchmark.rs +0 -0
  229. {rumdl-0.0.88 → rumdl-0.0.90}/src/bin/file_parallel_benchmark.rs +0 -0
  230. {rumdl-0.0.88 → rumdl-0.0.90}/src/bin/measure_code_span_performance.rs +0 -0
  231. {rumdl-0.0.88 → rumdl-0.0.90}/src/inline_config.rs +0 -0
  232. {rumdl-0.0.88 → rumdl-0.0.90}/src/output/formatters/mod.rs +0 -0
  233. {rumdl-0.0.88 → rumdl-0.0.90}/src/performance.rs +0 -0
  234. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/emphasis_style.rs +0 -0
  235. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md001_heading_increment.rs +0 -0
  236. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  237. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md003_heading_style/md003_config.rs +0 -0
  238. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md003_heading_style.rs +0 -0
  239. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  240. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md006_start_bullets.rs +0 -0
  241. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  242. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  243. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  244. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md011_no_reversed_links.rs +0 -0
  245. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  246. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md013_line_length/md013_config.rs +0 -0
  247. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  248. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md018_no_missing_space_atx.rs +0 -0
  249. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  250. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  251. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  252. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  253. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md022_blanks_around_headings.rs +0 -0
  254. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md023_heading_start_left.rs +0 -0
  255. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  256. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md025_single_title/md025_config.rs +0 -0
  257. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md025_single_title.rs +0 -0
  258. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  259. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md029_ordered_list_prefix.rs +0 -0
  260. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  261. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md030_list_marker_space.rs +0 -0
  262. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md031_blanks_around_fences.rs +0 -0
  263. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md032_blanks_around_lists.rs +0 -0
  264. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  265. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md033_no_inline_html.rs +0 -0
  266. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md035_hr_style/md035_config.rs +0 -0
  267. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  268. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md038_no_space_in_code.rs +0 -0
  269. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md039_no_space_in_links.rs +0 -0
  270. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md043_required_headings.rs +0 -0
  271. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md044_proper_names/md044_config.rs +0 -0
  272. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  273. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  274. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  275. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md050_strong_style/md050_config.rs +0 -0
  276. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  277. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  278. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md055_table_pipe_style.rs +0 -0
  279. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  280. {rumdl-0.0.88 → rumdl-0.0.90}/src/rules/md057_existing_relative_links.rs +0 -0
  281. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/element_cache.rs +0 -0
  282. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/markdown_elements.rs +0 -0
  283. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/range_utils.rs +0 -0
  284. {rumdl-0.0.88 → rumdl-0.0.90}/src/utils/string_interner.rs +0 -0
  285. {rumdl-0.0.88 → rumdl-0.0.90}/tests/advanced_integration_tests.rs +0 -0
  286. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/additional_tests.rs +0 -0
  287. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/basic_tests.rs +0 -0
  288. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/comprehensive_tests.rs +0 -0
  289. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/extended_tests.rs +0 -0
  290. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/mod.rs +0 -0
  291. {rumdl-0.0.88 → rumdl-0.0.90}/tests/character_ranges/unicode_utils.rs +0 -0
  292. {rumdl-0.0.88 → rumdl-0.0.90}/tests/cli_duplication_test.rs +0 -0
  293. {rumdl-0.0.88 → rumdl-0.0.90}/tests/cli_integration_tests.rs +0 -0
  294. {rumdl-0.0.88 → rumdl-0.0.90}/tests/cli_lsp_fix_consistency.rs +0 -0
  295. {rumdl-0.0.88 → rumdl-0.0.90}/tests/commonmark_compliance_tests.rs +0 -0
  296. {rumdl-0.0.88 → rumdl-0.0.90}/tests/comprehensive_integration_tests.rs +0 -0
  297. {rumdl-0.0.88 → rumdl-0.0.90}/tests/comprehensive_output_format_tests.rs +0 -0
  298. {rumdl-0.0.88 → rumdl-0.0.90}/tests/config_application_tests.rs +0 -0
  299. {rumdl-0.0.88 → rumdl-0.0.90}/tests/config_file_command_test.rs +0 -0
  300. {rumdl-0.0.88 → rumdl-0.0.90}/tests/config_tests.rs +0 -0
  301. {rumdl-0.0.88 → rumdl-0.0.90}/tests/configuration_inheritance_tests.rs +0 -0
  302. {rumdl-0.0.88 → rumdl-0.0.90}/tests/consistency_regression_tests.rs +0 -0
  303. {rumdl-0.0.88 → rumdl-0.0.90}/tests/cross_platform_compatibility_tests.rs +0 -0
  304. {rumdl-0.0.88 → rumdl-0.0.90}/tests/final_confidence_assessment.rs +0 -0
  305. {rumdl-0.0.88 → rumdl-0.0.90}/tests/init_command_test.rs +0 -0
  306. {rumdl-0.0.88 → rumdl-0.0.90}/tests/init_tests.rs +0 -0
  307. {rumdl-0.0.88 → rumdl-0.0.90}/tests/inline_config_test.rs +0 -0
  308. {rumdl-0.0.88 → rumdl-0.0.90}/tests/integration_tests.rs +0 -0
  309. {rumdl-0.0.88 → rumdl-0.0.90}/tests/json_output_test.rs +0 -0
  310. {rumdl-0.0.88 → rumdl-0.0.90}/tests/lib.rs +0 -0
  311. {rumdl-0.0.88 → rumdl-0.0.90}/tests/lsp_editor_integration_tests.rs +0 -0
  312. {rumdl-0.0.88 → rumdl-0.0.90}/tests/lsp_integration_tests.rs +0 -0
  313. {rumdl-0.0.88 → rumdl-0.0.90}/tests/lsp_memory_leak_tests.rs +0 -0
  314. {rumdl-0.0.88 → rumdl-0.0.90}/tests/lsp_tests.rs +0 -0
  315. {rumdl-0.0.88 → rumdl-0.0.90}/tests/malformed_markdown_stress_tests.rs +0 -0
  316. {rumdl-0.0.88 → rumdl-0.0.90}/tests/markdownlint_cli_integration.rs +0 -0
  317. {rumdl-0.0.88 → rumdl-0.0.90}/tests/markdownlint_config_test.rs +0 -0
  318. {rumdl-0.0.88 → rumdl-0.0.90}/tests/markdownlintignore_test.rs +0 -0
  319. {rumdl-0.0.88 → rumdl-0.0.90}/tests/md030_edge_cases.md +0 -0
  320. {rumdl-0.0.88 → rumdl-0.0.90}/tests/output_format_integration_tests.rs +0 -0
  321. {rumdl-0.0.88 → rumdl-0.0.90}/tests/output_format_tests.rs +0 -0
  322. {rumdl-0.0.88 → rumdl-0.0.90}/tests/perf_check.rs +0 -0
  323. {rumdl-0.0.88 → rumdl-0.0.90}/tests/performance_validation_tests.rs +0 -0
  324. {rumdl-0.0.88 → rumdl-0.0.90}/tests/pyproject_config_tests.rs +0 -0
  325. {rumdl-0.0.88 → rumdl-0.0.90}/tests/real_world_repository_tests.rs +0 -0
  326. {rumdl-0.0.88 → rumdl-0.0.90}/tests/regression_prevention_tests.rs +0 -0
  327. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md001_test.rs +0 -0
  328. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md001_unicode_test.rs +0 -0
  329. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md003_test.rs +0 -0
  330. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md005_test.rs +0 -0
  331. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md006_test.rs +0 -0
  332. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md006_unicode_test.rs +0 -0
  333. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md011_test.rs +0 -0
  334. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md012_test.rs +0 -0
  335. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md018_test.rs +0 -0
  336. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md019_test.rs +0 -0
  337. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md020_test.rs +0 -0
  338. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md021_test.rs +0 -0
  339. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md022_test.rs +0 -0
  340. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md023_extended_test.rs +0 -0
  341. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md023_test.rs +0 -0
  342. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md024_test.rs +0 -0
  343. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md025_test.rs +0 -0
  344. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md027_test.rs +0 -0
  345. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md028_test.rs +0 -0
  346. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md029_test.rs +0 -0
  347. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md030_test.rs +0 -0
  348. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md031_test.rs +0 -0
  349. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md032_test.rs +0 -0
  350. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md033_extended_test.rs +0 -0
  351. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md033_test.rs +0 -0
  352. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md035_test.rs +0 -0
  353. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md036_test.rs +0 -0
  354. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md037_test.rs +0 -0
  355. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md038_test.rs +0 -0
  356. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md039_test.rs +0 -0
  357. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md040_test.rs +0 -0
  358. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md041_test.rs +0 -0
  359. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md042_test.rs +0 -0
  360. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md043_test.rs +0 -0
  361. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md044_test.rs +0 -0
  362. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md045_test.rs +0 -0
  363. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md046_test.rs +0 -0
  364. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md047_test.rs +0 -0
  365. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md048_test.rs +0 -0
  366. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md049_test.rs +0 -0
  367. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md050_test.rs +0 -0
  368. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md051_test.rs +0 -0
  369. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md053_additional_test.rs +0 -0
  370. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md053_proptest.rs +0 -0
  371. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md053_test.rs +0 -0
  372. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md054_test.rs +0 -0
  373. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md054_unicode_test.rs +0 -0
  374. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md055_test.rs +0 -0
  375. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md056_test.rs +0 -0
  376. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md057_test.rs +0 -0
  377. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/md058_test.rs +0 -0
  378. {rumdl-0.0.88 → rumdl-0.0.90}/tests/rules/mod.rs +0 -0
  379. {rumdl-0.0.88 → rumdl-0.0.90}/tests/thread_safety_tests.rs +0 -0
  380. {rumdl-0.0.88 → rumdl-0.0.90}/tests/unicode_edge_case_tests.rs +0 -0
  381. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/blockquote_utils_test.rs +0 -0
  382. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/code_block_utils_test.rs +0 -0
  383. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/core_utils_test.rs +0 -0
  384. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/front_matter_utils_test.rs +0 -0
  385. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/line_index_test.rs +0 -0
  386. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils/mod.rs +0 -0
  387. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils_markdown_edge_cases.rs +0 -0
  388. {rumdl-0.0.88 → rumdl-0.0.90}/tests/utils_tests.rs +0 -0
  389. {rumdl-0.0.88 → rumdl-0.0.90}/tests/vscode_extension_fixes.rs +0 -0
  390. {rumdl-0.0.88 → rumdl-0.0.90}/tests/vscode_test.rs +0 -0
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.90] - 2025-07-01
11
+
12
+ ## [0.0.89] - 2025-07-01
13
+
14
+ ### Added
15
+ - Comprehensive unit test coverage for all 54 linting rules (~742 new tests)
16
+ - Unit tests for LSP server functionality
17
+ - Unit tests for all 11 output formatters
18
+ - Unit tests for Python bindings
19
+ - Test coverage improved from 75.4% to 77.1%
20
+
21
+ ### Fixed
22
+ - MD005: Fixed blockquote handling to correctly ignore intentional separations
23
+ - MD054: Fixed overlapping match detection for link/image styles
24
+ - Strong style utility module refactored to remove unused code
25
+ - MD029: Fixed nested code block detection by implementing proper CommonMark fence closing rules
26
+ - MD052: Fixed false positives for arrays and references inside inline code spans
27
+ - MD013: Fixed line length calculation to intelligently handle URLs in non-strict mode
28
+
29
+ ### Improved
30
+ - Test infrastructure now includes both unit and integration tests
31
+ - Better test organization with inline unit tests in implementation files
32
+
10
33
  ## [0.0.88] - 2025-06-28
11
34
 
12
35
  ### Added
@@ -44,10 +67,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
44
67
 
45
68
  ## [0.0.84] - 2025-06-10
46
69
 
47
- ## [0.0.84] - 2025-06-10
48
-
49
- ## [0.0.84] - 2025-06-10
50
-
51
70
  ### Added
52
71
  - Type-safe serde-based configuration system for all 24 configurable rules
53
72
  - Dedicated config modules for each rule with compile-time validation
@@ -90,13 +109,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
90
109
  ### Added
91
110
  - Initial implementation of remaining rules for markdownlint parity
92
111
 
93
- [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.87...HEAD
112
+ [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.90...HEAD
113
+ [0.0.90]: https://github.com/rvben/rumdl/compare/v0.0.89...v0.0.90
114
+ [0.0.89]: https://github.com/rvben/rumdl/compare/v0.0.88...v0.0.89
115
+ [0.0.88]: https://github.com/rvben/rumdl/compare/v0.0.87...v0.0.88
94
116
  [0.0.87]: https://github.com/rvben/rumdl/compare/v0.0.86...v0.0.87
95
117
  [0.0.86]: https://github.com/rvben/rumdl/compare/v0.0.85...v0.0.86
96
118
  [0.0.85]: https://github.com/rvben/rumdl/compare/v0.0.84...v0.0.85
97
119
  [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
98
- [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
99
- [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
100
120
  [0.0.83]: https://github.com/rvben/rumdl/compare/v0.0.82...v0.0.83
101
121
  [0.0.82]: https://github.com/rvben/rumdl/compare/v0.0.81...v0.0.82
102
122
  [0.0.81]: https://github.com/rvben/rumdl/releases/tag/v0.0.81
@@ -143,9 +143,9 @@ dependencies = [
143
143
 
144
144
  [[package]]
145
145
  name = "autocfg"
146
- version = "1.4.0"
146
+ version = "1.5.0"
147
147
  source = "registry+https://github.com/rust-lang/crates.io-index"
148
- checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
148
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
149
149
 
150
150
  [[package]]
151
151
  name = "backtrace"
@@ -159,7 +159,7 @@ dependencies = [
159
159
  "miniz_oxide",
160
160
  "object",
161
161
  "rustc-demangle",
162
- "windows-targets",
162
+ "windows-targets 0.52.6",
163
163
  ]
164
164
 
165
165
  [[package]]
@@ -202,9 +202,9 @@ dependencies = [
202
202
 
203
203
  [[package]]
204
204
  name = "bumpalo"
205
- version = "3.18.1"
205
+ version = "3.19.0"
206
206
  source = "registry+https://github.com/rust-lang/crates.io-index"
207
- checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
207
+ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
208
208
 
209
209
  [[package]]
210
210
  name = "bytes"
@@ -399,9 +399,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
399
399
 
400
400
  [[package]]
401
401
  name = "crunchy"
402
- version = "0.2.3"
402
+ version = "0.2.4"
403
403
  source = "registry+https://github.com/rust-lang/crates.io-index"
404
- checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
404
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
405
405
 
406
406
  [[package]]
407
407
  name = "dashmap"
@@ -488,12 +488,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
488
488
 
489
489
  [[package]]
490
490
  name = "errno"
491
- version = "0.3.12"
491
+ version = "0.3.13"
492
492
  source = "registry+https://github.com/rust-lang/crates.io-index"
493
- checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
493
+ checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
494
494
  dependencies = [
495
495
  "libc",
496
- "windows-sys 0.59.0",
496
+ "windows-sys 0.60.2",
497
497
  ]
498
498
 
499
499
  [[package]]
@@ -834,9 +834,9 @@ dependencies = [
834
834
 
835
835
  [[package]]
836
836
  name = "indexmap"
837
- version = "2.9.0"
837
+ version = "2.10.0"
838
838
  source = "registry+https://github.com/rust-lang/crates.io-index"
839
- checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
839
+ checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
840
840
  dependencies = [
841
841
  "equivalent",
842
842
  "hashbrown 0.15.4",
@@ -931,9 +931,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
931
931
 
932
932
  [[package]]
933
933
  name = "libc"
934
- version = "0.2.173"
934
+ version = "0.2.174"
935
935
  source = "registry+https://github.com/rust-lang/crates.io-index"
936
- checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb"
936
+ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
937
937
 
938
938
  [[package]]
939
939
  name = "linux-raw-sys"
@@ -1101,7 +1101,7 @@ dependencies = [
1101
1101
  "libc",
1102
1102
  "redox_syscall",
1103
1103
  "smallvec",
1104
- "windows-targets",
1104
+ "windows-targets 0.52.6",
1105
1105
  ]
1106
1106
 
1107
1107
  [[package]]
@@ -1352,9 +1352,9 @@ dependencies = [
1352
1352
 
1353
1353
  [[package]]
1354
1354
  name = "r-efi"
1355
- version = "5.2.0"
1355
+ version = "5.3.0"
1356
1356
  source = "registry+https://github.com/rust-lang/crates.io-index"
1357
- checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
1357
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1358
1358
 
1359
1359
  [[package]]
1360
1360
  name = "rand"
@@ -1454,7 +1454,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1454
1454
 
1455
1455
  [[package]]
1456
1456
  name = "rumdl"
1457
- version = "0.0.88"
1457
+ version = "0.0.90"
1458
1458
  dependencies = [
1459
1459
  "anyhow",
1460
1460
  "assert_cmd",
@@ -1683,9 +1683,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1683
1683
 
1684
1684
  [[package]]
1685
1685
  name = "syn"
1686
- version = "2.0.103"
1686
+ version = "2.0.104"
1687
1687
  source = "registry+https://github.com/rust-lang/crates.io-index"
1688
- checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8"
1688
+ checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
1689
1689
  dependencies = [
1690
1690
  "proc-macro2",
1691
1691
  "quote",
@@ -1949,9 +1949,9 @@ dependencies = [
1949
1949
 
1950
1950
  [[package]]
1951
1951
  name = "tracing-attributes"
1952
- version = "0.1.29"
1952
+ version = "0.1.30"
1953
1953
  source = "registry+https://github.com/rust-lang/crates.io-index"
1954
- checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662"
1954
+ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
1955
1955
  dependencies = [
1956
1956
  "proc-macro2",
1957
1957
  "quote",
@@ -2230,7 +2230,7 @@ version = "0.52.0"
2230
2230
  source = "registry+https://github.com/rust-lang/crates.io-index"
2231
2231
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2232
2232
  dependencies = [
2233
- "windows-targets",
2233
+ "windows-targets 0.52.6",
2234
2234
  ]
2235
2235
 
2236
2236
  [[package]]
@@ -2239,7 +2239,16 @@ version = "0.59.0"
2239
2239
  source = "registry+https://github.com/rust-lang/crates.io-index"
2240
2240
  checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2241
2241
  dependencies = [
2242
- "windows-targets",
2242
+ "windows-targets 0.52.6",
2243
+ ]
2244
+
2245
+ [[package]]
2246
+ name = "windows-sys"
2247
+ version = "0.60.2"
2248
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2249
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
2250
+ dependencies = [
2251
+ "windows-targets 0.53.2",
2243
2252
  ]
2244
2253
 
2245
2254
  [[package]]
@@ -2248,14 +2257,30 @@ version = "0.52.6"
2248
2257
  source = "registry+https://github.com/rust-lang/crates.io-index"
2249
2258
  checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2250
2259
  dependencies = [
2251
- "windows_aarch64_gnullvm",
2252
- "windows_aarch64_msvc",
2253
- "windows_i686_gnu",
2254
- "windows_i686_gnullvm",
2255
- "windows_i686_msvc",
2256
- "windows_x86_64_gnu",
2257
- "windows_x86_64_gnullvm",
2258
- "windows_x86_64_msvc",
2260
+ "windows_aarch64_gnullvm 0.52.6",
2261
+ "windows_aarch64_msvc 0.52.6",
2262
+ "windows_i686_gnu 0.52.6",
2263
+ "windows_i686_gnullvm 0.52.6",
2264
+ "windows_i686_msvc 0.52.6",
2265
+ "windows_x86_64_gnu 0.52.6",
2266
+ "windows_x86_64_gnullvm 0.52.6",
2267
+ "windows_x86_64_msvc 0.52.6",
2268
+ ]
2269
+
2270
+ [[package]]
2271
+ name = "windows-targets"
2272
+ version = "0.53.2"
2273
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2274
+ checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
2275
+ dependencies = [
2276
+ "windows_aarch64_gnullvm 0.53.0",
2277
+ "windows_aarch64_msvc 0.53.0",
2278
+ "windows_i686_gnu 0.53.0",
2279
+ "windows_i686_gnullvm 0.53.0",
2280
+ "windows_i686_msvc 0.53.0",
2281
+ "windows_x86_64_gnu 0.53.0",
2282
+ "windows_x86_64_gnullvm 0.53.0",
2283
+ "windows_x86_64_msvc 0.53.0",
2259
2284
  ]
2260
2285
 
2261
2286
  [[package]]
@@ -2264,48 +2289,96 @@ version = "0.52.6"
2264
2289
  source = "registry+https://github.com/rust-lang/crates.io-index"
2265
2290
  checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2266
2291
 
2292
+ [[package]]
2293
+ name = "windows_aarch64_gnullvm"
2294
+ version = "0.53.0"
2295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2296
+ checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
2297
+
2267
2298
  [[package]]
2268
2299
  name = "windows_aarch64_msvc"
2269
2300
  version = "0.52.6"
2270
2301
  source = "registry+https://github.com/rust-lang/crates.io-index"
2271
2302
  checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2272
2303
 
2304
+ [[package]]
2305
+ name = "windows_aarch64_msvc"
2306
+ version = "0.53.0"
2307
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2308
+ checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
2309
+
2273
2310
  [[package]]
2274
2311
  name = "windows_i686_gnu"
2275
2312
  version = "0.52.6"
2276
2313
  source = "registry+https://github.com/rust-lang/crates.io-index"
2277
2314
  checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2278
2315
 
2316
+ [[package]]
2317
+ name = "windows_i686_gnu"
2318
+ version = "0.53.0"
2319
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2320
+ checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
2321
+
2279
2322
  [[package]]
2280
2323
  name = "windows_i686_gnullvm"
2281
2324
  version = "0.52.6"
2282
2325
  source = "registry+https://github.com/rust-lang/crates.io-index"
2283
2326
  checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2284
2327
 
2328
+ [[package]]
2329
+ name = "windows_i686_gnullvm"
2330
+ version = "0.53.0"
2331
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2332
+ checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
2333
+
2285
2334
  [[package]]
2286
2335
  name = "windows_i686_msvc"
2287
2336
  version = "0.52.6"
2288
2337
  source = "registry+https://github.com/rust-lang/crates.io-index"
2289
2338
  checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2290
2339
 
2340
+ [[package]]
2341
+ name = "windows_i686_msvc"
2342
+ version = "0.53.0"
2343
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2344
+ checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
2345
+
2291
2346
  [[package]]
2292
2347
  name = "windows_x86_64_gnu"
2293
2348
  version = "0.52.6"
2294
2349
  source = "registry+https://github.com/rust-lang/crates.io-index"
2295
2350
  checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2296
2351
 
2352
+ [[package]]
2353
+ name = "windows_x86_64_gnu"
2354
+ version = "0.53.0"
2355
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2356
+ checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
2357
+
2297
2358
  [[package]]
2298
2359
  name = "windows_x86_64_gnullvm"
2299
2360
  version = "0.52.6"
2300
2361
  source = "registry+https://github.com/rust-lang/crates.io-index"
2301
2362
  checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2302
2363
 
2364
+ [[package]]
2365
+ name = "windows_x86_64_gnullvm"
2366
+ version = "0.53.0"
2367
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2368
+ checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
2369
+
2303
2370
  [[package]]
2304
2371
  name = "windows_x86_64_msvc"
2305
2372
  version = "0.52.6"
2306
2373
  source = "registry+https://github.com/rust-lang/crates.io-index"
2307
2374
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2308
2375
 
2376
+ [[package]]
2377
+ name = "windows_x86_64_msvc"
2378
+ version = "0.53.0"
2379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2380
+ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
2381
+
2309
2382
  [[package]]
2310
2383
  name = "winnow"
2311
2384
  version = "0.7.11"
@@ -2362,18 +2435,18 @@ dependencies = [
2362
2435
 
2363
2436
  [[package]]
2364
2437
  name = "zerocopy"
2365
- version = "0.8.25"
2438
+ version = "0.8.26"
2366
2439
  source = "registry+https://github.com/rust-lang/crates.io-index"
2367
- checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
2440
+ checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
2368
2441
  dependencies = [
2369
2442
  "zerocopy-derive",
2370
2443
  ]
2371
2444
 
2372
2445
  [[package]]
2373
2446
  name = "zerocopy-derive"
2374
- version = "0.8.25"
2447
+ version = "0.8.26"
2375
2448
  source = "registry+https://github.com/rust-lang/crates.io-index"
2376
- checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
2449
+ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
2377
2450
  dependencies = [
2378
2451
  "proc-macro2",
2379
2452
  "quote",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.88"
3
+ version = "0.0.90"
4
4
  edition = "2024"
5
5
  rust-version = "1.87.0"
6
6
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.88
3
+ Version: 0.0.90
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -55,6 +55,7 @@ Project-URL: Repository, https://github.com/rvben/rumdl.git
55
55
  - [Table of Contents](#table-of-contents)
56
56
  - [Quick Start](#quick-start)
57
57
  - [Overview](#overview)
58
+ - [Performance](#performance)
58
59
  - [Installation](#installation)
59
60
  - [Using Cargo (Rust)](#using-cargo-rust)
60
61
  - [Using pip (Python)](#using-pip-python)
@@ -102,8 +103,8 @@ rumdl init
102
103
 
103
104
  rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices in your Markdown files. It offers:
104
105
 
105
- - ⚡️ **Built for speed** with Rust
106
- - 🔍 **50+ lint rules** covering common Markdown issues
106
+ - ⚡️ **Built for speed** with Rust - significantly faster than alternatives
107
+ - 🔍 **54 lint rules** covering common Markdown issues
107
108
  - 🛠️ **Automatic fixing** with `--fix` for most rules
108
109
  - 📦 **Zero dependencies** - single binary with no runtime requirements
109
110
  - 🔧 **Highly configurable** with TOML-based config files
@@ -112,6 +113,14 @@ rumdl is a high-performance Markdown linter and fixer that helps ensure consiste
112
113
  - 📏 **Modern CLI** with detailed error reporting
113
114
  - 🔄 **CI/CD friendly** with non-zero exit code on errors
114
115
 
116
+ ## Performance
117
+
118
+ rumdl is designed for speed and efficiency:
119
+
120
+ ![Performance Comparison](assets/performance_overview.png)
121
+
122
+ rumdl is **4.3x faster** on average than markdownlint for typical markdown files, with performance improvements ranging from 3.4x to 5.4x depending on project size.
123
+
115
124
  ## Installation
116
125
 
117
126
  Choose the installation method that works best for you:
@@ -235,7 +244,7 @@ When you run `pre-commit install` or `pre-commit run`, pre-commit will automatic
235
244
 
236
245
  ## Rules
237
246
 
238
- rumdl implements over 50 lint rules for Markdown files. Here are some key rule categories:
247
+ rumdl implements 54 lint rules for Markdown files. Here are some key rule categories:
239
248
 
240
249
  | Category | Description | Example Rules |
241
250
  |-----------|-------------|---------------|
@@ -278,6 +287,7 @@ Lint Markdown files and print warnings/errors (main subcommand)
278
287
  - `--respect-gitignore`: Respect .gitignore files when scanning directories (does not apply to explicitly provided paths)
279
288
  - `-v, --verbose`: Show detailed output
280
289
  - `--profile`: Show profiling information
290
+ - `--statistics`: Show rule violation statistics summary
281
291
  - `-q, --quiet`: Quiet mode
282
292
  - `-o, --output <format>`: Output format: `text` (default) or `json`
283
293
  - `--stdin`: Read from stdin instead of files
@@ -394,6 +404,9 @@ echo "# My Heading" | rumdl check --stdin
394
404
  # Get JSON output for integration with other tools
395
405
  rumdl check --output json README.md
396
406
 
407
+ # Show statistics summary of rule violations
408
+ rumdl check --statistics .
409
+
397
410
  # Disable colors in output
398
411
  rumdl check --color never README.md
399
412
 
@@ -24,6 +24,7 @@
24
24
  - [Table of Contents](#table-of-contents)
25
25
  - [Quick Start](#quick-start)
26
26
  - [Overview](#overview)
27
+ - [Performance](#performance)
27
28
  - [Installation](#installation)
28
29
  - [Using Cargo (Rust)](#using-cargo-rust)
29
30
  - [Using pip (Python)](#using-pip-python)
@@ -71,8 +72,8 @@ rumdl init
71
72
 
72
73
  rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices in your Markdown files. It offers:
73
74
 
74
- - ⚡️ **Built for speed** with Rust
75
- - 🔍 **50+ lint rules** covering common Markdown issues
75
+ - ⚡️ **Built for speed** with Rust - significantly faster than alternatives
76
+ - 🔍 **54 lint rules** covering common Markdown issues
76
77
  - 🛠️ **Automatic fixing** with `--fix` for most rules
77
78
  - 📦 **Zero dependencies** - single binary with no runtime requirements
78
79
  - 🔧 **Highly configurable** with TOML-based config files
@@ -81,6 +82,14 @@ rumdl is a high-performance Markdown linter and fixer that helps ensure consiste
81
82
  - 📏 **Modern CLI** with detailed error reporting
82
83
  - 🔄 **CI/CD friendly** with non-zero exit code on errors
83
84
 
85
+ ## Performance
86
+
87
+ rumdl is designed for speed and efficiency:
88
+
89
+ ![Performance Comparison](assets/performance_overview.png)
90
+
91
+ rumdl is **4.3x faster** on average than markdownlint for typical markdown files, with performance improvements ranging from 3.4x to 5.4x depending on project size.
92
+
84
93
  ## Installation
85
94
 
86
95
  Choose the installation method that works best for you:
@@ -204,7 +213,7 @@ When you run `pre-commit install` or `pre-commit run`, pre-commit will automatic
204
213
 
205
214
  ## Rules
206
215
 
207
- rumdl implements over 50 lint rules for Markdown files. Here are some key rule categories:
216
+ rumdl implements 54 lint rules for Markdown files. Here are some key rule categories:
208
217
 
209
218
  | Category | Description | Example Rules |
210
219
  |-----------|-------------|---------------|
@@ -247,6 +256,7 @@ Lint Markdown files and print warnings/errors (main subcommand)
247
256
  - `--respect-gitignore`: Respect .gitignore files when scanning directories (does not apply to explicitly provided paths)
248
257
  - `-v, --verbose`: Show detailed output
249
258
  - `--profile`: Show profiling information
259
+ - `--statistics`: Show rule violation statistics summary
250
260
  - `-q, --quiet`: Quiet mode
251
261
  - `-o, --output <format>`: Output format: `text` (default) or `json`
252
262
  - `--stdin`: Read from stdin instead of files
@@ -363,6 +373,9 @@ echo "# My Heading" | rumdl check --stdin
363
373
  # Get JSON output for integration with other tools
364
374
  rumdl check --output json README.md
365
375
 
376
+ # Show statistics summary of rule violations
377
+ rumdl check --statistics .
378
+
366
379
  # Disable colors in output
367
380
  rumdl check --color never README.md
368
381
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Introduction
6
6
 
7
- rumdl implements 50+ rules for checking Markdown files. This document provides a comprehensive reference of all available rules, organized by category.
7
+ rumdl implements 54 rules for checking Markdown files. This document provides a comprehensive reference of all available rules, organized by category.
8
8
  Each rule has a brief description and a link to its detailed documentation.
9
9
 
10
10
  For information on global configuration settings (file selection, rule enablement, etc.), see the [Global Settings Reference](global-settings.md).
@@ -20,6 +20,15 @@ For information on global configuration settings (file selection, rule enablemen
20
20
  - [Table Rules](#table-rules) - Rules for table formatting and structure
21
21
  - [Other Rules](#other-rules) - Miscellaneous rules that don't fit the other categories
22
22
 
23
+ ## Note on Missing Rule Numbers
24
+
25
+ Some rule numbers are not implemented in rumdl:
26
+
27
+ - **MD008** - Originally intended for "Unordered list spacing" but not implemented in modern markdownlint
28
+ - **MD015, MD016, MD017** - These rule numbers were never assigned in either the Ruby or Node.js versions of markdownlint
29
+
30
+ These gaps in numbering are maintained for compatibility with markdownlint rule numbering.
31
+
23
32
  ## Heading Rules
24
33
 
25
34
  | Rule ID | Rule Name | Description |
@@ -47,7 +56,6 @@ For information on global configuration settings (file selection, rule enablemen
47
56
  | [MD005](md005.md) | List indent | Inconsistent indentation for list items at the same level |
48
57
  | [MD006](md006.md) | Start bullets | Consider starting bulleted lists at the beginning of the line |
49
58
  | [MD007](md007.md) | UL indent | Unordered list indentation |
50
- | [MD008](md008.md) | UL space | Unordered list spacing |
51
59
  | [MD029](md029.md) | OL prefix | Ordered list item prefix |
52
60
  | [MD030](md030.md) | List marker space | Spaces after list markers |
53
61
  | [MD032](md032.md) | Blanks around lists | Lists should be surrounded by blank lines |
@@ -15,7 +15,11 @@ Ensures your documents contain specific required headings, helping maintain cons
15
15
 
16
16
  ### ✅ Correct
17
17
 
18
- With required headings: `["# Overview", "## Installation", "## Usage", "## License"]`
18
+ With required headings configuration:
19
+
20
+ ```yaml
21
+ headings: ["# Overview", "## Installation", "## Usage", "## License"]
22
+ ```
19
23
 
20
24
  ```markdown
21
25
  # Overview
@@ -15,7 +15,11 @@ Ensures brand names, product names, and technical terms are consistently capital
15
15
 
16
16
  ### ✅ Correct
17
17
 
18
- With configured names: `["JavaScript", "GitHub", "Node.js", "TypeScript"]`
18
+ With configured names:
19
+
20
+ ```yaml
21
+ names: ["JavaScript", "GitHub", "Node.js", "TypeScript"]
22
+ ```
19
23
 
20
24
  ```markdown
21
25
  # JavaScript Development Guide
@@ -32,8 +32,10 @@ The last line ends with a single newline.
32
32
 
33
33
  This is the content of my document.
34
34
 
35
- The last line has no newline.```
36
- (Note: The file ends immediately after the last character)
35
+ The last line has no newline.
36
+ ```
37
+
38
+ (Note: In the actual file, there would be no newline after "newline." - the file ends immediately)
37
39
 
38
40
  ```markdown
39
41
  # My Document
@@ -74,7 +74,9 @@ When you create a heading like `## Getting Started`, Markdown automatically crea
74
74
  ## Learn more
75
75
 
76
76
  - [CommonMark anchors](https://spec.commonmark.org/) - How link anchors work
77
- - [GitHub heading IDs](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#section-links) - GitHub's approach to heading anchors
77
+ - [GitHub heading IDs][github-ids] - GitHub's approach to heading anchors
78
+
79
+ [github-ids]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#section-links
78
80
 
79
81
  ## Related rules
80
82
 
@@ -62,7 +62,7 @@ MD053:
62
62
  ignored_definitions: ["todo", "draft", "template"]
63
63
  ```
64
64
 
65
- This keeps definitions like `[todo]:` even if they're not currently used.
65
+ This keeps reference definitions with names like "todo", "draft", or "template" even if they're not currently used.
66
66
 
67
67
  ## Automatic fixes
68
68