rumdl 0.0.92__tar.gz → 0.0.93__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 (348) hide show
  1. {rumdl-0.0.92 → rumdl-0.0.93}/CHANGELOG.md +23 -2
  2. {rumdl-0.0.92 → rumdl-0.0.93}/Cargo.lock +1 -1
  3. {rumdl-0.0.92 → rumdl-0.0.93}/Cargo.toml +1 -1
  4. {rumdl-0.0.92 → rumdl-0.0.93}/PKG-INFO +6 -4
  5. {rumdl-0.0.92 → rumdl-0.0.93}/README.md +5 -3
  6. {rumdl-0.0.92 → rumdl-0.0.93}/docs/global-settings.md +2 -1
  7. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md003.md +29 -1
  8. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md004.md +15 -1
  9. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md007.md +29 -1
  10. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md010.md +38 -2
  11. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md013.md +47 -4
  12. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md018.md +7 -0
  13. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md040.md +2 -2
  14. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md041.md +11 -0
  15. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md046.md +4 -0
  16. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md048.md +2 -2
  17. {rumdl-0.0.92 → rumdl-0.0.93}/docs/vscode-extension.md +13 -7
  18. {rumdl-0.0.92 → rumdl-0.0.93}/src/main.rs +151 -0
  19. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/heading_utils.rs +48 -0
  20. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md001_heading_increment.rs +18 -14
  21. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md003_heading_style.rs +75 -16
  22. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md004_unordered_list_style/md004_config.rs +2 -0
  23. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md004_unordered_list_style.rs +76 -0
  24. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md005_list_indent.rs +11 -12
  25. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md007_ul_indent/md007_config.rs +14 -0
  26. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md007_ul_indent.rs +82 -7
  27. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md009_trailing_spaces/md009_config.rs +5 -0
  28. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md009_trailing_spaces.rs +81 -1
  29. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md010_no_hard_tabs/md010_config.rs +5 -0
  30. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md010_no_hard_tabs.rs +120 -0
  31. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md011_no_reversed_links.rs +128 -12
  32. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md012_no_multiple_blanks.rs +125 -205
  33. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md013_line_length/md013_config.rs +15 -0
  34. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md013_line_length.rs +37 -12
  35. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md014_commands_show_output.rs +5 -0
  36. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md018_no_missing_space_atx.rs +47 -2
  37. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md025_single_title.rs +4 -2
  38. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md027_multiple_spaces_blockquote.rs +5 -0
  39. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md031_blanks_around_fences.rs +68 -2
  40. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md032_blanks_around_lists.rs +1 -1
  41. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md033_no_inline_html.rs +20 -20
  42. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md034_no_bare_urls.rs +50 -10
  43. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md035_hr_style.rs +5 -0
  44. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md038_no_space_in_code.rs +90 -1
  45. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md041_first_line_heading.rs +97 -4
  46. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md049_emphasis_style.rs +5 -0
  47. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md050_strong_style.rs +5 -0
  48. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md051_link_fragments.rs +14 -2
  49. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/mod.rs +1 -1
  50. {rumdl-0.0.92 → rumdl-0.0.93}/tests/advanced_integration_tests.rs +120 -10
  51. {rumdl-0.0.92 → rumdl-0.0.93}/tests/commonmark_compliance_tests.rs +12 -6
  52. {rumdl-0.0.92 → rumdl-0.0.93}/tests/comprehensive_integration_tests.rs +72 -20
  53. rumdl-0.0.93/tests/nested_code_block_test.rs +144 -0
  54. {rumdl-0.0.92 → rumdl-0.0.93}/tests/output_format_tests.rs +3 -2
  55. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md001_test.rs +1 -1
  56. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md001_unicode_test.rs +1 -1
  57. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md007_test.rs +2 -2
  58. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md013_test.rs +114 -0
  59. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md018_test.rs +37 -0
  60. rumdl-0.0.93/tests/rules/md034_ipv6_test.rs +180 -0
  61. rumdl-0.0.93/tests/rules/md038_nested_backticks_test.rs +82 -0
  62. rumdl-0.0.93/tests/rules/md041_test.rs +157 -0
  63. rumdl-0.0.93/tests/rules/md051_unicode_test.rs +155 -0
  64. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/mod.rs +3 -0
  65. {rumdl-0.0.92 → rumdl-0.0.93}/tests/vscode_tests.rs +15 -4
  66. rumdl-0.0.92/issues/plan-rule-parity-with-markdownlint.md +0 -69
  67. rumdl-0.0.92/tests/md030_edge_cases.md +0 -160
  68. rumdl-0.0.92/tests/rules/md041_test.rs +0 -68
  69. {rumdl-0.0.92 → rumdl-0.0.93}/.config/nextest.toml +0 -0
  70. {rumdl-0.0.92 → rumdl-0.0.93}/.mise.toml +0 -0
  71. {rumdl-0.0.92 → rumdl-0.0.93}/.rumdl.toml +0 -0
  72. {rumdl-0.0.92 → rumdl-0.0.93}/.rustfmt.toml +0 -0
  73. {rumdl-0.0.92 → rumdl-0.0.93}/LICENSE +0 -0
  74. {rumdl-0.0.92 → rumdl-0.0.93}/MANIFEST.in +0 -0
  75. {rumdl-0.0.92 → rumdl-0.0.93}/Makefile +0 -0
  76. {rumdl-0.0.92 → rumdl-0.0.93}/assets/logo.png +0 -0
  77. {rumdl-0.0.92 → rumdl-0.0.93}/benches/fix_performance.rs +0 -0
  78. {rumdl-0.0.92 → rumdl-0.0.93}/benches/range_performance.rs +0 -0
  79. {rumdl-0.0.92 → rumdl-0.0.93}/benches/range_utils_benchmark.rs +0 -0
  80. {rumdl-0.0.92 → rumdl-0.0.93}/benches/rule_performance.rs +0 -0
  81. {rumdl-0.0.92 → rumdl-0.0.93}/benches/simple_fix_bench.rs +0 -0
  82. {rumdl-0.0.92 → rumdl-0.0.93}/docs/RULES.md +0 -0
  83. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md001.md +0 -0
  84. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md002.md +0 -0
  85. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md005.md +0 -0
  86. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md006.md +0 -0
  87. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md009.md +0 -0
  88. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md011.md +0 -0
  89. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md012.md +0 -0
  90. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md014.md +0 -0
  91. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md019.md +0 -0
  92. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md020.md +0 -0
  93. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md021.md +0 -0
  94. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md022.md +0 -0
  95. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md023.md +0 -0
  96. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md024.md +0 -0
  97. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md025.md +0 -0
  98. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md026.md +0 -0
  99. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md027.md +0 -0
  100. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md028.md +0 -0
  101. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md029.md +0 -0
  102. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md030.md +0 -0
  103. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md031.md +0 -0
  104. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md032.md +0 -0
  105. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md033.md +0 -0
  106. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md034.md +0 -0
  107. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md035.md +0 -0
  108. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md036.md +0 -0
  109. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md037.md +0 -0
  110. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md038.md +0 -0
  111. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md039.md +0 -0
  112. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md042.md +0 -0
  113. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md043.md +0 -0
  114. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md044.md +0 -0
  115. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md045.md +0 -0
  116. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md047.md +0 -0
  117. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md049.md +0 -0
  118. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md050.md +0 -0
  119. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md051.md +0 -0
  120. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md052.md +0 -0
  121. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md053.md +0 -0
  122. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md054.md +0 -0
  123. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md055.md +0 -0
  124. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md056.md +0 -0
  125. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md057.md +0 -0
  126. {rumdl-0.0.92 → rumdl-0.0.93}/docs/md058.md +0 -0
  127. {rumdl-0.0.92 → rumdl-0.0.93}/parity_check.py +0 -0
  128. {rumdl-0.0.92 → rumdl-0.0.93}/pyproject.toml +0 -0
  129. {rumdl-0.0.92 → rumdl-0.0.93}/python/MANIFEST.in +0 -0
  130. {rumdl-0.0.92 → rumdl-0.0.93}/python/PYTHON-README.md +0 -0
  131. {rumdl-0.0.92 → rumdl-0.0.93}/python/rumdl/__init__.py +0 -0
  132. {rumdl-0.0.92 → rumdl-0.0.93}/python/rumdl/__main__.py +0 -0
  133. {rumdl-0.0.92 → rumdl-0.0.93}/python/rumdl/py.typed +0 -0
  134. {rumdl-0.0.92 → rumdl-0.0.93}/rumdl.toml.example +0 -0
  135. {rumdl-0.0.92 → rumdl-0.0.93}/rust-toolchain.toml +0 -0
  136. {rumdl-0.0.92 → rumdl-0.0.93}/scripts/extract-changelog.sh +0 -0
  137. {rumdl-0.0.92 → rumdl-0.0.93}/scripts/prepare-release.sh +0 -0
  138. {rumdl-0.0.92 → rumdl-0.0.93}/src/bin/benchmark.rs +0 -0
  139. {rumdl-0.0.92 → rumdl-0.0.93}/src/bin/file_parallel_benchmark.rs +0 -0
  140. {rumdl-0.0.92 → rumdl-0.0.93}/src/bin/measure_code_span_performance.rs +0 -0
  141. {rumdl-0.0.92 → rumdl-0.0.93}/src/config.rs +0 -0
  142. {rumdl-0.0.92 → rumdl-0.0.93}/src/init.rs +0 -0
  143. {rumdl-0.0.92 → rumdl-0.0.93}/src/inline_config.rs +0 -0
  144. {rumdl-0.0.92 → rumdl-0.0.93}/src/lib.rs +0 -0
  145. {rumdl-0.0.92 → rumdl-0.0.93}/src/lint_context.rs +0 -0
  146. {rumdl-0.0.92 → rumdl-0.0.93}/src/lsp/mod.rs +0 -0
  147. {rumdl-0.0.92 → rumdl-0.0.93}/src/lsp/server.rs +0 -0
  148. {rumdl-0.0.92 → rumdl-0.0.93}/src/lsp/types.rs +0 -0
  149. {rumdl-0.0.92 → rumdl-0.0.93}/src/markdownlint_config.rs +0 -0
  150. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/azure.rs +0 -0
  151. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/concise.rs +0 -0
  152. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/github.rs +0 -0
  153. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/gitlab.rs +0 -0
  154. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/grouped.rs +0 -0
  155. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/json.rs +0 -0
  156. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/json_lines.rs +0 -0
  157. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/junit.rs +0 -0
  158. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/mod.rs +0 -0
  159. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/pylint.rs +0 -0
  160. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/sarif.rs +0 -0
  161. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/formatters/text.rs +0 -0
  162. {rumdl-0.0.92 → rumdl-0.0.93}/src/output/mod.rs +0 -0
  163. {rumdl-0.0.92 → rumdl-0.0.93}/src/parallel.rs +0 -0
  164. {rumdl-0.0.92 → rumdl-0.0.93}/src/performance.rs +0 -0
  165. {rumdl-0.0.92 → rumdl-0.0.93}/src/profiling.rs +0 -0
  166. {rumdl-0.0.92 → rumdl-0.0.93}/src/python.rs +0 -0
  167. {rumdl-0.0.92 → rumdl-0.0.93}/src/rule.rs +0 -0
  168. {rumdl-0.0.92 → rumdl-0.0.93}/src/rule_config.rs +0 -0
  169. {rumdl-0.0.92 → rumdl-0.0.93}/src/rule_config_serde.rs +0 -0
  170. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/blockquote_utils.rs +0 -0
  171. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/code_block_utils.rs +0 -0
  172. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/code_fence_utils.rs +0 -0
  173. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/emphasis_style.rs +0 -0
  174. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/front_matter_utils.rs +0 -0
  175. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/list_utils.rs +0 -0
  176. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  177. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md002_first_heading_h1.rs +0 -0
  178. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md003_heading_style/md003_config.rs +0 -0
  179. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md006_start_bullets.rs +0 -0
  180. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  181. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  182. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  183. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  184. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  185. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  186. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md022_blanks_around_headings.rs +0 -0
  187. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md023_heading_start_left.rs +0 -0
  188. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  189. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md024_no_duplicate_heading.rs +0 -0
  190. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md025_single_title/md025_config.rs +0 -0
  191. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  192. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  193. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  194. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md029_ordered_list_prefix.rs +0 -0
  195. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  196. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md030_list_marker_space.rs +0 -0
  197. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  198. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md035_hr_style/md035_config.rs +0 -0
  199. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  200. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  201. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  202. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md039_no_space_in_links.rs +0 -0
  203. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md040_fenced_code_language.rs +0 -0
  204. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md042_no_empty_links.rs +0 -0
  205. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md043_required_headings.rs +0 -0
  206. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md044_proper_names/md044_config.rs +0 -0
  207. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md044_proper_names.rs +0 -0
  208. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  209. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md045_no_alt_text.rs +0 -0
  210. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  211. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md046_code_block_style.rs +0 -0
  212. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md047_single_trailing_newline.rs +0 -0
  213. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  214. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md048_code_fence_style.rs +0 -0
  215. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  216. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md050_strong_style/md050_config.rs +0 -0
  217. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md052_reference_links_images.rs +0 -0
  218. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md053_link_image_reference_definitions.rs +0 -0
  219. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  220. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md054_link_image_style.rs +0 -0
  221. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  222. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md055_table_pipe_style.rs +0 -0
  223. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md056_table_column_count.rs +0 -0
  224. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  225. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md057_existing_relative_links.rs +0 -0
  226. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/md058_blanks_around_tables.rs +0 -0
  227. {rumdl-0.0.92 → rumdl-0.0.93}/src/rules/strong_style.rs +0 -0
  228. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/ast_utils.rs +0 -0
  229. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/code_block_utils.rs +0 -0
  230. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/document_structure.rs +0 -0
  231. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/early_returns.rs +0 -0
  232. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/element_cache.rs +0 -0
  233. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/emphasis_utils.rs +0 -0
  234. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/fix_utils.rs +0 -0
  235. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/markdown_elements.rs +0 -0
  236. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/mod.rs +0 -0
  237. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/range_utils.rs +0 -0
  238. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/regex_cache.rs +0 -0
  239. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/string_interner.rs +0 -0
  240. {rumdl-0.0.92 → rumdl-0.0.93}/src/utils/table_utils.rs +0 -0
  241. {rumdl-0.0.92 → rumdl-0.0.93}/src/vscode.rs +0 -0
  242. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/additional_tests.rs +0 -0
  243. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/basic_tests.rs +0 -0
  244. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/comprehensive_tests.rs +0 -0
  245. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/extended_tests.rs +0 -0
  246. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/mod.rs +0 -0
  247. {rumdl-0.0.92 → rumdl-0.0.93}/tests/character_ranges/unicode_utils.rs +0 -0
  248. {rumdl-0.0.92 → rumdl-0.0.93}/tests/cli_duplication_test.rs +0 -0
  249. {rumdl-0.0.92 → rumdl-0.0.93}/tests/cli_integration_tests.rs +0 -0
  250. {rumdl-0.0.92 → rumdl-0.0.93}/tests/cli_lsp_fix_consistency.rs +0 -0
  251. {rumdl-0.0.92 → rumdl-0.0.93}/tests/cli_statistics_test.rs +0 -0
  252. {rumdl-0.0.92 → rumdl-0.0.93}/tests/comprehensive_output_format_tests.rs +0 -0
  253. {rumdl-0.0.92 → rumdl-0.0.93}/tests/config_application_tests.rs +0 -0
  254. {rumdl-0.0.92 → rumdl-0.0.93}/tests/config_file_command_test.rs +0 -0
  255. {rumdl-0.0.92 → rumdl-0.0.93}/tests/config_tests.rs +0 -0
  256. {rumdl-0.0.92 → rumdl-0.0.93}/tests/configuration_inheritance_tests.rs +0 -0
  257. {rumdl-0.0.92 → rumdl-0.0.93}/tests/consistency_regression_tests.rs +0 -0
  258. {rumdl-0.0.92 → rumdl-0.0.93}/tests/cross_platform_compatibility_tests.rs +0 -0
  259. {rumdl-0.0.92 → rumdl-0.0.93}/tests/final_confidence_assessment.rs +0 -0
  260. {rumdl-0.0.92 → rumdl-0.0.93}/tests/init_command_test.rs +0 -0
  261. {rumdl-0.0.92 → rumdl-0.0.93}/tests/init_tests.rs +0 -0
  262. {rumdl-0.0.92 → rumdl-0.0.93}/tests/inline_config_test.rs +0 -0
  263. {rumdl-0.0.92 → rumdl-0.0.93}/tests/integration_tests.rs +0 -0
  264. {rumdl-0.0.92 → rumdl-0.0.93}/tests/json_output_test.rs +0 -0
  265. {rumdl-0.0.92 → rumdl-0.0.93}/tests/lib.rs +0 -0
  266. {rumdl-0.0.92 → rumdl-0.0.93}/tests/lsp_editor_integration_tests.rs +0 -0
  267. {rumdl-0.0.92 → rumdl-0.0.93}/tests/lsp_integration_tests.rs +0 -0
  268. {rumdl-0.0.92 → rumdl-0.0.93}/tests/lsp_memory_leak_tests.rs +0 -0
  269. {rumdl-0.0.92 → rumdl-0.0.93}/tests/lsp_tests.rs +0 -0
  270. {rumdl-0.0.92 → rumdl-0.0.93}/tests/malformed_markdown_stress_tests.rs +0 -0
  271. {rumdl-0.0.92 → rumdl-0.0.93}/tests/markdownlint_cli_integration.rs +0 -0
  272. {rumdl-0.0.92 → rumdl-0.0.93}/tests/markdownlint_config_test.rs +0 -0
  273. {rumdl-0.0.92 → rumdl-0.0.93}/tests/markdownlintignore_test.rs +0 -0
  274. {rumdl-0.0.92 → rumdl-0.0.93}/tests/output_format_integration_tests.rs +0 -0
  275. {rumdl-0.0.92 → rumdl-0.0.93}/tests/perf_check.rs +0 -0
  276. {rumdl-0.0.92 → rumdl-0.0.93}/tests/performance_validation_tests.rs +0 -0
  277. {rumdl-0.0.92 → rumdl-0.0.93}/tests/pyproject_config_tests.rs +0 -0
  278. {rumdl-0.0.92 → rumdl-0.0.93}/tests/real_world_repository_tests.rs +0 -0
  279. {rumdl-0.0.92 → rumdl-0.0.93}/tests/regression_prevention_tests.rs +0 -0
  280. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md002_test.rs +0 -0
  281. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md003_test.rs +0 -0
  282. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md004_test.rs +0 -0
  283. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md005_test.rs +0 -0
  284. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md006_test.rs +0 -0
  285. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md006_unicode_test.rs +0 -0
  286. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md009_test.rs +0 -0
  287. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md010_test.rs +0 -0
  288. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md011_test.rs +0 -0
  289. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md012_test.rs +0 -0
  290. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md014_test.rs +0 -0
  291. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md019_test.rs +0 -0
  292. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md020_test.rs +0 -0
  293. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md021_test.rs +0 -0
  294. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md022_test.rs +0 -0
  295. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md023_extended_test.rs +0 -0
  296. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md023_test.rs +0 -0
  297. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md024_test.rs +0 -0
  298. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md025_test.rs +0 -0
  299. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md026_test.rs +0 -0
  300. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md027_test.rs +0 -0
  301. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md028_test.rs +0 -0
  302. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md029_test.rs +0 -0
  303. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md030_test.rs +0 -0
  304. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md031_test.rs +0 -0
  305. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md032_test.rs +0 -0
  306. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md033_extended_test.rs +0 -0
  307. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md033_test.rs +0 -0
  308. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md034_test.rs +0 -0
  309. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md035_test.rs +0 -0
  310. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md036_test.rs +0 -0
  311. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md037_test.rs +0 -0
  312. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md038_test.rs +0 -0
  313. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md039_test.rs +0 -0
  314. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md040_test.rs +0 -0
  315. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md042_test.rs +0 -0
  316. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md043_test.rs +0 -0
  317. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md044_test.rs +0 -0
  318. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md045_test.rs +0 -0
  319. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md046_test.rs +0 -0
  320. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md047_test.rs +0 -0
  321. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md048_test.rs +0 -0
  322. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md049_test.rs +0 -0
  323. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md050_test.rs +0 -0
  324. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md051_test.rs +0 -0
  325. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md052_test.rs +0 -0
  326. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md053_additional_test.rs +0 -0
  327. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md053_proptest.rs +0 -0
  328. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md053_test.rs +0 -0
  329. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md054_test.rs +0 -0
  330. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md054_unicode_test.rs +0 -0
  331. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md055_test.rs +0 -0
  332. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md056_test.rs +0 -0
  333. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md057_test.rs +0 -0
  334. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules/md058_test.rs +0 -0
  335. {rumdl-0.0.92 → rumdl-0.0.93}/tests/rules_mod_test.rs +0 -0
  336. {rumdl-0.0.92 → rumdl-0.0.93}/tests/thread_safety_tests.rs +0 -0
  337. {rumdl-0.0.92 → rumdl-0.0.93}/tests/unicode_edge_case_tests.rs +0 -0
  338. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/blockquote_utils_test.rs +0 -0
  339. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/code_block_utils_extended_test.rs +0 -0
  340. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/code_block_utils_test.rs +0 -0
  341. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/core_utils_test.rs +0 -0
  342. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/front_matter_utils_test.rs +0 -0
  343. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/line_index_test.rs +0 -0
  344. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils/mod.rs +0 -0
  345. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils_markdown_edge_cases.rs +0 -0
  346. {rumdl-0.0.92 → rumdl-0.0.93}/tests/utils_tests.rs +0 -0
  347. {rumdl-0.0.92 → rumdl-0.0.93}/tests/vscode_extension_fixes.rs +0 -0
  348. {rumdl-0.0.92 → rumdl-0.0.93}/tests/vscode_test.rs +0 -0
@@ -7,8 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.93] - 2025-07-03
11
+
10
12
  ## [0.0.92] - 2025-07-02
11
13
 
14
+ ### Fixed
15
+
16
+ - MD036: Align with markdownlint behavior - emphasis ending with punctuation (e.g., `**Note:**`) is no longer flagged
17
+
12
18
  ## [0.0.91] - 2025-07-02
13
19
 
14
20
  ## [0.0.90] - 2025-07-01
@@ -16,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
22
  ## [0.0.89] - 2025-07-01
17
23
 
18
24
  ### Added
25
+
19
26
  - Comprehensive unit test coverage for all 54 linting rules (~742 new tests)
20
27
  - Unit tests for LSP server functionality
21
28
  - Unit tests for all 11 output formatters
@@ -23,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
23
30
  - Test coverage improved from 75.4% to 77.1%
24
31
 
25
32
  ### Fixed
33
+
26
34
  - MD005: Fixed blockquote handling to correctly ignore intentional separations
27
35
  - MD054: Fixed overlapping match detection for link/image styles
28
36
  - Strong style utility module refactored to remove unused code
@@ -31,12 +39,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
31
39
  - MD013: Fixed line length calculation to intelligently handle URLs in non-strict mode
32
40
 
33
41
  ### Improved
42
+
34
43
  - Test infrastructure now includes both unit and integration tests
35
44
  - Better test organization with inline unit tests in implementation files
36
45
 
37
46
  ## [0.0.88] - 2025-06-28
38
47
 
39
48
  ### Added
49
+
40
50
  - 11 new output formatters for enhanced compatibility:
41
51
  - `grouped` - Groups violations by file
42
52
  - `pylint` - Pylint-compatible format
@@ -51,14 +61,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
51
61
  - `text` - Default human-readable format with colors
52
62
 
53
63
  ### Changed
64
+
54
65
  - **BREAKING**: Upgraded to Rust 2024 edition (requires Rust 1.87.0+)
55
66
  - Improved code quality by fixing all 283 clippy warnings
56
67
 
57
68
  ### Fixed
69
+
58
70
  - Config `output_format` field now properly merges from configuration files
59
71
  - Pylint formatter now outputs correct `CMD` codes instead of generic `C` codes
60
72
 
61
73
  ### Optimized
74
+
62
75
  - Removed unused dependencies (`glob`, `walkdir`)
63
76
  - Reduced binary size with aggressive compilation flags (LTO, strip, opt-level=z)
64
77
  - Improved performance through better regex compilation and caching
@@ -72,12 +85,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
72
85
  ## [0.0.84] - 2025-06-10
73
86
 
74
87
  ### Added
88
+
75
89
  - Type-safe serde-based configuration system for all 24 configurable rules
76
90
  - Dedicated config modules for each rule with compile-time validation
77
91
  - Full IDE support with autocomplete for configuration options
78
92
  - Centralized utilities for common parsing patterns
79
93
 
80
94
  ### Changed
95
+
81
96
  - **BREAKING**: Internal configuration structure refactored (external API unchanged)
82
97
  - Migrated all rules from manual TOML parsing to serde deserialization
83
98
  - Improved performance through centralized parsing for:
@@ -89,9 +104,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
89
104
  - ~40% reduction in configuration boilerplate code
90
105
 
91
106
  ### Fixed
107
+
92
108
  - MD030: Correct handling of tab characters in list items
93
109
 
94
110
  ### Performance
111
+
95
112
  - Significant performance improvements across multiple rules through:
96
113
  - Centralized regex compilation and caching
97
114
  - Reduced redundant parsing operations
@@ -101,19 +118,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
101
118
  ## [0.0.83] - 2025-06-07
102
119
 
103
120
  ### Fixed
121
+
104
122
  - Various bug fixes and performance improvements
105
123
 
106
124
  ## [0.0.82] - 2025-06-06
107
125
 
108
126
  ### Fixed
127
+
109
128
  - Various bug fixes and stability improvements
110
129
 
111
130
  ## [0.0.81] - 2025-06-04
112
131
 
113
132
  ### Added
133
+
114
134
  - Initial implementation of remaining rules for markdownlint parity
115
135
 
116
- [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.92...HEAD
136
+ [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.93...HEAD
137
+ [0.0.93]: https://github.com/rvben/rumdl/compare/v0.0.92...v0.0.93
117
138
  [0.0.92]: https://github.com/rvben/rumdl/compare/v0.0.91...v0.0.92
118
139
  [0.0.91]: https://github.com/rvben/rumdl/compare/v0.0.90...v0.0.91
119
140
  [0.0.90]: https://github.com/rvben/rumdl/compare/v0.0.89...v0.0.90
@@ -125,4 +146,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
125
146
  [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
126
147
  [0.0.83]: https://github.com/rvben/rumdl/compare/v0.0.82...v0.0.83
127
148
  [0.0.82]: https://github.com/rvben/rumdl/compare/v0.0.81...v0.0.82
128
- [0.0.81]: https://github.com/rvben/rumdl/releases/tag/v0.0.81
149
+ [0.0.81]: https://github.com/rvben/rumdl/releases/tag/v0.0.81
@@ -1465,7 +1465,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1465
1465
 
1466
1466
  [[package]]
1467
1467
  name = "rumdl"
1468
- version = "0.0.92"
1468
+ version = "0.0.93"
1469
1469
  dependencies = [
1470
1470
  "anyhow",
1471
1471
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.92"
3
+ version = "0.0.93"
4
4
  edition = "2024"
5
5
  rust-version = "1.88.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.92
3
+ Version: 0.0.93
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -66,7 +66,9 @@ rumdl init
66
66
 
67
67
  ## Overview
68
68
 
69
- rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting, rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
69
+ rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices
70
+ in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting,
71
+ rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
70
72
 
71
73
  It offers:
72
74
 
@@ -99,11 +101,11 @@ It offers:
99
101
  - [Configuration](#configuration)
100
102
  - [Configuration File Example](#configuration-file-example)
101
103
  - [Initializing Configuration](#initializing-configuration)
102
- - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
104
+ - [Configuration in pyproject.toml](#configuration-in-pyproject-toml)
103
105
  - [Configuration Output](#configuration-output)
104
106
  - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
105
107
  - [Example output](#example-output)
106
- - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
108
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config-defaults)
107
109
  - [Output Style](#output-style)
108
110
  - [Output Format](#output-format)
109
111
  - [Development](#development)
@@ -35,7 +35,9 @@ rumdl init
35
35
 
36
36
  ## Overview
37
37
 
38
- rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting, rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
38
+ rumdl is a high-performance Markdown linter and fixer that helps ensure consistency and best practices
39
+ in your Markdown files. Inspired by [ruff](https://github.com/astral-sh/ruff)'s approach to Python linting,
40
+ rumdl brings similar speed and developer experience improvements to the Markdown ecosystem.
39
41
 
40
42
  It offers:
41
43
 
@@ -68,11 +70,11 @@ It offers:
68
70
  - [Configuration](#configuration)
69
71
  - [Configuration File Example](#configuration-file-example)
70
72
  - [Initializing Configuration](#initializing-configuration)
71
- - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
73
+ - [Configuration in pyproject.toml](#configuration-in-pyproject-toml)
72
74
  - [Configuration Output](#configuration-output)
73
75
  - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
74
76
  - [Example output](#example-output)
75
- - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
77
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config-defaults)
76
78
  - [Output Style](#output-style)
77
79
  - [Output Format](#output-format)
78
80
  - [Development](#development)
@@ -4,7 +4,8 @@ This document provides a comprehensive reference for rumdl's global configuratio
4
4
 
5
5
  ## Overview
6
6
 
7
- Global settings are configured in the `[global]` section of your configuration file (`.rumdl.toml` or `pyproject.toml`). These settings control file selection, rule enablement, and general linting behavior.
7
+ Global settings are configured in the `[global]` section of your configuration file (`.rumdl.toml` or
8
+ `pyproject.toml`). These settings control file selection, rule enablement, and general linting behavior.
8
9
 
9
10
  ## Quick Reference
10
11
 
@@ -30,6 +30,32 @@ Second Level Heading
30
30
  ------------------
31
31
  ```
32
32
 
33
+ ### ✅ Correct (using setext_with_atx style)
34
+
35
+ ```markdown
36
+ First Level Heading
37
+ ==================
38
+
39
+ Second Level Heading
40
+ ------------------
41
+
42
+ ### Third Level Heading
43
+ #### Fourth Level Heading
44
+ ```
45
+
46
+ ### ✅ Correct (using setext_with_atx_closed style)
47
+
48
+ ```markdown
49
+ First Level Heading
50
+ ==================
51
+
52
+ Second Level Heading
53
+ ------------------
54
+
55
+ ### Third Level Heading ###
56
+ #### Fourth Level Heading ####
57
+ ```
58
+
33
59
  ### ❌ Incorrect (mixed styles)
34
60
 
35
61
  <!-- rumdl-disable MD003 -->
@@ -57,7 +83,7 @@ Second Level Heading
57
83
 
58
84
  ```yaml
59
85
  MD003:
60
- style: "consistent" # Options: "consistent", "atx", "atx_closed", "setext"
86
+ style: "consistent" # Options: "consistent", "atx", "atx_closed", "setext", "setext_with_atx", "setext_with_atx_closed"
61
87
  ```
62
88
 
63
89
  ### Style options explained
@@ -66,6 +92,8 @@ MD003:
66
92
  - `"atx"`: Use # symbols (`# Heading`)
67
93
  - `"atx_closed"`: Use # symbols at both ends (`# Heading #`)
68
94
  - `"setext"`: Use underlines (equals for level 1, dashes for level 2)
95
+ - `"setext_with_atx"`: Use underlines for level 1-2, # symbols for level 3-6
96
+ - `"setext_with_atx_closed"`: Use underlines for level 1-2, # symbols with closing # for level 3-6
69
97
 
70
98
  > **Note**: Underline style only works for level 1 and 2 headings. Level 3 and below must use # symbols.
71
99
 
@@ -33,6 +33,19 @@ Ensures all unordered lists use the same marker (* or + or -) throughout your do
33
33
  - Item 3
34
34
  ```
35
35
 
36
+ ### ✅ Correct (using sublist style)
37
+
38
+ ```markdown
39
+ * Item 1
40
+ * Item 2
41
+ + Nested item 1
42
+ + Nested item 2
43
+ - Deep nested item 1
44
+ - Deep nested item 2
45
+ * Even deeper (cycles back to *)
46
+ * Item 3
47
+ ```
48
+
36
49
  ### ❌ Incorrect
37
50
 
38
51
  ```markdown
@@ -57,7 +70,7 @@ Ensures all unordered lists use the same marker (* or + or -) throughout your do
57
70
 
58
71
  ```yaml
59
72
  MD004:
60
- style: "consistent" # Options: "consistent", "asterisk", "plus", "dash"
73
+ style: "consistent" # Options: "consistent", "asterisk", "plus", "dash", "sublist"
61
74
  ```
62
75
 
63
76
  ### Style options
@@ -66,6 +79,7 @@ MD004:
66
79
  - `"asterisk"`: Always use * markers
67
80
  - `"plus"`: Always use + markers
68
81
  - `"dash"`: Always use - markers
82
+ - `"sublist"`: Each nesting level uses a different marker (cycles through *, +, -)
69
83
 
70
84
  ## Automatic fixes
71
85
 
@@ -56,7 +56,35 @@ Ensures nested list items are indented with exactly 2 spaces per level for consi
56
56
 
57
57
  ```yaml
58
58
  MD007:
59
- indent: 2 # Number of spaces per indentation level (default: 2)
59
+ indent: 2 # Number of spaces per indentation level (default: 2)
60
+ start_indented: false # Allow first level lists to start indented (default: false)
61
+ start_indent: 2 # Number of spaces for first level when start_indented is true (default: 2)
62
+ ```
63
+
64
+ ### Configuration options explained
65
+
66
+ - `indent`: The number of spaces to use for each level of list nesting
67
+ - `start_indented`: When `true`, allows the first level of lists to be indented instead of starting at column 0
68
+ - `start_indent`: When `start_indented` is `true`, this specifies how many spaces the first level should be indented
69
+
70
+ ### Example with start_indented: true
71
+
72
+ ```yaml
73
+ MD007:
74
+ indent: 2
75
+ start_indented: true
76
+ start_indent: 4
77
+ ```
78
+
79
+ With this configuration, the following is valid:
80
+
81
+ ```markdown
82
+ Some paragraph text.
83
+
84
+ * First level item (4 spaces indent)
85
+ * Second level item (6 spaces total: 4 + 2)
86
+ * Third level item (8 spaces total: 4 + 2 + 2)
87
+ * Another first level item
60
88
  ```
61
89
 
62
90
  ## Automatic fixes
@@ -63,10 +63,46 @@ Replaces tab characters with spaces to ensure consistent indentation across all
63
63
 
64
64
  ```yaml
65
65
  MD010:
66
- code_blocks: true # Check for tabs in code blocks (default: true)
67
- spaces_per_tab: 4 # Number of spaces to replace each tab with (default: 4)
66
+ code_blocks: true # Check for tabs in code blocks (default: true)
67
+ spaces_per_tab: 4 # Number of spaces to replace each tab with (default: 4)
68
+ ignore_code_languages: [] # List of code languages to ignore (default: [])
68
69
  ```
69
70
 
71
+ ### Configuration options explained
72
+
73
+ - `code_blocks`: Whether to check for tabs inside code blocks
74
+ - `spaces_per_tab`: How many spaces to use when replacing each tab character
75
+ - `ignore_code_languages`: List of code block languages where tabs are allowed (useful for languages like Makefile where tabs are required)
76
+
77
+ ### Example with ignored languages
78
+
79
+ ```yaml
80
+ MD010:
81
+ code_blocks: true
82
+ spaces_per_tab: 4
83
+ ignore_code_languages:
84
+ - makefile
85
+ - make
86
+ - Makefile
87
+ - go.mod
88
+ ```
89
+
90
+ With this configuration, tabs will be allowed in code blocks marked with these languages:
91
+
92
+ ````markdown
93
+ ```makefile
94
+ # Tabs are required in Makefiles
95
+ target:
96
+ command with tab
97
+ ```
98
+
99
+ ```python
100
+ # Tabs will be replaced with spaces here
101
+ def function():
102
+ return value
103
+ ```
104
+ ````
105
+
70
106
  ## Automatic fixes
71
107
 
72
108
  This rule automatically replaces each tab character with the configured number of spaces (default: 4). This ensures your document looks the same in every editor.
@@ -47,10 +47,53 @@ and work with in various contexts.
47
47
 
48
48
  ```yaml
49
49
  MD013:
50
- line_length: 100 # Maximum characters per line (default: 80)
51
- code_blocks: false # Don't check code blocks (default: true)
52
- tables: false # Don't check tables (default: true)
53
- headings: true # Check headings (default: true)
50
+ line_length: 100 # Maximum characters per line (default: 80)
51
+ code_blocks: false # Don't check code blocks (default: true)
52
+ tables: false # Don't check tables (default: true)
53
+ headings: true # Check headings (default: true)
54
+ heading_line_length: 120 # Different limit for headings (default: uses line_length)
55
+ code_block_line_length: 150 # Different limit for code blocks (default: uses line_length)
56
+ stern: false # Stricter checking without exceptions (default: false)
57
+ strict: false # Disables exceptions for URLs, etc. (default: false)
58
+ ```
59
+
60
+ ### Configuration options explained
61
+
62
+ - `line_length`: The maximum number of characters allowed per line
63
+ - `code_blocks`: Whether to check line length in code blocks
64
+ - `tables`: Whether to check line length in tables
65
+ - `headings`: Whether to check line length in headings
66
+ - `heading_line_length`: Optional separate limit for headings (useful since headings often need to be longer)
67
+ - `code_block_line_length`: Optional separate limit for code blocks
68
+ - `stern`: When true, applies stricter checking without common exceptions
69
+ - `strict`: When true, disables exceptions for URLs and other special content
70
+
71
+ ### Example with different limits
72
+
73
+ ```yaml
74
+ MD013:
75
+ line_length: 80
76
+ heading_line_length: 100
77
+ code_block_line_length: 120
78
+ code_blocks: true
79
+ headings: true
80
+ ```
81
+
82
+ With this configuration:
83
+ - Regular text must stay within 80 characters
84
+ - Headings can extend up to 100 characters
85
+ - Code blocks can have lines up to 120 characters
86
+
87
+ ```markdown
88
+ This regular paragraph text must wrap at 80 characters to comply with the rule.
89
+
90
+ ## This heading can be longer and extend up to 100 characters without triggering a warning
91
+
92
+ ```python
93
+ # This code block can have longer lines up to 120 characters
94
+ def very_long_function_name_that_demonstrates_the_code_block_line_length_configuration_option():
95
+ pass
96
+ ```
54
97
  ```
55
98
 
56
99
  ## Automatic fixes
@@ -53,6 +53,13 @@ Ensures there's a space between the # symbols and the heading text.
53
53
 
54
54
  This rule has no configuration options.
55
55
 
56
+ ## Special cases
57
+
58
+ This rule correctly handles:
59
+ - Emoji hashtags like #️⃣ and #⃣ (not treated as headings)
60
+ - Regular hashtags like #tag or #123 (not treated as headings)
61
+ - Only actual heading syntax triggers this rule
62
+
56
63
  ## Automatic fixes
57
64
 
58
65
  This rule automatically adds a space after the # symbols to properly format the heading.
@@ -31,7 +31,7 @@ echo "Hello, world!"
31
31
 
32
32
  ### ❌ Incorrect
33
33
 
34
- <!-- rumdl-disable MD040 -->
34
+ <!-- rumdl-disable MD040 MD031 -->
35
35
 
36
36
  ````markdown
37
37
  ```
@@ -44,7 +44,7 @@ console.log("Hello, world!");
44
44
  ```
45
45
  ````
46
46
 
47
- <!-- rumdl-enable MD040 -->
47
+ <!-- rumdl-enable MD040 MD031 -->
48
48
 
49
49
  ### 🔧 Fixed
50
50
 
@@ -27,6 +27,14 @@ Welcome to our documentation! This guide will help you...
27
27
  This project provides tools for...
28
28
  ```
29
29
 
30
+ Also correct with HTML headings:
31
+
32
+ ```markdown
33
+ <h1>Getting Started Guide</h1>
34
+
35
+ Welcome to our documentation! This guide will help you...
36
+ ```
37
+
30
38
  ### ❌ Incorrect
31
39
 
32
40
  ```markdown
@@ -61,6 +69,7 @@ First, install the dependencies...
61
69
  MD041:
62
70
  level: 1 # Heading level required (1-6, default: 1)
63
71
  front_matter_title: "title" # Front matter field to use as title
72
+ front_matter_title_pattern: "^(title|header):" # Regex pattern to match title fields in front matter
64
73
  ```
65
74
 
66
75
  ## Automatic fixes
@@ -74,6 +83,8 @@ When enabled, this rule will:
74
83
  - Documents with front matter containing a title field are considered valid
75
84
  - Empty documents are not checked
76
85
  - HTML comments at the start are ignored when checking
86
+ - HTML heading tags (e.g., `<h1>Title</h1>`) are recognized as valid headings
87
+ - The `front_matter_title_pattern` allows custom regex patterns for matching title fields
77
88
 
78
89
  ## Learn more
79
90
 
@@ -35,6 +35,8 @@ And here's the response format:
35
35
 
36
36
  ### ❌ Incorrect (Mixed styles)
37
37
 
38
+ <!-- rumdl-disable MD031 MD040 -->
39
+
38
40
  ````markdown
39
41
  Here's how to use our API:
40
42
 
@@ -51,6 +53,8 @@ And here's the response format:
51
53
  }
52
54
  ````
53
55
 
56
+ <!-- rumdl-enable MD031 MD040 -->
57
+
54
58
  ### 🔧 Fixed
55
59
 
56
60
  ````markdown
@@ -44,7 +44,7 @@ def hello():
44
44
 
45
45
  ### ❌ Incorrect (mixed styles)
46
46
 
47
- <!-- rumdl-disable MD048 -->
47
+ <!-- rumdl-disable MD048 MD031 MD040 -->
48
48
 
49
49
  ````markdown
50
50
  ```javascript
@@ -59,7 +59,7 @@ def hello():
59
59
  ~~~
60
60
  ````
61
61
 
62
- <!-- rumdl-enable MD048 -->
62
+ <!-- rumdl-enable MD048 MD031 MD040 -->
63
63
 
64
64
  ### 🔧 Fixed
65
65
 
@@ -1,6 +1,8 @@
1
1
  # Rumdl VS Code Extension
2
2
 
3
- The rumdl VS Code extension provides real-time Markdown linting directly in your editor, powered by the same fast Rust-based engine as the rumdl CLI. With the new `rumdl vscode` command, you can install and manage the extension directly from your terminal.
3
+ The rumdl VS Code extension provides real-time Markdown linting directly in your editor, powered by the
4
+ same fast Rust-based engine as the rumdl CLI. With the new `rumdl vscode` command, you can install and
5
+ manage the extension directly from your terminal.
4
6
 
5
7
  ## Installation
6
8
 
@@ -64,18 +66,21 @@ The extension will automatically detect and use your project's `.rumdl.toml` con
64
66
  ### Extension Not Working
65
67
 
66
68
  1. Check if the extension is installed:
69
+
67
70
  ```bash
68
71
  rumdl vscode --status
69
72
  ```
70
73
 
71
74
  2. Ensure VS Code's `code` command is in your PATH:
72
- - On macOS: Open VS Code, press Cmd+Shift+P, and run "Shell Command: Install 'code' command in PATH"
73
- - On Windows: This should be automatic during VS Code installation
74
- - On Linux: Add VS Code's bin directory to your PATH
75
+
76
+ - On macOS: Open VS Code, press Cmd+Shift+P, and run "Shell Command: Install 'code' command in PATH"
77
+ - On Windows: This should be automatic during VS Code installation
78
+ - On Linux: Add VS Code's bin directory to your PATH
75
79
 
76
80
  3. Check the extension logs:
77
- - Open VS Code's Output panel (View → Output)
78
- - Select "rumdl" from the dropdown
81
+
82
+ - Open VS Code's Output panel (View → Output)
83
+ - Select "rumdl" from the dropdown
79
84
 
80
85
  ### VS Code Not Found
81
86
 
@@ -83,6 +88,7 @@ If you get a "VS Code not found" error, make sure:
83
88
 
84
89
  1. VS Code is installed
85
90
  2. The `code` command is available in your terminal:
91
+
86
92
  ```bash
87
93
  code --version
88
94
  ```
@@ -91,4 +97,4 @@ If you get a "VS Code not found" error, make sure:
91
97
 
92
98
  - [rumdl GitHub Repository](https://github.com/rvben/rumdl)
93
99
  - [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=rumdl.rumdl)
94
- - [Configuration Guide](./global-settings.md)
100
+ - [Configuration Guide](./global-settings.md)