rumdl 0.0.166__tar.gz → 0.0.168__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 (469) hide show
  1. {rumdl-0.0.166 → rumdl-0.0.168}/.config/nextest.toml +10 -7
  2. {rumdl-0.0.166 → rumdl-0.0.168}/.pre-commit-config.yaml +21 -2
  3. {rumdl-0.0.166 → rumdl-0.0.168}/.rumdl.toml +3 -3
  4. {rumdl-0.0.166 → rumdl-0.0.168}/CHANGELOG.md +198 -0
  5. {rumdl-0.0.166 → rumdl-0.0.168}/Cargo.lock +1 -1
  6. {rumdl-0.0.166 → rumdl-0.0.168}/Cargo.toml +1 -1
  7. {rumdl-0.0.166 → rumdl-0.0.168}/Makefile +2 -2
  8. {rumdl-0.0.166 → rumdl-0.0.168}/PKG-INFO +1 -1
  9. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md013.md +24 -1
  10. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md033.md +18 -0
  11. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md053.md +59 -0
  12. {rumdl-0.0.166 → rumdl-0.0.168}/rumdl.schema.json +73 -70
  13. rumdl-0.0.168/scripts/verify-release-ready.sh +99 -0
  14. {rumdl-0.0.166 → rumdl-0.0.168}/src/config.rs +171 -19
  15. {rumdl-0.0.166 → rumdl-0.0.168}/src/file_processor.rs +32 -5
  16. {rumdl-0.0.166 → rumdl-0.0.168}/src/lint_context.rs +45 -22
  17. {rumdl-0.0.166 → rumdl-0.0.168}/src/lsp/mod.rs +2 -2
  18. {rumdl-0.0.166 → rumdl-0.0.168}/src/lsp/server.rs +692 -92
  19. rumdl-0.0.168/src/lsp/types.rs +1043 -0
  20. {rumdl-0.0.166 → rumdl-0.0.168}/src/main.rs +18 -1
  21. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md011_no_reversed_links.rs +13 -12
  22. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md012_no_multiple_blanks/md012_config.rs +4 -1
  23. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md012_no_multiple_blanks.rs +62 -97
  24. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md013_line_length.rs +317 -29
  25. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md018_no_missing_space_atx.rs +63 -0
  26. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md022_blanks_around_headings.rs +32 -31
  27. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md033_no_inline_html.rs +156 -85
  28. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md035_hr_style.rs +6 -1
  29. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md051_link_fragments.rs +6 -0
  30. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md052_reference_links_images.rs +97 -30
  31. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md053_link_image_reference_definitions.rs +158 -0
  32. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md054_link_image_style.rs +0 -11
  33. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md055_table_pipe_style.rs +6 -1
  34. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/anchor_styles/github.rs +9 -0
  35. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/regex_cache.rs +1 -0
  36. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/text_reflow.rs +336 -17
  37. {rumdl-0.0.166 → rumdl-0.0.168}/tests/advanced_integration_tests.rs +1 -1
  38. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/extended_tests.rs +3 -6
  39. {rumdl-0.0.166 → rumdl-0.0.168}/tests/code_block_blockquote_edge_cases.rs +6 -7
  40. {rumdl-0.0.166 → rumdl-0.0.168}/tests/config_tests.rs +16 -7
  41. {rumdl-0.0.166 → rumdl-0.0.168}/tests/init_tests.rs +2 -2
  42. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md033_edge_cases_test.rs +23 -8
  43. {rumdl-0.0.166 → rumdl-0.0.168}/tests/real_world_repository_tests.rs +19 -2
  44. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md033_blockquote_test.rs +5 -8
  45. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md033_kramdown_test.rs +9 -14
  46. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md033_test.rs +29 -38
  47. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md052_test.rs +3 -9
  48. rumdl-0.0.168/tests/sentence_per_line_test.rs +208 -0
  49. rumdl-0.0.166/src/lsp/types.rs +0 -438
  50. rumdl-0.0.166/tests/sentence_per_line_test.rs +0 -109
  51. {rumdl-0.0.166 → rumdl-0.0.168}/.mise.toml +0 -0
  52. {rumdl-0.0.166 → rumdl-0.0.168}/.rustfmt.toml +0 -0
  53. {rumdl-0.0.166 → rumdl-0.0.168}/CONTRIBUTING.md +0 -0
  54. {rumdl-0.0.166 → rumdl-0.0.168}/LICENSE +0 -0
  55. {rumdl-0.0.166 → rumdl-0.0.168}/MANIFEST.in +0 -0
  56. {rumdl-0.0.166 → rumdl-0.0.168}/README.md +0 -0
  57. {rumdl-0.0.166 → rumdl-0.0.168}/assets/logo.png +0 -0
  58. {rumdl-0.0.166 → rumdl-0.0.168}/benches/fix_performance.rs +0 -0
  59. {rumdl-0.0.166 → rumdl-0.0.168}/benches/range_performance.rs +0 -0
  60. {rumdl-0.0.166 → rumdl-0.0.168}/benches/range_utils_benchmark.rs +0 -0
  61. {rumdl-0.0.166 → rumdl-0.0.168}/benches/rule_performance.rs +0 -0
  62. {rumdl-0.0.166 → rumdl-0.0.168}/benches/simple_fix_bench.rs +0 -0
  63. {rumdl-0.0.166 → rumdl-0.0.168}/benchmark/bin/bench_lint_context.rs +0 -0
  64. {rumdl-0.0.166 → rumdl-0.0.168}/benchmark/bin/benchmark.rs +0 -0
  65. {rumdl-0.0.166 → rumdl-0.0.168}/benchmark/bin/benchmark_rule.rs +0 -0
  66. {rumdl-0.0.166 → rumdl-0.0.168}/benchmark/bin/file_parallel_benchmark.rs +0 -0
  67. {rumdl-0.0.166 → rumdl-0.0.168}/benchmark/bin/measure_code_span_performance.rs +0 -0
  68. {rumdl-0.0.166 → rumdl-0.0.168}/cliff.toml +0 -0
  69. {rumdl-0.0.166 → rumdl-0.0.168}/docs/RULES.md +0 -0
  70. {rumdl-0.0.166 → rumdl-0.0.168}/docs/global-settings.md +0 -0
  71. {rumdl-0.0.166 → rumdl-0.0.168}/docs/inline-configuration.md +0 -0
  72. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md001.md +0 -0
  73. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md002.md +0 -0
  74. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md003.md +0 -0
  75. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md004.md +0 -0
  76. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md005.md +0 -0
  77. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md006.md +0 -0
  78. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md007.md +0 -0
  79. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md009.md +0 -0
  80. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md010.md +0 -0
  81. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md011.md +0 -0
  82. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md012.md +0 -0
  83. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md014.md +0 -0
  84. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md018.md +0 -0
  85. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md019.md +0 -0
  86. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md020.md +0 -0
  87. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md021.md +0 -0
  88. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md022.md +0 -0
  89. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md023.md +0 -0
  90. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md024.md +0 -0
  91. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md025.md +0 -0
  92. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md026.md +0 -0
  93. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md027.md +0 -0
  94. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md028.md +0 -0
  95. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md029.md +0 -0
  96. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md030.md +0 -0
  97. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md031.md +0 -0
  98. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md032.md +0 -0
  99. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md034.md +0 -0
  100. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md035.md +0 -0
  101. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md036.md +0 -0
  102. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md037.md +0 -0
  103. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md038.md +0 -0
  104. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md039.md +0 -0
  105. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md040.md +0 -0
  106. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md041.md +0 -0
  107. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md042.md +0 -0
  108. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md043.md +0 -0
  109. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md044.md +0 -0
  110. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md045.md +0 -0
  111. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md046.md +0 -0
  112. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md047.md +0 -0
  113. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md048.md +0 -0
  114. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md049.md +0 -0
  115. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md050.md +0 -0
  116. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md051.md +0 -0
  117. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md052.md +0 -0
  118. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md054.md +0 -0
  119. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md055.md +0 -0
  120. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md056.md +0 -0
  121. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md057.md +0 -0
  122. {rumdl-0.0.166 → rumdl-0.0.168}/docs/md058.md +0 -0
  123. {rumdl-0.0.166 → rumdl-0.0.168}/docs/vscode-extension.md +0 -0
  124. {rumdl-0.0.166 → rumdl-0.0.168}/pyproject.toml +0 -0
  125. {rumdl-0.0.166 → rumdl-0.0.168}/rumdl/__init__.py +0 -0
  126. {rumdl-0.0.166 → rumdl-0.0.168}/rumdl/__main__.py +0 -0
  127. {rumdl-0.0.166 → rumdl-0.0.168}/rumdl/py.typed +0 -0
  128. {rumdl-0.0.166 → rumdl-0.0.168}/rumdl.toml.example +0 -0
  129. {rumdl-0.0.166 → rumdl-0.0.168}/rust-toolchain.toml +0 -0
  130. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/extract-changelog.sh +0 -0
  131. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/generate-downloads-table.sh +0 -0
  132. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/pre-release.sh +0 -0
  133. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/prepare-release.sh +0 -0
  134. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/setup-pre-commit.sh +0 -0
  135. {rumdl-0.0.166 → rumdl-0.0.168}/scripts/update-pre-commit-docs.sh +0 -0
  136. {rumdl-0.0.166 → rumdl-0.0.168}/src/cache.rs +0 -0
  137. {rumdl-0.0.166 → rumdl-0.0.168}/src/exit_codes.rs +0 -0
  138. {rumdl-0.0.166 → rumdl-0.0.168}/src/filtered_lines.rs +0 -0
  139. {rumdl-0.0.166 → rumdl-0.0.168}/src/fix_coordinator.rs +0 -0
  140. {rumdl-0.0.166 → rumdl-0.0.168}/src/formatter.rs +0 -0
  141. {rumdl-0.0.166 → rumdl-0.0.168}/src/inline_config.rs +0 -0
  142. {rumdl-0.0.166 → rumdl-0.0.168}/src/lib.rs +0 -0
  143. {rumdl-0.0.166 → rumdl-0.0.168}/src/markdownlint_config.rs +0 -0
  144. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/azure.rs +0 -0
  145. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/concise.rs +0 -0
  146. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/github.rs +0 -0
  147. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/gitlab.rs +0 -0
  148. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/grouped.rs +0 -0
  149. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/json.rs +0 -0
  150. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/json_lines.rs +0 -0
  151. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/junit.rs +0 -0
  152. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/mod.rs +0 -0
  153. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/pylint.rs +0 -0
  154. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/sarif.rs +0 -0
  155. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/formatters/text.rs +0 -0
  156. {rumdl-0.0.166 → rumdl-0.0.168}/src/output/mod.rs +0 -0
  157. {rumdl-0.0.166 → rumdl-0.0.168}/src/parallel.rs +0 -0
  158. {rumdl-0.0.166 → rumdl-0.0.168}/src/performance.rs +0 -0
  159. {rumdl-0.0.166 → rumdl-0.0.168}/src/profiling.rs +0 -0
  160. {rumdl-0.0.166 → rumdl-0.0.168}/src/rule.rs +0 -0
  161. {rumdl-0.0.166 → rumdl-0.0.168}/src/rule_config.rs +0 -0
  162. {rumdl-0.0.166 → rumdl-0.0.168}/src/rule_config_serde.rs +0 -0
  163. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/blockquote_utils.rs +0 -0
  164. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/code_block_utils.rs +0 -0
  165. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/code_fence_utils.rs +0 -0
  166. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/emphasis_style.rs +0 -0
  167. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/front_matter_utils.rs +0 -0
  168. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/heading_utils.rs +0 -0
  169. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/list_utils.rs +0 -0
  170. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md001_heading_increment.rs +0 -0
  171. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  172. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md002_first_heading_h1.rs +0 -0
  173. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md003_heading_style/md003_config.rs +0 -0
  174. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md003_heading_style.rs +0 -0
  175. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  176. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md004_unordered_list_style.rs +0 -0
  177. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md005_list_indent.rs +0 -0
  178. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md006_start_bullets.rs +0 -0
  179. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  180. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md007_ul_indent.rs +0 -0
  181. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  182. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md009_trailing_spaces.rs +0 -0
  183. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  184. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md010_no_hard_tabs.rs +0 -0
  185. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md013_line_length/md013_config.rs +0 -0
  186. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  187. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md014_commands_show_output.rs +0 -0
  188. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  189. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  190. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  191. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  192. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md023_heading_start_left.rs +0 -0
  193. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  194. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md024_no_duplicate_heading.rs +0 -0
  195. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md025_single_title/md025_config.rs +0 -0
  196. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md025_single_title.rs +0 -0
  197. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  198. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  199. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  200. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  201. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
  202. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md029_ordered_list_prefix.rs +0 -0
  203. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  204. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md030_list_marker_space.rs +0 -0
  205. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md031_blanks_around_fences.rs +0 -0
  206. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md032_blanks_around_lists.rs +0 -0
  207. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  208. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md034_no_bare_urls.rs +0 -0
  209. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md035_hr_style/md035_config.rs +0 -0
  210. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  211. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  212. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  213. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md038_no_space_in_code.rs +0 -0
  214. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md039_no_space_in_links.rs +0 -0
  215. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md040_fenced_code_language.rs +0 -0
  216. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md041_first_line_heading.rs +0 -0
  217. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md042_no_empty_links.rs +0 -0
  218. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md043_required_headings.rs +0 -0
  219. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md044_proper_names/md044_config.rs +0 -0
  220. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md044_proper_names.rs +0 -0
  221. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  222. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md045_no_alt_text.rs +0 -0
  223. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  224. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md046_code_block_style.rs +0 -0
  225. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md047_single_trailing_newline.rs +0 -0
  226. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  227. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md048_code_fence_style.rs +0 -0
  228. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  229. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md049_emphasis_style.rs +0 -0
  230. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md050_strong_style/md050_config.rs +0 -0
  231. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md050_strong_style.rs +0 -0
  232. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  233. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  234. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md056_table_column_count.rs +0 -0
  235. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  236. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md057_existing_relative_links.rs +0 -0
  237. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/md058_blanks_around_tables.rs +0 -0
  238. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/mod.rs +0 -0
  239. {rumdl-0.0.166 → rumdl-0.0.168}/src/rules/strong_style.rs +0 -0
  240. {rumdl-0.0.166 → rumdl-0.0.168}/src/stdin_processor.rs +0 -0
  241. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/anchor_styles/jekyll.rs +0 -0
  242. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/anchor_styles/kramdown.rs +0 -0
  243. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
  244. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/anchor_styles/mod.rs +0 -0
  245. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/ast_utils.rs +0 -0
  246. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/code_block_utils.rs +0 -0
  247. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/document_structure.rs +0 -0
  248. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/early_returns.rs +0 -0
  249. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/element_cache.rs +0 -0
  250. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/emphasis_utils.rs +0 -0
  251. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/fix_utils.rs +0 -0
  252. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/header_id_utils.rs +0 -0
  253. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/jinja_utils.rs +0 -0
  254. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/kramdown_utils.rs +0 -0
  255. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/line_ending.rs +0 -0
  256. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/markdown_elements.rs +0 -0
  257. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_admonitions.rs +0 -0
  258. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_common.rs +0 -0
  259. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_critic.rs +0 -0
  260. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_footnotes.rs +0 -0
  261. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_patterns.rs +0 -0
  262. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_snippets.rs +0 -0
  263. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_tabs.rs +0 -0
  264. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocs_test_utils.rs +0 -0
  265. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mkdocstrings_refs.rs +0 -0
  266. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/mod.rs +0 -0
  267. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/range_utils.rs +0 -0
  268. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/skip_context.rs +0 -0
  269. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/string_interner.rs +0 -0
  270. {rumdl-0.0.166 → rumdl-0.0.168}/src/utils/table_utils.rs +0 -0
  271. {rumdl-0.0.166 → rumdl-0.0.168}/src/vscode.rs +0 -0
  272. {rumdl-0.0.166 → rumdl-0.0.168}/src/watch.rs +0 -0
  273. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/additional_tests.rs +0 -0
  274. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/basic_tests.rs +0 -0
  275. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/comprehensive_tests.rs +0 -0
  276. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/mod.rs +0 -0
  277. {rumdl-0.0.166 → rumdl-0.0.168}/tests/character_ranges/unicode_utils.rs +0 -0
  278. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_duplication_test.rs +0 -0
  279. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_explain_test.rs +0 -0
  280. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_flag_precedence_test.rs +0 -0
  281. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_integration_tests.rs +0 -0
  282. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_lsp_fix_consistency.rs +0 -0
  283. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cli_statistics_test.rs +0 -0
  284. {rumdl-0.0.166 → rumdl-0.0.168}/tests/common/cli_test_utils.rs +0 -0
  285. {rumdl-0.0.166 → rumdl-0.0.168}/tests/common/fixtures.rs +0 -0
  286. {rumdl-0.0.166 → rumdl-0.0.168}/tests/common/mod.rs +0 -0
  287. {rumdl-0.0.166 → rumdl-0.0.168}/tests/common/test_utils.rs +0 -0
  288. {rumdl-0.0.166 → rumdl-0.0.168}/tests/commonmark_compliance_tests.rs +0 -0
  289. {rumdl-0.0.166 → rumdl-0.0.168}/tests/comprehensive_integration_tests.rs +0 -0
  290. {rumdl-0.0.166 → rumdl-0.0.168}/tests/comprehensive_output_format_tests.rs +0 -0
  291. {rumdl-0.0.166 → rumdl-0.0.168}/tests/config_application_tests.rs +0 -0
  292. {rumdl-0.0.166 → rumdl-0.0.168}/tests/config_file_command_test.rs +0 -0
  293. {rumdl-0.0.166 → rumdl-0.0.168}/tests/config_upward_traversal_test.rs +0 -0
  294. {rumdl-0.0.166 → rumdl-0.0.168}/tests/configuration_inheritance_tests.rs +0 -0
  295. {rumdl-0.0.166 → rumdl-0.0.168}/tests/consistency_regression_tests.rs +0 -0
  296. {rumdl-0.0.166 → rumdl-0.0.168}/tests/crlf_line_endings_test.rs +0 -0
  297. {rumdl-0.0.166 → rumdl-0.0.168}/tests/cross_platform_compatibility_tests.rs +0 -0
  298. {rumdl-0.0.166 → rumdl-0.0.168}/tests/deeply_nested_lists_performance_test.rs +0 -0
  299. {rumdl-0.0.166 → rumdl-0.0.168}/tests/escaped_brackets_test.rs +0 -0
  300. {rumdl-0.0.166 → rumdl-0.0.168}/tests/exclude_with_explicit_paths_test.rs +0 -0
  301. {rumdl-0.0.166 → rumdl-0.0.168}/tests/final_confidence_assessment.rs +0 -0
  302. {rumdl-0.0.166 → rumdl-0.0.168}/tests/fix_counting_test.rs +0 -0
  303. {rumdl-0.0.166 → rumdl-0.0.168}/tests/fix_performance_baseline_test.rs +0 -0
  304. {rumdl-0.0.166 → rumdl-0.0.168}/tests/fixable_unfixable_config_test.rs +0 -0
  305. {rumdl-0.0.166 → rumdl-0.0.168}/tests/html_comments_test.rs +0 -0
  306. {rumdl-0.0.166 → rumdl-0.0.168}/tests/init_command_test.rs +0 -0
  307. {rumdl-0.0.166 → rumdl-0.0.168}/tests/inline_config_blocks_test.rs +0 -0
  308. {rumdl-0.0.166 → rumdl-0.0.168}/tests/inline_config_test.rs +0 -0
  309. {rumdl-0.0.166 → rumdl-0.0.168}/tests/integration_tests.rs +0 -0
  310. {rumdl-0.0.166 → rumdl-0.0.168}/tests/json_output_test.rs +0 -0
  311. {rumdl-0.0.166 → rumdl-0.0.168}/tests/kramdown_integration_test.rs +0 -0
  312. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lib.rs +0 -0
  313. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_editor_integration_tests.rs +0 -0
  314. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_formatting_tests.rs +0 -0
  315. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_initialization_options_test.rs +0 -0
  316. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_integration_tests.rs +0 -0
  317. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_memory_leak_tests.rs +0 -0
  318. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_mkdocs_flavor_test.rs +0 -0
  319. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_tests.rs +0 -0
  320. {rumdl-0.0.166 → rumdl-0.0.168}/tests/lsp_unopened_document_test.rs +0 -0
  321. {rumdl-0.0.166 → rumdl-0.0.168}/tests/malformed_markdown_stress_tests.rs +0 -0
  322. {rumdl-0.0.166 → rumdl-0.0.168}/tests/markdownlint_cli_integration.rs +0 -0
  323. {rumdl-0.0.166 → rumdl-0.0.168}/tests/markdownlint_config_test.rs +0 -0
  324. {rumdl-0.0.166 → rumdl-0.0.168}/tests/markdownlintignore_test.rs +0 -0
  325. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md009_md013_integration_test.rs +0 -0
  326. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md009_md013_order_test.rs +0 -0
  327. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md013_hard_breaks_test.rs +0 -0
  328. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md013_reflow_integration_test.rs +0 -0
  329. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md013_reflow_nested_lists_test.rs +0 -0
  330. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md032_edge_cases_test.rs +0 -0
  331. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md032_ordered_list_bug_test.rs +0 -0
  332. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md037_xxxx_regression_test.rs +0 -0
  333. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md038_false_positive_test.rs +0 -0
  334. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md051_issue_39_regression_test.rs +0 -0
  335. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md051_readme_bug_test.rs +0 -0
  336. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md051_toc_bug_test.rs +0 -0
  337. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md052_literal_brackets_test.rs +0 -0
  338. {rumdl-0.0.166 → rumdl-0.0.168}/tests/md054_code_span_test.rs +0 -0
  339. {rumdl-0.0.166 → rumdl-0.0.168}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
  340. {rumdl-0.0.166 → rumdl-0.0.168}/tests/mkdocs_anchor_test.rs +0 -0
  341. {rumdl-0.0.166 → rumdl-0.0.168}/tests/nested_code_block_test.rs +0 -0
  342. {rumdl-0.0.166 → rumdl-0.0.168}/tests/output_format_integration_tests.rs +0 -0
  343. {rumdl-0.0.166 → rumdl-0.0.168}/tests/output_format_tests.rs +0 -0
  344. {rumdl-0.0.166 → rumdl-0.0.168}/tests/per_file_ignores_integration_test.rs +0 -0
  345. {rumdl-0.0.166 → rumdl-0.0.168}/tests/perf_check.rs +0 -0
  346. {rumdl-0.0.166 → rumdl-0.0.168}/tests/performance_validation_tests.rs +0 -0
  347. {rumdl-0.0.166 → rumdl-0.0.168}/tests/pyproject_config_tests.rs +0 -0
  348. {rumdl-0.0.166 → rumdl-0.0.168}/tests/regression_prevention_tests.rs +0 -0
  349. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  350. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/heading_edge_cases_test.rs +0 -0
  351. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  352. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/link_edge_cases_test.rs +0 -0
  353. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/list_rules_integration_test.rs +0 -0
  354. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md001_test.rs +0 -0
  355. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md001_unicode_test.rs +0 -0
  356. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md002_test.rs +0 -0
  357. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md003_test.rs +0 -0
  358. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md004_test.rs +0 -0
  359. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md005_dynamic_indent_test.rs +0 -0
  360. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md005_test.rs +0 -0
  361. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md005_unicode_test.rs +0 -0
  362. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md006_test.rs +0 -0
  363. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md006_unicode_test.rs +0 -0
  364. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md007_test.rs +0 -0
  365. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md009_test.rs +0 -0
  366. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md010_test.rs +0 -0
  367. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md011_test.rs +0 -0
  368. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md012_test.rs +0 -0
  369. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md013_test.rs +0 -0
  370. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md014_test.rs +0 -0
  371. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md018_test.rs +0 -0
  372. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md019_test.rs +0 -0
  373. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md020_test.rs +0 -0
  374. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md021_test.rs +0 -0
  375. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md022_test.rs +0 -0
  376. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md023_extended_test.rs +0 -0
  377. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md023_test.rs +0 -0
  378. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md024_test.rs +0 -0
  379. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md025_test.rs +0 -0
  380. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md026_kramdown_test.rs +0 -0
  381. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md026_test.rs +0 -0
  382. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md027_test.rs +0 -0
  383. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md028_md009_interaction_test.rs +0 -0
  384. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md028_test.rs +0 -0
  385. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_code_block_separation_test.rs +0 -0
  386. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_fix_test.rs +0 -0
  387. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_issue42_test.rs +0 -0
  388. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
  389. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_nested_list_continuation_test.rs +0 -0
  390. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
  391. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_test.rs +0 -0
  392. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md029_unicode_test.rs +0 -0
  393. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md030_test.rs +0 -0
  394. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md031_kramdown_test.rs +0 -0
  395. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md031_test.rs +0 -0
  396. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md032_test.rs +0 -0
  397. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md033_extended_test.rs +0 -0
  398. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md034_ipv6_test.rs +0 -0
  399. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md034_test.rs +0 -0
  400. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md035_test.rs +0 -0
  401. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md036_test.rs +0 -0
  402. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md037_kramdown_test.rs +0 -0
  403. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md037_test.rs +0 -0
  404. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md038_nested_backticks_test.rs +0 -0
  405. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md038_test.rs +0 -0
  406. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md039_test.rs +0 -0
  407. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md040_test.rs +0 -0
  408. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md041_test.rs +0 -0
  409. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md042_test.rs +0 -0
  410. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md043_test.rs +0 -0
  411. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md044_test.rs +0 -0
  412. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md045_test.rs +0 -0
  413. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md046_test.rs +0 -0
  414. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md047_test.rs +0 -0
  415. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md048_test.rs +0 -0
  416. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md049_test.rs +0 -0
  417. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md050_test.rs +0 -0
  418. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_comprehensive_test.rs +0 -0
  419. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
  420. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_edge_cases_test.rs +0 -0
  421. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_issue_39_regression_test.rs +0 -0
  422. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
  423. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_property_based_test.rs +0 -0
  424. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_regression_prevention_test.rs +0 -0
  425. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_test.rs +0 -0
  426. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md051_unicode_security_test.rs +0 -0
  427. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md053_additional_test.rs +0 -0
  428. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md053_proptest.rs +0 -0
  429. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md053_test.rs +0 -0
  430. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md054_test.rs +0 -0
  431. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md054_unicode_test.rs +0 -0
  432. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md055_test.rs +0 -0
  433. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md056_test.rs +0 -0
  434. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md057_test.rs +0 -0
  435. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md058_kramdown_test.rs +0 -0
  436. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/md058_test.rs +0 -0
  437. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/mkdocs_admonitions_test.rs +0 -0
  438. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
  439. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/mkdocs_extensions_test.rs +0 -0
  440. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/mkdocs_snippets_test.rs +0 -0
  441. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/mod.rs +0 -0
  442. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules/rule_interaction_test.rs +0 -0
  443. {rumdl-0.0.166 → rumdl-0.0.168}/tests/rules_mod_test.rs +0 -0
  444. {rumdl-0.0.166 → rumdl-0.0.168}/tests/schema_validation_test.rs +0 -0
  445. {rumdl-0.0.166 → rumdl-0.0.168}/tests/skip_context_tests.rs +0 -0
  446. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_ast_code_block_issue.rs +0 -0
  447. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_gfm_vs_default_parsing.rs +0 -0
  448. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_lint_context_flow.rs +0 -0
  449. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_list_ast_structure.rs +0 -0
  450. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_multiline_ast.rs +0 -0
  451. {rumdl-0.0.166 → rumdl-0.0.168}/tests/test_underscore_edge_cases.rs +0 -0
  452. {rumdl-0.0.166 → rumdl-0.0.168}/tests/thread_safety_tests.rs +0 -0
  453. {rumdl-0.0.166 → rumdl-0.0.168}/tests/unfixable_rules_test.rs +0 -0
  454. {rumdl-0.0.166 → rumdl-0.0.168}/tests/unicode_edge_case_tests.rs +0 -0
  455. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utf8_boundary_tests.rs +0 -0
  456. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/blockquote_utils_test.rs +0 -0
  457. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/code_block_utils_extended_test.rs +0 -0
  458. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/code_block_utils_test.rs +0 -0
  459. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/core_utils_test.rs +0 -0
  460. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/front_matter_utils_test.rs +0 -0
  461. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/line_index_test.rs +0 -0
  462. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils/mod.rs +0 -0
  463. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils_markdown_edge_cases.rs +0 -0
  464. {rumdl-0.0.166 → rumdl-0.0.168}/tests/utils_tests.rs +0 -0
  465. {rumdl-0.0.166 → rumdl-0.0.168}/tests/vscode_extension_fixes.rs +0 -0
  466. {rumdl-0.0.166 → rumdl-0.0.168}/tests/vscode_test.rs +0 -0
  467. {rumdl-0.0.166 → rumdl-0.0.168}/tests/vscode_tests.rs +0 -0
  468. {rumdl-0.0.166 → rumdl-0.0.168}/tests/vscode_windows_comprehensive_test.rs +0 -0
  469. {rumdl-0.0.166 → rumdl-0.0.168}/tests/vscode_windows_test.rs +0 -0
@@ -22,21 +22,24 @@ status-level = "pass"
22
22
 
23
23
  [profile.ci]
24
24
 
25
- # Skip performance tests in CI (they're flaky due to resource variability)
25
+ # Skip performance and memory tests in CI (they're flaky due to resource variability)
26
26
  # Exclude specific integration test binaries and performance-related test functions
27
- default-filter = 'not (package(rumdl) and binary(deeply_nested_lists_performance_test)) and not (package(rumdl) and binary(performance_validation_tests)) and not (package(rumdl) and binary(perf_check)) and not test(/performance|benchmark/)'
27
+ default-filter = 'not (package(rumdl) and binary(deeply_nested_lists_performance_test)) and not (package(rumdl) and binary(performance_validation_tests)) and not (package(rumdl) and binary(perf_check)) and not test(/performance|benchmark|memory/)'
28
28
 
29
29
  # More conservative in CI
30
30
  test-threads = "num-cpus"
31
31
 
32
- # Always show all output in CI
32
+ # Show failures immediately, but minimize successful test output for speed
33
33
  failure-output = "immediate"
34
- success-output = "immediate"
35
- status-level = "all"
34
+ success-output = "final"
35
+ status-level = "pass"
36
36
 
37
37
  # No retries in CI to catch flaky tests
38
38
  retries = 0
39
39
 
40
+ # Fail fast on first failure to save CI time
41
+ fail-fast = true
42
+
40
43
  # Quick profile for development
41
44
  [profile.quick]
42
45
 
@@ -88,8 +91,8 @@ fail-fast = true
88
91
  # Performance testing profile - for scheduled/manual runs
89
92
  [profile.performance]
90
93
 
91
- # Only run performance and benchmark tests
92
- default-filter = 'test(performance) or test(benchmark) or test(deeply_nested)'
94
+ # Only run performance, benchmark, and memory tests
95
+ default-filter = 'test(performance) or test(benchmark) or test(deeply_nested) or test(memory)'
93
96
 
94
97
  # Run tests serially to reduce noise
95
98
  test-threads = 1
@@ -8,6 +8,8 @@
8
8
  # pre-commit run --hook-stage push --all-files # Run push hooks
9
9
  # pre-commit run --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
10
10
 
11
+ fail_fast: true
12
+
11
13
  repos:
12
14
  # Conventional Commits validation
13
15
  - repo: https://github.com/compilerla/conventional-pre-commit
@@ -42,6 +44,14 @@ repos:
42
44
  pass_filenames: false
43
45
  stages: [pre-commit]
44
46
 
47
+ - id: cargo-lock-check
48
+ name: check Cargo.lock is up-to-date
49
+ entry: cargo check --locked
50
+ language: system
51
+ files: ^(Cargo\.(toml|lock)|.*\.rs)$
52
+ pass_filenames: false
53
+ stages: [pre-commit]
54
+
45
55
  # General file quality checks
46
56
  - repo: https://github.com/pre-commit/pre-commit-hooks
47
57
  rev: v4.6.0
@@ -58,12 +68,12 @@ repos:
58
68
  - id: mixed-line-ending
59
69
  args: [--fix=lf]
60
70
 
61
- # Markdown linting using rumdl itself (local binary)
71
+ # Markdown linting using rumdl itself (cargo run)
62
72
  - repo: local
63
73
  hooks:
64
74
  - id: rumdl
65
75
  name: rumdl check
66
- entry: ./target/release/rumdl check
76
+ entry: cargo run --quiet -- check
67
77
  language: system
68
78
  files: \.md$
69
79
  exclude: ^(test_tmp|benchmark/test-data|docs/temp|CHANGELOG\.md)
@@ -99,3 +109,12 @@ repos:
99
109
  pass_filenames: false
100
110
  stages: [pre-push]
101
111
  verbose: true
112
+
113
+ - id: cargo-lock-check-push
114
+ name: verify Cargo.lock is committed and up-to-date
115
+ entry: cargo check --locked
116
+ language: system
117
+ files: ^(Cargo\.(toml|lock)|.*\.rs)$
118
+ pass_filenames: false
119
+ stages: [pre-push]
120
+ verbose: true
@@ -8,11 +8,11 @@ include = [
8
8
  ]
9
9
  # Globally disable specific rules
10
10
  disable = ["MD033"]
11
- respect_gitignore = true
11
+ respect-gitignore = true
12
12
 
13
13
  [MD013]
14
- line_length = 200
15
- code_blocks = true
14
+ line-length = 200
15
+ code-blocks = true
16
16
  tables = false
17
17
  headings = true
18
18
  reflow = true
@@ -7,6 +7,204 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.168] - 2025-10-28
11
+
12
+ ### Added
13
+
14
+ - **CLI: Support for Quarto (.qmd) and RMarkdown (.rmd/.Rmd) files**
15
+ - Added support for `.qmd` (Quarto), `.rmd` and `.Rmd` (RMarkdown) file extensions
16
+ - Enables markdown linting for data science and scientific documentation workflows
17
+ - Particularly useful for Jupyter-based publishing and reproducible research documents
18
+
19
+ - **LSP: will_save_wait_until for proper auto-fix on save**
20
+ - Implemented LSP `textDocument/willSaveWaitUntil` capability
21
+ - Provides proper auto-fix on save support in compatible editors
22
+ - More reliable than `textDocument/didSave` approach
23
+ - Ensures fixes are applied before file is actually saved to disk
24
+
25
+ - **MD033: LSP Quick Fix to remove HTML tags while keeping content**
26
+ - New code action removes HTML opening and closing tags while preserving inner content
27
+ - Helps convert inline HTML to plain text when needed
28
+ - Available through editor Quick Fix menu (Ctrl+. or Cmd+.)
29
+
30
+ ### Fixed
31
+
32
+ - **MD013: Skip auto-fix for list items containing HTML tags**
33
+ - Prevents broken auto-fix when HTML tags are present in list items
34
+ - HTML structure (indentation, tag hierarchy) is now preserved
35
+ - Errors are still reported but no destructive fix is applied
36
+ - Pragmatic solution until full HTML-aware reflow is implemented
37
+ - Fixes issues where tags like `</details>` were split or indentation was lost
38
+
39
+ - **MD013: Fix incorrect sentence splitting after abbreviations in sentence-per-line mode**
40
+ - No longer incorrectly splits sentences after common abbreviations (e.g., etc., i.e., Dr., Mr.)
41
+ - Improved sentence detection algorithm for better accuracy
42
+ - Prevents unwanted line breaks in the middle of sentences
43
+
44
+ - **MD013: Prevent autolinks from being parsed as HTML tags**
45
+ - Autolinks like `<https://example.com>` are no longer treated as HTML
46
+ - Fixes false positives in HTML detection that could skip auto-fix unnecessarily
47
+ - Properly distinguishes between markdown autolinks and actual HTML tags
48
+
49
+ - **MD013: Prevent content duplication in sentence-per-line reflow**
50
+ - Fixed bug where content could be duplicated during paragraph reflow
51
+ - Ensures each sentence appears exactly once in reflowed output
52
+ - Improves reliability of auto-fix in sentence-per-line mode
53
+
54
+ - **MD013: Improve sentence-per-line error messages and highlighting**
55
+ - Better error messages that clearly indicate sentence-per-line violations
56
+ - More accurate highlighting of problematic text
57
+ - Helps users understand what needs to be fixed
58
+
59
+ - **MD013: Skip template directives at paragraph start in sentence-per-line mode**
60
+ - Template directives (like `{{ variable }}`) at start of paragraphs no longer cause issues
61
+ - Prevents false positives in templated markdown files
62
+ - Improves compatibility with static site generators and template engines
63
+
64
+ - **MD013: Treat template directives as paragraph boundaries**
65
+ - Template directives now properly separate paragraphs during reflow
66
+ - Prevents template syntax from being joined with regular content
67
+ - Better handling of mixed template and markdown content
68
+
69
+ - **MD013: Join single-sentence paragraphs in sentence-per-line mode**
70
+ - Single-sentence paragraphs that span multiple lines are now properly joined
71
+ - Fixes issues where short paragraphs were incorrectly flagged
72
+ - Improves consistency of sentence-per-line formatting
73
+
74
+ - **MD013: Handle multiple spaces and multi-line paragraphs in sentence-per-line mode**
75
+ - Better handling of paragraphs with inconsistent spacing
76
+ - Multi-line paragraphs are now correctly reflowed
77
+ - Fixes edge cases in whitespace handling
78
+
79
+ - **MD052: Preserve backtick-wrapped patterns with dots in MkDocs mode**
80
+ - Backtick-wrapped references like `` `[foo.bar]` `` now preserve dots in slugs
81
+ - Matches MkDocs behavior of treating code-wrapped text literally
82
+ - Prevents false positives for code examples in documentation
83
+
84
+ - **MD052: Support Pandoc citations and inline footnotes in RMarkdown/Quarto**
85
+ - Recognizes Pandoc citation syntax: `[@citation]`, `@citation`, `[-@citation]`
86
+ - Recognizes inline footnote syntax: `^[footnote text]`
87
+ - No longer treats these as reference-style links
88
+ - Essential for academic and scientific writing in RMarkdown and Quarto
89
+
90
+ - **MD033: Only report opening HTML tags, not closing tags**
91
+ - MD033 violations now only report the opening tag of an HTML element
92
+ - Reduces noise in linting output (one violation per element vs two)
93
+ - Closing tags like `</div>` are no longer separately reported
94
+ - Makes HTML-related warnings clearer and less redundant
95
+
96
+ - **MD018: Skip CSS selectors and JS code inside HTML blocks**
97
+ - CSS selectors like `#slide-1` inside `<style>` tags no longer trigger MD018
98
+ - JavaScript code inside `<script>` tags is properly ignored
99
+ - Prevents false positives for Quarto and RMarkdown files with embedded HTML/CSS/JS
100
+ - Particularly important for interactive documents and custom styling
101
+
102
+ - **MD012: Enforce exactly 1 newline at EOF and clean LSP logging**
103
+ - Files now must end with exactly one newline character (not zero, not two)
104
+ - Aligns with POSIX standard and common editor behavior
105
+ - Improved LSP logging with less noise
106
+
107
+ - **CI: Use cargo run instead of release binary in rumdl pre-commit hook**
108
+ - Pre-commit hooks now use `cargo run` for more reliable execution
109
+ - Prevents issues with stale release binaries during development
110
+ - Better integration with cargo workflow
111
+
112
+ - **Schema: Allow root-level rule sections like [MD013] in config validation**
113
+ - Configuration schema now correctly allows `[MD013]` style sections
114
+ - Fixes false validation errors for valid TOML config
115
+ - Better compatibility with common configuration patterns
116
+
117
+ ### Changed
118
+
119
+ - **Refactor: Detect HTML blocks before parsing headings**
120
+ - Reordered LintContext initialization to detect HTML blocks first
121
+ - Headings are no longer detected inside HTML blocks (like `<style>` or `<script>`)
122
+ - Architectural improvement that prevents multiple false positives
123
+ - Benefits MD018 and other heading-related rules
124
+ - More correct parsing aligned with markdown specifications
125
+
126
+ - **Refactor: Use filtered_lines() for front-matter handling in MD011 and MD012**
127
+ - Improved front-matter handling using consistent filtered_lines API
128
+ - Better code reuse and maintainability
129
+ - More reliable front-matter detection across rules
130
+
131
+ ## [0.0.167] - 2025-10-24
132
+
133
+ ### Added
134
+
135
+ - **Configuration validation with fuzzy-match suggestions**
136
+ - Comprehensive unknown key detection for `.rumdl.toml` and `pyproject.toml`
137
+ - Intelligent "did you mean?" suggestions using Levenshtein distance algorithm
138
+ - File path context in validation warnings for easy debugging
139
+ - Catches typos in global options, rule names, and rule options
140
+ - Example: `line-lenght` → suggests `line-length`, `reflw` → suggests `reflow`
141
+ - Zero-dependency implementation with configurable similarity threshold
142
+ - Helps users catch configuration mistakes before they cause confusion
143
+
144
+ - **MD053: Support for community comment-style references**
145
+ - Recognizes and ignores reference-style link syntax used as comments
146
+ - Supports widely-used patterns: `[//]: # (comment)`, `[comment]: #`, `[note]: #`, `[todo]: #`, `[fixme]: #`, `[hack]: #`
147
+ - Any reference with just `#` as URL is treated as a comment
148
+ - While not in CommonMark/GFM specs, used across 23+ markdown implementations
149
+ - Complements HTML comments with a less HTML-like syntax option
150
+ - Improves compatibility with existing markdown practices
151
+
152
+ - **MD013: `line-length = 0` to disable all line length checks**
153
+ - Setting `line-length = 0` now completely disables MD013 rule
154
+ - Provides explicit way to turn off line length validation entirely
155
+ - More intuitive than previous workarounds
156
+ - Useful when line length management is handled by other tools or not desired
157
+
158
+ - **MD051: mdbook template support**
159
+ - Added detection and slug generation for mdbook templates
160
+ - Recognizes `{{#template path/to/file.md}}` syntax
161
+ - Properly generates GitHub-compatible slugs for template-included headings
162
+ - Improves compatibility with mdbook documentation projects
163
+
164
+ - **LSP: Manual "Reflow paragraph" code action for MD013 warnings**
165
+ - New code action available for MD013 line length warnings when auto-reflow is disabled
166
+ - Allows users to manually reflow specific paragraphs without enabling global reflow in config
167
+ - Appears as "Reflow paragraph" in Quick Fix menu (not marked as preferred, so won't trigger on save)
168
+ - Intelligently detects paragraph boundaries and reflows entire paragraph, not just the flagged line
169
+ - Respects line length limit from warning message or defaults to 80 characters
170
+ - Provides a way to try paragraph reflow before committing to enabling it globally
171
+ - Gives users fine-grained control over which paragraphs to reflow
172
+
173
+ ### Fixed
174
+
175
+ - **LSP: Preserve trailing newline in reflow action**
176
+ - Manual reflow code action now correctly preserves trailing newlines
177
+ - Prevents unwanted file modifications from reflow operations
178
+ - Maintains document structure integrity
179
+
180
+ - **LSP: Improve logging and resolve auto-fix issues**
181
+ - Enhanced LSP server logging for better debugging
182
+ - Resolved various auto-fix edge cases and reliability issues
183
+
184
+ - **MD051: Correct GitHub slug generation for angle brackets**
185
+ - Fixed incorrect slug generation for headings containing angle brackets
186
+ - Now properly handles special characters in anchor generation
187
+ - Improves accuracy of link validation for complex headings
188
+
189
+ ### Changed
190
+
191
+ - **MD033: Remove unhelpful message suffix**
192
+ - Simplified warning messages for inline HTML detection
193
+ - Removed redundant information to reduce noise
194
+ - Cleaner, more focused error messages
195
+
196
+ - **Code cleanup: Remove dead code**
197
+ - Removed unused `LinkImageStyle` enum from MD054
198
+ - General refactoring to improve maintainability
199
+ - Fixed clippy warnings
200
+
201
+ ### Documentation
202
+
203
+ - **MD033: Document mdbook use case for semantic HTML**
204
+ - Added documentation about using semantic HTML in mdbook projects
205
+ - Clarifies when and why inline HTML might be intentionally used
206
+ - Helps users understand legitimate use cases for HTML in markdown
207
+
10
208
  ## [0.0.166] - 2025-10-22
11
209
 
12
210
  ### Added
@@ -1983,7 +1983,7 @@ dependencies = [
1983
1983
 
1984
1984
  [[package]]
1985
1985
  name = "rumdl"
1986
- version = "0.0.166"
1986
+ version = "0.0.168"
1987
1987
  dependencies = [
1988
1988
  "anyhow",
1989
1989
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.166"
3
+ version = "0.0.168"
4
4
  edition = "2024"
5
5
  rust-version = "1.89.0"
6
6
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
@@ -95,8 +95,8 @@ test-pre-commit:
95
95
  cargo nextest run --profile pre-commit
96
96
 
97
97
  test-push:
98
- @echo "Running comprehensive test suite (~30s, excludes slow/performance tests)..."
99
- cargo nextest run --profile dev
98
+ @echo "Running CI test suite (excludes performance tests)..."
99
+ cargo nextest run --profile ci
100
100
 
101
101
  test-ci:
102
102
  cargo nextest run --profile ci
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.166
3
+ Version: 0.0.168
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -62,7 +62,7 @@ MD013:
62
62
 
63
63
  ### Configuration options explained
64
64
 
65
- - `line_length`: The maximum number of characters allowed per line
65
+ - `line_length`: The maximum number of characters allowed per line (set to `0` to disable all line length checks)
66
66
  - `code_blocks`: Whether to check line length in code blocks
67
67
  - `tables`: Whether to check line length in tables
68
68
  - `headings`: Whether to check line length in headings
@@ -195,6 +195,29 @@ This configuration is useful when:
195
195
  - You care about line length in code blocks and tables but not in regular text
196
196
  - You're using semantic line breaks where sentence length is determined by content, not arbitrary limits
197
197
 
198
+ #### Disabling all line length checks
199
+
200
+ If you want to completely disable all line length checking (for paragraphs, headings, code blocks, and tables), set `line-length` to `0`:
201
+
202
+ ```yaml
203
+ MD013:
204
+ line-length: 0 # Disable all line length checks
205
+ reflow: true
206
+ reflow-mode: "sentence-per-line"
207
+ ```
208
+
209
+ When `line-length` is set to `0`, no line length warnings will be reported for any content type. This is particularly useful for:
210
+
211
+ - Projects using semantic line breaks where lines break at logical boundaries regardless of length
212
+ - Sentence-per-line workflows where line length is not a concern
213
+ - Documentation where long lines (e.g., URLs, technical terms) are unavoidable and acceptable
214
+
215
+ **Note**: With `line-length: 0` and `reflow-mode: "sentence-per-line"`, rumdl will:
216
+
217
+ - Split multiple sentences that share a line into separate lines
218
+ - Join single sentences that span multiple lines into one line (since there's no length constraint)
219
+ - Provide consistent "one sentence = one line" formatting throughout your document
220
+
198
221
  ### Example with automatic reflow
199
222
 
200
223
  ```yaml
@@ -89,6 +89,24 @@ MD033:
89
89
 
90
90
  This would allow line breaks, horizontal rules, and collapsible sections while blocking other HTML.
91
91
 
92
+ ### mdbook projects with semantic HTML
93
+
94
+ mdbook documentation often uses HTML with CSS classes to add semantic meaning that pure Markdown cannot express (e.g., marking text as filenames, captions, or warnings). For mdbook projects, you can
95
+ allow semantic containers:
96
+
97
+ ```toml
98
+ [tool.rumdl.MD033]
99
+ allowed-elements = ["div", "span"]
100
+ ```
101
+
102
+ This permits semantic HTML like:
103
+
104
+ - `<span class="filename">src/main.rs</span>` - Filename styling
105
+ - `<div class="warning">Important note</div>` - Warning boxes
106
+ - `<span class="caption">Figure 1: Architecture</span>` - Figure captions
107
+
108
+ While still catching potentially problematic HTML like `<em>`, `<strong>`, or `<script>` tags that have Markdown equivalents or security concerns.
109
+
92
110
  ## Automatic fixes
93
111
 
94
112
  This rule can automatically remove HTML tags when no allowed elements are configured. When specific tags are allowed via `allowed_elements`, those tags will be preserved while others are removed.
@@ -64,6 +64,65 @@ MD053:
64
64
 
65
65
  This keeps reference definitions with names like "todo", "draft", or "template" even if they're not currently used.
66
66
 
67
+ ## Comment-Style References
68
+
69
+ rumdl automatically recognizes and ignores common community patterns for adding comments using reference-style syntax. These patterns are **not part of any official Markdown specification**
70
+ (CommonMark, GFM), but are widely used across 23+ Markdown implementations.
71
+
72
+ ### Recognized Comment Patterns
73
+
74
+ The following patterns are automatically ignored and won't be flagged as unused:
75
+
76
+ ```markdown
77
+ [//]: # (This is a comment - most popular pattern)
78
+ [comment]: # (This is a semantic comment)
79
+ [note]: # (This is a note for documentation)
80
+ [todo]: # (Add more examples here)
81
+ [fixme]: # (This needs to be fixed)
82
+ [hack]: # (Temporary workaround)
83
+ ```
84
+
85
+ Any reference definition with just `#` as the URL is also treated as a comment:
86
+
87
+ ```markdown
88
+ [anything]: # (This will be treated as a comment)
89
+ [ref]: # "Also a comment"
90
+ ```
91
+
92
+ ### Why These Work
93
+
94
+ These patterns exploit valid Markdown link reference syntax:
95
+
96
+ - The label (e.g., `[//]`) is technically valid
97
+ - The `#` is a valid URL (just a fragment/anchor)
98
+ - Since the reference is never used, it doesn't render
99
+
100
+ ### When to Use
101
+
102
+ **Use HTML comments for standard commenting:**
103
+
104
+ ```markdown
105
+ <!-- This is the recommended way to add comments -->
106
+ ```
107
+
108
+ **Use reference-style comments when:**
109
+
110
+ - Your documentation tool strips HTML comments
111
+ - You prefer a less HTML-like syntax
112
+ - You're following project conventions that use this pattern
113
+ - You need comments that won't appear in page source
114
+
115
+ ### Real vs. Comment References
116
+
117
+ rumdl distinguishes between comment patterns and real references:
118
+
119
+ ```markdown
120
+ [//]: # (This is ignored - it's a comment)
121
+ [real-link]: https://example.com <!-- This WILL be flagged if unused -->
122
+ ```
123
+
124
+ Only the real reference definition will trigger MD053 if it's not used in the document.
125
+
67
126
  ## Automatic fixes
68
127
 
69
128
  This rule can automatically fix issues by: