rumdl 0.0.144__tar.gz → 0.0.145__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 (438) hide show
  1. {rumdl-0.0.144 → rumdl-0.0.145}/Cargo.lock +1 -1
  2. {rumdl-0.0.144 → rumdl-0.0.145}/Cargo.toml +1 -1
  3. {rumdl-0.0.144 → rumdl-0.0.145}/PKG-INFO +1 -1
  4. {rumdl-0.0.144 → rumdl-0.0.145}/src/lib.rs +3 -11
  5. {rumdl-0.0.144 → rumdl-0.0.145}/src/lint_context.rs +147 -1
  6. {rumdl-0.0.144 → rumdl-0.0.145}/src/rule.rs +8 -26
  7. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md001_heading_increment.rs +0 -4
  8. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md002_first_heading_h1.rs +0 -4
  9. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md003_heading_style.rs +0 -4
  10. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md004_unordered_list_style.rs +0 -16
  11. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md005_list_indent.rs +7 -43
  12. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md006_start_bullets.rs +4 -113
  13. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md007_ul_indent.rs +0 -136
  14. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md012_no_multiple_blanks.rs +0 -15
  15. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md013_line_length.rs +31 -56
  16. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md018_no_missing_space_atx.rs +0 -4
  17. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md019_no_multiple_space_atx.rs +0 -4
  18. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md020_no_missing_space_closed_atx.rs +0 -4
  19. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -4
  20. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md022_blanks_around_headings.rs +0 -4
  21. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md023_heading_start_left.rs +0 -4
  22. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md024_no_duplicate_heading.rs +0 -4
  23. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md025_single_title.rs +0 -4
  24. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md026_no_trailing_punctuation.rs +0 -4
  25. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md028_no_blanks_blockquote.rs +5 -29
  26. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md029_ordered_list_prefix.rs +11 -53
  27. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md030_list_marker_space.rs +6 -25
  28. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md031_blanks_around_fences.rs +5 -100
  29. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md032_blanks_around_lists.rs +24 -89
  30. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md033_no_inline_html.rs +5 -33
  31. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md034_no_bare_urls.rs +194 -235
  32. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md036_no_emphasis_only_first.rs +5 -25
  33. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md037_spaces_around_emphasis.rs +5 -45
  34. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md038_no_space_in_code.rs +0 -16
  35. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md039_no_space_in_links.rs +0 -14
  36. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md040_fenced_code_language.rs +0 -24
  37. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md042_no_empty_links.rs +0 -61
  38. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md043_required_headings.rs +4 -42
  39. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md046_code_block_style.rs +76 -264
  40. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md049_emphasis_style.rs +2 -4
  41. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md053_link_image_reference_definitions.rs +11 -26
  42. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md054_link_image_style.rs +2 -4
  43. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md057_existing_relative_links.rs +7 -34
  44. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mod.rs +3 -2
  45. {rumdl-0.0.144 → rumdl-0.0.145}/tests/escaped_brackets_test.rs +3 -37
  46. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md032_test.rs +3 -10
  47. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md046_test.rs +2 -2
  48. {rumdl-0.0.144 → rumdl-0.0.145}/.config/nextest.toml +0 -0
  49. {rumdl-0.0.144 → rumdl-0.0.145}/.mise.toml +0 -0
  50. {rumdl-0.0.144 → rumdl-0.0.145}/.pre-commit-config.yaml +0 -0
  51. {rumdl-0.0.144 → rumdl-0.0.145}/.rumdl.toml +0 -0
  52. {rumdl-0.0.144 → rumdl-0.0.145}/.rustfmt.toml +0 -0
  53. {rumdl-0.0.144 → rumdl-0.0.145}/CHANGELOG.md +0 -0
  54. {rumdl-0.0.144 → rumdl-0.0.145}/LICENSE +0 -0
  55. {rumdl-0.0.144 → rumdl-0.0.145}/MANIFEST.in +0 -0
  56. {rumdl-0.0.144 → rumdl-0.0.145}/Makefile +0 -0
  57. {rumdl-0.0.144 → rumdl-0.0.145}/README.md +0 -0
  58. {rumdl-0.0.144 → rumdl-0.0.145}/assets/logo.png +0 -0
  59. {rumdl-0.0.144 → rumdl-0.0.145}/benches/fix_performance.rs +0 -0
  60. {rumdl-0.0.144 → rumdl-0.0.145}/benches/range_performance.rs +0 -0
  61. {rumdl-0.0.144 → rumdl-0.0.145}/benches/range_utils_benchmark.rs +0 -0
  62. {rumdl-0.0.144 → rumdl-0.0.145}/benches/rule_performance.rs +0 -0
  63. {rumdl-0.0.144 → rumdl-0.0.145}/benches/simple_fix_bench.rs +0 -0
  64. {rumdl-0.0.144 → rumdl-0.0.145}/benchmark/bin/bench_lint_context.rs +0 -0
  65. {rumdl-0.0.144 → rumdl-0.0.145}/benchmark/bin/benchmark.rs +0 -0
  66. {rumdl-0.0.144 → rumdl-0.0.145}/benchmark/bin/benchmark_rule.rs +0 -0
  67. {rumdl-0.0.144 → rumdl-0.0.145}/benchmark/bin/file_parallel_benchmark.rs +0 -0
  68. {rumdl-0.0.144 → rumdl-0.0.145}/benchmark/bin/measure_code_span_performance.rs +0 -0
  69. {rumdl-0.0.144 → rumdl-0.0.145}/docs/RULES.md +0 -0
  70. {rumdl-0.0.144 → rumdl-0.0.145}/docs/global-settings.md +0 -0
  71. {rumdl-0.0.144 → rumdl-0.0.145}/docs/inline-configuration.md +0 -0
  72. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md001.md +0 -0
  73. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md002.md +0 -0
  74. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md003.md +0 -0
  75. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md004.md +0 -0
  76. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md005.md +0 -0
  77. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md006.md +0 -0
  78. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md007.md +0 -0
  79. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md009.md +0 -0
  80. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md010.md +0 -0
  81. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md011.md +0 -0
  82. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md012.md +0 -0
  83. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md013.md +0 -0
  84. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md014.md +0 -0
  85. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md018.md +0 -0
  86. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md019.md +0 -0
  87. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md020.md +0 -0
  88. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md021.md +0 -0
  89. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md022.md +0 -0
  90. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md023.md +0 -0
  91. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md024.md +0 -0
  92. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md025.md +0 -0
  93. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md026.md +0 -0
  94. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md027.md +0 -0
  95. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md028.md +0 -0
  96. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md029.md +0 -0
  97. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md030.md +0 -0
  98. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md031.md +0 -0
  99. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md032.md +0 -0
  100. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md033.md +0 -0
  101. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md034.md +0 -0
  102. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md035.md +0 -0
  103. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md036.md +0 -0
  104. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md037.md +0 -0
  105. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md038.md +0 -0
  106. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md039.md +0 -0
  107. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md040.md +0 -0
  108. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md041.md +0 -0
  109. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md042.md +0 -0
  110. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md043.md +0 -0
  111. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md044.md +0 -0
  112. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md045.md +0 -0
  113. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md046.md +0 -0
  114. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md047.md +0 -0
  115. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md048.md +0 -0
  116. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md049.md +0 -0
  117. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md050.md +0 -0
  118. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md051.md +0 -0
  119. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md052.md +0 -0
  120. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md053.md +0 -0
  121. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md054.md +0 -0
  122. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md055.md +0 -0
  123. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md056.md +0 -0
  124. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md057.md +0 -0
  125. {rumdl-0.0.144 → rumdl-0.0.145}/docs/md058.md +0 -0
  126. {rumdl-0.0.144 → rumdl-0.0.145}/docs/vscode-extension.md +0 -0
  127. {rumdl-0.0.144 → rumdl-0.0.145}/parity_check.py +0 -0
  128. {rumdl-0.0.144 → rumdl-0.0.145}/pyproject.toml +0 -0
  129. {rumdl-0.0.144 → rumdl-0.0.145}/python/MANIFEST.in +0 -0
  130. {rumdl-0.0.144 → rumdl-0.0.145}/python/PYTHON-README.md +0 -0
  131. {rumdl-0.0.144 → rumdl-0.0.145}/python/rumdl/__init__.py +0 -0
  132. {rumdl-0.0.144 → rumdl-0.0.145}/python/rumdl/__main__.py +0 -0
  133. {rumdl-0.0.144 → rumdl-0.0.145}/python/rumdl/py.typed +0 -0
  134. {rumdl-0.0.144 → rumdl-0.0.145}/rumdl.toml.example +0 -0
  135. {rumdl-0.0.144 → rumdl-0.0.145}/rust-toolchain.toml +0 -0
  136. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/extract-changelog.sh +0 -0
  137. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/generate-downloads-table.sh +0 -0
  138. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/pre-release.sh +0 -0
  139. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/prepare-release.sh +0 -0
  140. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/setup-pre-commit.sh +0 -0
  141. {rumdl-0.0.144 → rumdl-0.0.145}/scripts/update-pre-commit-docs.sh +0 -0
  142. {rumdl-0.0.144 → rumdl-0.0.145}/src/config.rs +0 -0
  143. {rumdl-0.0.144 → rumdl-0.0.145}/src/exit_codes.rs +0 -0
  144. {rumdl-0.0.144 → rumdl-0.0.145}/src/inline_config.rs +0 -0
  145. {rumdl-0.0.144 → rumdl-0.0.145}/src/lsp/mod.rs +0 -0
  146. {rumdl-0.0.144 → rumdl-0.0.145}/src/lsp/server.rs +0 -0
  147. {rumdl-0.0.144 → rumdl-0.0.145}/src/lsp/types.rs +0 -0
  148. {rumdl-0.0.144 → rumdl-0.0.145}/src/main.rs +0 -0
  149. {rumdl-0.0.144 → rumdl-0.0.145}/src/markdownlint_config.rs +0 -0
  150. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/azure.rs +0 -0
  151. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/concise.rs +0 -0
  152. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/github.rs +0 -0
  153. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/gitlab.rs +0 -0
  154. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/grouped.rs +0 -0
  155. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/json.rs +0 -0
  156. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/json_lines.rs +0 -0
  157. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/junit.rs +0 -0
  158. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/mod.rs +0 -0
  159. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/pylint.rs +0 -0
  160. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/sarif.rs +0 -0
  161. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/formatters/text.rs +0 -0
  162. {rumdl-0.0.144 → rumdl-0.0.145}/src/output/mod.rs +0 -0
  163. {rumdl-0.0.144 → rumdl-0.0.145}/src/parallel.rs +0 -0
  164. {rumdl-0.0.144 → rumdl-0.0.145}/src/performance.rs +0 -0
  165. {rumdl-0.0.144 → rumdl-0.0.145}/src/profiling.rs +0 -0
  166. {rumdl-0.0.144 → rumdl-0.0.145}/src/python.rs +0 -0
  167. {rumdl-0.0.144 → rumdl-0.0.145}/src/rule_config.rs +0 -0
  168. {rumdl-0.0.144 → rumdl-0.0.145}/src/rule_config_serde.rs +0 -0
  169. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/blockquote_utils.rs +0 -0
  170. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/code_block_utils.rs +0 -0
  171. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/code_fence_utils.rs +0 -0
  172. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/emphasis_style.rs +0 -0
  173. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/front_matter_utils.rs +0 -0
  174. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/heading_utils.rs +0 -0
  175. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/list_utils.rs +0 -0
  176. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  177. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md003_heading_style/md003_config.rs +0 -0
  178. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  179. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  180. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  181. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md009_trailing_spaces.rs +0 -0
  182. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  183. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md010_no_hard_tabs.rs +0 -0
  184. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md011_no_reversed_links.rs +0 -0
  185. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  186. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md013_line_length/md013_config.rs +0 -0
  187. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  188. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md014_commands_show_output.rs +0 -0
  189. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  190. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  191. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md025_single_title/md025_config.rs +0 -0
  192. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  193. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  194. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
  195. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  196. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  197. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md035_hr_style/md035_config.rs +0 -0
  198. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md035_hr_style.rs +0 -0
  199. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  200. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md041_first_line_heading.rs +0 -0
  201. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md044_proper_names/md044_config.rs +0 -0
  202. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md044_proper_names.rs +0 -0
  203. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  204. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md045_no_alt_text.rs +0 -0
  205. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  206. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md047_single_trailing_newline.rs +0 -0
  207. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  208. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md048_code_fence_style.rs +0 -0
  209. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  210. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md050_strong_style/md050_config.rs +0 -0
  211. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md050_strong_style.rs +0 -0
  212. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md051_link_fragments.rs +0 -0
  213. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md052_reference_links_images.rs +0 -0
  214. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  215. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  216. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md055_table_pipe_style.rs +0 -0
  217. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md056_table_column_count.rs +0 -0
  218. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  219. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/md058_blanks_around_tables.rs +0 -0
  220. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/mod.rs +0 -0
  221. {rumdl-0.0.144 → rumdl-0.0.145}/src/rules/strong_style.rs +0 -0
  222. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/anchor_styles/github.rs +0 -0
  223. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/anchor_styles/jekyll.rs +0 -0
  224. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/anchor_styles/kramdown.rs +0 -0
  225. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
  226. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/anchor_styles/mod.rs +0 -0
  227. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/ast_utils.rs +0 -0
  228. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/code_block_utils.rs +0 -0
  229. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/document_structure.rs +0 -0
  230. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/early_returns.rs +0 -0
  231. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/element_cache.rs +0 -0
  232. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/emphasis_utils.rs +0 -0
  233. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/fix_utils.rs +0 -0
  234. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/header_id_utils.rs +0 -0
  235. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/kramdown_utils.rs +0 -0
  236. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/line_ending.rs +0 -0
  237. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/markdown_elements.rs +0 -0
  238. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_admonitions.rs +0 -0
  239. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_common.rs +0 -0
  240. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_critic.rs +0 -0
  241. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_footnotes.rs +0 -0
  242. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_patterns.rs +0 -0
  243. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_snippets.rs +0 -0
  244. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_tabs.rs +0 -0
  245. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocs_test_utils.rs +0 -0
  246. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/mkdocstrings_refs.rs +0 -0
  247. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/range_utils.rs +0 -0
  248. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/regex_cache.rs +0 -0
  249. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/skip_context.rs +0 -0
  250. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/string_interner.rs +0 -0
  251. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/table_utils.rs +0 -0
  252. {rumdl-0.0.144 → rumdl-0.0.145}/src/utils/text_reflow.rs +0 -0
  253. {rumdl-0.0.144 → rumdl-0.0.145}/src/vscode.rs +0 -0
  254. {rumdl-0.0.144 → rumdl-0.0.145}/tests/advanced_integration_tests.rs +0 -0
  255. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/additional_tests.rs +0 -0
  256. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/basic_tests.rs +0 -0
  257. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/comprehensive_tests.rs +0 -0
  258. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/extended_tests.rs +0 -0
  259. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/mod.rs +0 -0
  260. {rumdl-0.0.144 → rumdl-0.0.145}/tests/character_ranges/unicode_utils.rs +0 -0
  261. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_duplication_test.rs +0 -0
  262. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_explain_test.rs +0 -0
  263. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_flag_precedence_test.rs +0 -0
  264. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_integration_tests.rs +0 -0
  265. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_lsp_fix_consistency.rs +0 -0
  266. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cli_statistics_test.rs +0 -0
  267. {rumdl-0.0.144 → rumdl-0.0.145}/tests/common/cli_test_utils.rs +0 -0
  268. {rumdl-0.0.144 → rumdl-0.0.145}/tests/common/fixtures.rs +0 -0
  269. {rumdl-0.0.144 → rumdl-0.0.145}/tests/common/mod.rs +0 -0
  270. {rumdl-0.0.144 → rumdl-0.0.145}/tests/common/test_utils.rs +0 -0
  271. {rumdl-0.0.144 → rumdl-0.0.145}/tests/commonmark_compliance_tests.rs +0 -0
  272. {rumdl-0.0.144 → rumdl-0.0.145}/tests/comprehensive_integration_tests.rs +0 -0
  273. {rumdl-0.0.144 → rumdl-0.0.145}/tests/comprehensive_output_format_tests.rs +0 -0
  274. {rumdl-0.0.144 → rumdl-0.0.145}/tests/config_application_tests.rs +0 -0
  275. {rumdl-0.0.144 → rumdl-0.0.145}/tests/config_file_command_test.rs +0 -0
  276. {rumdl-0.0.144 → rumdl-0.0.145}/tests/config_tests.rs +0 -0
  277. {rumdl-0.0.144 → rumdl-0.0.145}/tests/config_upward_traversal_test.rs +0 -0
  278. {rumdl-0.0.144 → rumdl-0.0.145}/tests/configuration_inheritance_tests.rs +0 -0
  279. {rumdl-0.0.144 → rumdl-0.0.145}/tests/consistency_regression_tests.rs +0 -0
  280. {rumdl-0.0.144 → rumdl-0.0.145}/tests/cross_platform_compatibility_tests.rs +0 -0
  281. {rumdl-0.0.144 → rumdl-0.0.145}/tests/deeply_nested_lists_performance_test.rs +0 -0
  282. {rumdl-0.0.144 → rumdl-0.0.145}/tests/final_confidence_assessment.rs +0 -0
  283. {rumdl-0.0.144 → rumdl-0.0.145}/tests/fix_counting_test.rs +0 -0
  284. {rumdl-0.0.144 → rumdl-0.0.145}/tests/fix_performance_baseline_test.rs +0 -0
  285. {rumdl-0.0.144 → rumdl-0.0.145}/tests/fixable_unfixable_config_test.rs +0 -0
  286. {rumdl-0.0.144 → rumdl-0.0.145}/tests/init_command_test.rs +0 -0
  287. {rumdl-0.0.144 → rumdl-0.0.145}/tests/init_tests.rs +0 -0
  288. {rumdl-0.0.144 → rumdl-0.0.145}/tests/inline_config_blocks_test.rs +0 -0
  289. {rumdl-0.0.144 → rumdl-0.0.145}/tests/inline_config_test.rs +0 -0
  290. {rumdl-0.0.144 → rumdl-0.0.145}/tests/integration_tests.rs +0 -0
  291. {rumdl-0.0.144 → rumdl-0.0.145}/tests/json_output_test.rs +0 -0
  292. {rumdl-0.0.144 → rumdl-0.0.145}/tests/kramdown_integration_test.rs +0 -0
  293. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lib.rs +0 -0
  294. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_editor_integration_tests.rs +0 -0
  295. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_formatting_tests.rs +0 -0
  296. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_initialization_options_test.rs +0 -0
  297. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_integration_tests.rs +0 -0
  298. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_memory_leak_tests.rs +0 -0
  299. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_mkdocs_flavor_test.rs +0 -0
  300. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_tests.rs +0 -0
  301. {rumdl-0.0.144 → rumdl-0.0.145}/tests/lsp_unopened_document_test.rs +0 -0
  302. {rumdl-0.0.144 → rumdl-0.0.145}/tests/malformed_markdown_stress_tests.rs +0 -0
  303. {rumdl-0.0.144 → rumdl-0.0.145}/tests/markdownlint_cli_integration.rs +0 -0
  304. {rumdl-0.0.144 → rumdl-0.0.145}/tests/markdownlint_config_test.rs +0 -0
  305. {rumdl-0.0.144 → rumdl-0.0.145}/tests/markdownlintignore_test.rs +0 -0
  306. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md013_reflow_integration_test.rs +0 -0
  307. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md032_ordered_list_bug_test.rs +0 -0
  308. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md037_xxxx_regression_test.rs +0 -0
  309. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md038_false_positive_test.rs +0 -0
  310. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md051_issue_39_regression_test.rs +0 -0
  311. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md051_readme_bug_test.rs +0 -0
  312. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md051_toc_bug_test.rs +0 -0
  313. {rumdl-0.0.144 → rumdl-0.0.145}/tests/md052_literal_brackets_test.rs +0 -0
  314. {rumdl-0.0.144 → rumdl-0.0.145}/tests/nested_code_block_test.rs +0 -0
  315. {rumdl-0.0.144 → rumdl-0.0.145}/tests/output_format_integration_tests.rs +0 -0
  316. {rumdl-0.0.144 → rumdl-0.0.145}/tests/output_format_tests.rs +0 -0
  317. {rumdl-0.0.144 → rumdl-0.0.145}/tests/perf_check.rs +0 -0
  318. {rumdl-0.0.144 → rumdl-0.0.145}/tests/performance_validation_tests.rs +0 -0
  319. {rumdl-0.0.144 → rumdl-0.0.145}/tests/pyproject_config_tests.rs +0 -0
  320. {rumdl-0.0.144 → rumdl-0.0.145}/tests/python_bindings_test.rs +0 -0
  321. {rumdl-0.0.144 → rumdl-0.0.145}/tests/real_world_repository_tests.rs +0 -0
  322. {rumdl-0.0.144 → rumdl-0.0.145}/tests/regression_prevention_tests.rs +0 -0
  323. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  324. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/heading_edge_cases_test.rs +0 -0
  325. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  326. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/link_edge_cases_test.rs +0 -0
  327. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/list_rules_integration_test.rs +0 -0
  328. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md001_test.rs +0 -0
  329. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md001_unicode_test.rs +0 -0
  330. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md002_test.rs +0 -0
  331. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md003_test.rs +0 -0
  332. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md004_test.rs +0 -0
  333. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md005_dynamic_indent_test.rs +0 -0
  334. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md005_test.rs +0 -0
  335. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md005_unicode_test.rs +0 -0
  336. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md006_test.rs +0 -0
  337. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md006_unicode_test.rs +0 -0
  338. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md007_test.rs +0 -0
  339. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md009_test.rs +0 -0
  340. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md010_test.rs +0 -0
  341. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md011_test.rs +0 -0
  342. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md012_test.rs +0 -0
  343. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md013_test.rs +0 -0
  344. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md014_test.rs +0 -0
  345. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md018_test.rs +0 -0
  346. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md019_test.rs +0 -0
  347. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md020_test.rs +0 -0
  348. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md021_test.rs +0 -0
  349. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md022_test.rs +0 -0
  350. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md023_extended_test.rs +0 -0
  351. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md023_test.rs +0 -0
  352. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md024_test.rs +0 -0
  353. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md025_test.rs +0 -0
  354. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md026_kramdown_test.rs +0 -0
  355. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md026_test.rs +0 -0
  356. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md027_test.rs +0 -0
  357. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md028_md009_interaction_test.rs +0 -0
  358. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md028_test.rs +0 -0
  359. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_code_block_separation_test.rs +0 -0
  360. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_fix_test.rs +0 -0
  361. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_issue42_test.rs +0 -0
  362. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
  363. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
  364. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_test.rs +0 -0
  365. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md029_unicode_test.rs +0 -0
  366. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md030_test.rs +0 -0
  367. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md031_kramdown_test.rs +0 -0
  368. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md031_test.rs +0 -0
  369. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md033_extended_test.rs +0 -0
  370. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md033_kramdown_test.rs +0 -0
  371. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md033_test.rs +0 -0
  372. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md034_ipv6_test.rs +0 -0
  373. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md034_test.rs +0 -0
  374. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md035_test.rs +0 -0
  375. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md036_test.rs +0 -0
  376. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md037_kramdown_test.rs +0 -0
  377. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md037_test.rs +0 -0
  378. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md038_nested_backticks_test.rs +0 -0
  379. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md038_test.rs +0 -0
  380. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md039_test.rs +0 -0
  381. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md040_test.rs +0 -0
  382. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md041_test.rs +0 -0
  383. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md042_test.rs +0 -0
  384. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md043_test.rs +0 -0
  385. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md044_test.rs +0 -0
  386. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md045_test.rs +0 -0
  387. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md047_test.rs +0 -0
  388. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md048_test.rs +0 -0
  389. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md049_test.rs +0 -0
  390. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md050_test.rs +0 -0
  391. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_comprehensive_test.rs +0 -0
  392. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
  393. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_edge_cases_test.rs +0 -0
  394. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_issue_39_regression_test.rs +0 -0
  395. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
  396. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_property_based_test.rs +0 -0
  397. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_regression_prevention_test.rs +0 -0
  398. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_test.rs +0 -0
  399. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md051_unicode_security_test.rs +0 -0
  400. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md052_test.rs +0 -0
  401. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md053_additional_test.rs +0 -0
  402. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md053_proptest.rs +0 -0
  403. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md053_test.rs +0 -0
  404. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md054_test.rs +0 -0
  405. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md054_unicode_test.rs +0 -0
  406. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md055_test.rs +0 -0
  407. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md056_test.rs +0 -0
  408. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md057_test.rs +0 -0
  409. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md058_kramdown_test.rs +0 -0
  410. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/md058_test.rs +0 -0
  411. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/mkdocs_admonitions_test.rs +0 -0
  412. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
  413. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/mkdocs_extensions_test.rs +0 -0
  414. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/mkdocs_snippets_test.rs +0 -0
  415. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/mod.rs +0 -0
  416. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules/rule_interaction_test.rs +0 -0
  417. {rumdl-0.0.144 → rumdl-0.0.145}/tests/rules_mod_test.rs +0 -0
  418. {rumdl-0.0.144 → rumdl-0.0.145}/tests/sentence_per_line_test.rs +0 -0
  419. {rumdl-0.0.144 → rumdl-0.0.145}/tests/skip_context_tests.rs +0 -0
  420. {rumdl-0.0.144 → rumdl-0.0.145}/tests/test_underscore_edge_cases.rs +0 -0
  421. {rumdl-0.0.144 → rumdl-0.0.145}/tests/thread_safety_tests.rs +0 -0
  422. {rumdl-0.0.144 → rumdl-0.0.145}/tests/unfixable_rules_test.rs +0 -0
  423. {rumdl-0.0.144 → rumdl-0.0.145}/tests/unicode_edge_case_tests.rs +0 -0
  424. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utf8_boundary_tests.rs +0 -0
  425. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/blockquote_utils_test.rs +0 -0
  426. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/code_block_utils_extended_test.rs +0 -0
  427. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/code_block_utils_test.rs +0 -0
  428. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/core_utils_test.rs +0 -0
  429. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/front_matter_utils_test.rs +0 -0
  430. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/line_index_test.rs +0 -0
  431. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils/mod.rs +0 -0
  432. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils_markdown_edge_cases.rs +0 -0
  433. {rumdl-0.0.144 → rumdl-0.0.145}/tests/utils_tests.rs +0 -0
  434. {rumdl-0.0.144 → rumdl-0.0.145}/tests/vscode_extension_fixes.rs +0 -0
  435. {rumdl-0.0.144 → rumdl-0.0.145}/tests/vscode_test.rs +0 -0
  436. {rumdl-0.0.144 → rumdl-0.0.145}/tests/vscode_tests.rs +0 -0
  437. {rumdl-0.0.144 → rumdl-0.0.145}/tests/vscode_windows_comprehensive_test.rs +0 -0
  438. {rumdl-0.0.144 → rumdl-0.0.145}/tests/vscode_windows_test.rs +0 -0
@@ -1644,7 +1644,7 @@ checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001"
1644
1644
 
1645
1645
  [[package]]
1646
1646
  name = "rumdl"
1647
- version = "0.0.144"
1647
+ version = "0.0.145"
1648
1648
  dependencies = [
1649
1649
  "anyhow",
1650
1650
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.144"
3
+ version = "0.0.145"
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)"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.144
3
+ Version: 0.0.145
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -25,7 +25,6 @@ pub use rules::*;
25
25
 
26
26
  pub use crate::lint_context::{LineInfo, LintContext, ListItemInfo};
27
27
  use crate::rule::{LintResult, Rule, RuleCategory};
28
- use crate::utils::document_structure::DocumentStructure;
29
28
  use std::time::Instant;
30
29
 
31
30
  /// Content characteristics for efficient rule filtering
@@ -151,9 +150,6 @@ pub fn lint(
151
150
  let _total_rules = rules.len();
152
151
  let _applicable_count = applicable_rules.len();
153
152
 
154
- // Parse DocumentStructure once
155
- let structure = DocumentStructure::new(content);
156
-
157
153
  // Parse AST once for rules that can benefit from it
158
154
  let ast_rules_count = applicable_rules.iter().filter(|rule| rule.uses_ast()).count();
159
155
  let ast = if ast_rules_count > 0 {
@@ -177,15 +173,11 @@ pub fn lint(
177
173
  .unwrap_or_else(|| rule.check_with_ast(&lint_ctx, ast_ref))
178
174
  } else {
179
175
  // Fallback to regular check if no AST
180
- rule.as_maybe_document_structure()
181
- .and_then(|ext| ext.check_with_structure_opt(&lint_ctx, &structure))
182
- .unwrap_or_else(|| rule.check(&lint_ctx))
176
+ rule.check(&lint_ctx)
183
177
  }
184
178
  } else {
185
- // 2. Document structure path
186
- rule.as_maybe_document_structure()
187
- .and_then(|ext| ext.check_with_structure_opt(&lint_ctx, &structure))
188
- .unwrap_or_else(|| rule.check(&lint_ctx))
179
+ // 2. Regular check path
180
+ rule.check(&lint_ctx)
189
181
  };
190
182
 
191
183
  match result {
@@ -75,6 +75,8 @@ pub struct LineInfo {
75
75
  pub in_code_block: bool,
76
76
  /// Whether this line is inside front matter
77
77
  pub in_front_matter: bool,
78
+ /// Whether this line is inside an HTML block
79
+ pub in_html_block: bool,
78
80
  /// List item information if this line starts a list item
79
81
  pub list_item: Option<ListItemInfo>,
80
82
  /// Heading information if this line is a heading
@@ -393,7 +395,7 @@ impl<'a> LintContext<'a> {
393
395
  let code_blocks = CodeBlockUtils::detect_code_blocks(content);
394
396
 
395
397
  // Pre-compute line information
396
- let lines = Self::compute_line_info(content, &line_offsets, &code_blocks, flavor);
398
+ let mut lines = Self::compute_line_info(content, &line_offsets, &code_blocks, flavor);
397
399
 
398
400
  // Parse code spans early so we can exclude them from link/image parsing
399
401
  let ast = get_cached_ast(content);
@@ -405,6 +407,9 @@ impl<'a> LintContext<'a> {
405
407
  let reference_defs = Self::parse_reference_defs(content, &lines);
406
408
  let list_blocks = Self::parse_list_blocks(&lines);
407
409
 
410
+ // Detect HTML blocks
411
+ Self::detect_html_blocks(&mut lines);
412
+
408
413
  // Compute character frequency for fast content analysis
409
414
  let char_frequency = Self::compute_char_frequency(content);
410
415
 
@@ -575,6 +580,45 @@ impl<'a> LintContext<'a> {
575
580
  .find(|block| line_num >= block.start_line && line_num <= block.end_line)
576
581
  }
577
582
 
583
+ // Compatibility methods for DocumentStructure migration
584
+
585
+ /// Check if a line is within a code block
586
+ pub fn is_in_code_block(&self, line_num: usize) -> bool {
587
+ if line_num == 0 || line_num > self.lines.len() {
588
+ return false;
589
+ }
590
+ self.lines[line_num - 1].in_code_block
591
+ }
592
+
593
+ /// Check if a line is within front matter
594
+ pub fn is_in_front_matter(&self, line_num: usize) -> bool {
595
+ if line_num == 0 || line_num > self.lines.len() {
596
+ return false;
597
+ }
598
+ self.lines[line_num - 1].in_front_matter
599
+ }
600
+
601
+ /// Check if a line is within an HTML block
602
+ pub fn is_in_html_block(&self, line_num: usize) -> bool {
603
+ if line_num == 0 || line_num > self.lines.len() {
604
+ return false;
605
+ }
606
+ self.lines[line_num - 1].in_html_block
607
+ }
608
+
609
+ /// Check if a line and column is within a code span
610
+ pub fn is_in_code_span(&self, line_num: usize, col: usize) -> bool {
611
+ if line_num == 0 || line_num > self.lines.len() {
612
+ return false;
613
+ }
614
+
615
+ // Use the code spans cache to check
616
+ let code_spans = self.code_spans();
617
+ code_spans
618
+ .iter()
619
+ .any(|span| span.line == line_num && col >= span.start_col && col <= span.end_col)
620
+ }
621
+
578
622
  /// Check if content has any instances of a specific character (fast)
579
623
  pub fn has_char(&self, ch: char) -> bool {
580
624
  match ch {
@@ -1120,6 +1164,7 @@ impl<'a> LintContext<'a> {
1120
1164
  is_blank,
1121
1165
  in_code_block,
1122
1166
  in_front_matter: in_front_matter && i <= front_matter_end,
1167
+ in_html_block: false, // Will be populated after line creation
1123
1168
  list_item,
1124
1169
  heading: None, // Will be populated in second pass for Setext headings
1125
1170
  blockquote: None, // Will be populated after line creation
@@ -1365,6 +1410,107 @@ impl<'a> LintContext<'a> {
1365
1410
  lines
1366
1411
  }
1367
1412
 
1413
+ /// Detect HTML blocks in the content
1414
+ fn detect_html_blocks(lines: &mut [LineInfo]) {
1415
+ // HTML block elements that trigger block context
1416
+ const BLOCK_ELEMENTS: &[&str] = &[
1417
+ "address",
1418
+ "article",
1419
+ "aside",
1420
+ "blockquote",
1421
+ "details",
1422
+ "dialog",
1423
+ "dd",
1424
+ "div",
1425
+ "dl",
1426
+ "dt",
1427
+ "fieldset",
1428
+ "figcaption",
1429
+ "figure",
1430
+ "footer",
1431
+ "form",
1432
+ "h1",
1433
+ "h2",
1434
+ "h3",
1435
+ "h4",
1436
+ "h5",
1437
+ "h6",
1438
+ "header",
1439
+ "hr",
1440
+ "li",
1441
+ "main",
1442
+ "nav",
1443
+ "ol",
1444
+ "p",
1445
+ "pre",
1446
+ "section",
1447
+ "table",
1448
+ "tbody",
1449
+ "td",
1450
+ "tfoot",
1451
+ "th",
1452
+ "thead",
1453
+ "tr",
1454
+ "ul",
1455
+ ];
1456
+
1457
+ let mut i = 0;
1458
+ while i < lines.len() {
1459
+ // Skip if already in code block or front matter
1460
+ if lines[i].in_code_block || lines[i].in_front_matter {
1461
+ i += 1;
1462
+ continue;
1463
+ }
1464
+
1465
+ let trimmed = lines[i].content.trim_start();
1466
+
1467
+ // Check if line starts with an HTML tag
1468
+ if trimmed.starts_with('<') && trimmed.len() > 1 {
1469
+ // Extract tag name safely
1470
+ let after_bracket = &trimmed[1..];
1471
+ let is_closing = after_bracket.starts_with('/');
1472
+ let tag_start = if is_closing { &after_bracket[1..] } else { after_bracket };
1473
+
1474
+ // Extract tag name (stop at space, >, /, or end of string)
1475
+ let tag_name = tag_start
1476
+ .chars()
1477
+ .take_while(|c| c.is_ascii_alphabetic() || *c == '-')
1478
+ .collect::<String>()
1479
+ .to_lowercase();
1480
+
1481
+ // Check if it's a block element
1482
+ if !tag_name.is_empty() && BLOCK_ELEMENTS.contains(&tag_name.as_str()) {
1483
+ // Mark this line as in HTML block
1484
+ lines[i].in_html_block = true;
1485
+
1486
+ // For simplicity, just mark lines until we find a closing tag or reach a blank line
1487
+ // This avoids complex nesting logic that might cause infinite loops
1488
+ if !is_closing {
1489
+ let closing_tag = format!("</{tag_name}>");
1490
+ let mut j = i + 1;
1491
+ while j < lines.len() && j < i + 100 {
1492
+ // Limit search to 100 lines
1493
+ // Stop at blank lines
1494
+ if lines[j].is_blank {
1495
+ break;
1496
+ }
1497
+
1498
+ lines[j].in_html_block = true;
1499
+
1500
+ // Check if this line contains the closing tag
1501
+ if lines[j].content.contains(&closing_tag) {
1502
+ break;
1503
+ }
1504
+ j += 1;
1505
+ }
1506
+ }
1507
+ }
1508
+ }
1509
+
1510
+ i += 1;
1511
+ }
1512
+ }
1513
+
1368
1514
  /// Parse all inline code spans in the content using AST
1369
1515
  fn parse_code_spans(content: &str, lines: &[LineInfo], ast: &Node) -> Vec<CodeSpan> {
1370
1516
  let mut code_spans = Vec::new();
@@ -9,7 +9,6 @@ use thiserror::Error;
9
9
 
10
10
  // Import document structure
11
11
  use crate::lint_context::LintContext;
12
- use crate::utils::document_structure::DocumentStructure;
13
12
 
14
13
  // Import markdown AST for shared parsing
15
14
  pub use markdown::mdast::Node as MarkdownAst;
@@ -99,29 +98,12 @@ pub trait Rule: DynClone + Send + Sync {
99
98
  fn check(&self, ctx: &LintContext) -> LintResult;
100
99
  fn fix(&self, ctx: &LintContext) -> Result<String, LintError>;
101
100
 
102
- /// Enhanced check method using document structure
103
- /// By default, calls the regular check method if not overridden
104
- fn check_with_structure(&self, ctx: &LintContext, _structure: &DocumentStructure) -> LintResult {
105
- self.check(ctx)
106
- }
107
-
108
101
  /// AST-based check method for rules that can benefit from shared AST parsing
109
102
  /// By default, calls the regular check method if not overridden
110
103
  fn check_with_ast(&self, ctx: &LintContext, _ast: &MarkdownAst) -> LintResult {
111
104
  self.check(ctx)
112
105
  }
113
106
 
114
- /// Combined check method using both document structure and AST
115
- /// By default, calls the regular check method if not overridden
116
- fn check_with_structure_and_ast(
117
- &self,
118
- ctx: &LintContext,
119
- _structure: &DocumentStructure,
120
- _ast: &MarkdownAst,
121
- ) -> LintResult {
122
- self.check(ctx)
123
- }
124
-
125
107
  /// Check if this rule should quickly skip processing based on content
126
108
  fn should_skip(&self, _ctx: &LintContext) -> bool {
127
109
  false
@@ -137,16 +119,12 @@ pub trait Rule: DynClone + Send + Sync {
137
119
  false
138
120
  }
139
121
 
140
- /// Check if this rule can benefit from document structure
141
- fn uses_document_structure(&self) -> bool {
142
- false
143
- }
144
-
145
122
  fn as_any(&self) -> &dyn std::any::Any;
146
123
 
147
- fn as_maybe_document_structure(&self) -> Option<&dyn MaybeDocumentStructure> {
148
- None
149
- }
124
+ // DocumentStructure has been merged into LintContext - this method is no longer used
125
+ // fn as_maybe_document_structure(&self) -> Option<&dyn MaybeDocumentStructure> {
126
+ // None
127
+ // }
150
128
 
151
129
  fn as_maybe_ast(&self) -> Option<&dyn MaybeAst> {
152
130
  None
@@ -332,6 +310,9 @@ pub fn is_rule_disabled_by_comment(content: &str, rule_name: &str) -> bool {
332
310
  is_rule_disabled_at_line(content, rule_name, lines.len())
333
311
  }
334
312
 
313
+ // DocumentStructure has been merged into LintContext - these traits are no longer needed
314
+ // The functionality is now directly available through LintContext methods
315
+ /*
335
316
  // Helper trait for dynamic dispatch to check_with_structure
336
317
  pub trait MaybeDocumentStructure {
337
318
  fn check_with_structure_opt(
@@ -363,6 +344,7 @@ impl MaybeDocumentStructure for dyn Rule {
363
344
  None
364
345
  }
365
346
  }
347
+ */
366
348
 
367
349
  // Helper trait for dynamic dispatch to check_with_ast
368
350
  pub trait MaybeAst {
@@ -187,10 +187,6 @@ impl Rule for MD001HeadingIncrement {
187
187
  self
188
188
  }
189
189
 
190
- fn as_maybe_document_structure(&self) -> Option<&dyn crate::rule::MaybeDocumentStructure> {
191
- None
192
- }
193
-
194
190
  fn from_config(_config: &crate::config::Config) -> Box<dyn Rule>
195
191
  where
196
192
  Self: Sized,
@@ -289,10 +289,6 @@ impl Rule for MD002FirstHeadingH1 {
289
289
  self
290
290
  }
291
291
 
292
- fn as_maybe_document_structure(&self) -> Option<&dyn crate::rule::MaybeDocumentStructure> {
293
- None
294
- }
295
-
296
292
  fn default_config_section(&self) -> Option<(String, toml::Value)> {
297
293
  let default_config = MD002Config::default();
298
294
  let json_value = serde_json::to_value(&default_config).ok()?;
@@ -250,10 +250,6 @@ impl Rule for MD003HeadingStyle {
250
250
  self
251
251
  }
252
252
 
253
- fn as_maybe_document_structure(&self) -> Option<&dyn crate::rule::MaybeDocumentStructure> {
254
- None
255
- }
256
-
257
253
  fn default_config_section(&self) -> Option<(String, toml::Value)> {
258
254
  let default_config = MD003Config::default();
259
255
  let json_value = serde_json::to_value(&default_config).ok()?;
@@ -50,7 +50,6 @@ use crate::LintContext;
50
50
  ///
51
51
  /// Consistent list markers improve readability and reduce distraction, especially in large documents or when collaborating with others. This rule helps enforce a uniform style across all unordered lists.
52
52
  use crate::rule::{Fix, LintError, LintResult, LintWarning, Rule, RuleCategory, Severity};
53
- use crate::utils::document_structure::DocumentStructureExtensions;
54
53
  use toml;
55
54
 
56
55
  mod md004_config;
@@ -98,10 +97,6 @@ impl Rule for MD004UnorderedListStyle {
98
97
  "Use consistent style for unordered list markers"
99
98
  }
100
99
 
101
- fn as_maybe_document_structure(&self) -> Option<&dyn crate::rule::MaybeDocumentStructure> {
102
- Some(self)
103
- }
104
-
105
100
  fn check(&self, ctx: &LintContext) -> LintResult {
106
101
  // Early returns for performance
107
102
  if ctx.content.is_empty() {
@@ -358,17 +353,6 @@ impl Rule for MD004UnorderedListStyle {
358
353
  }
359
354
  }
360
355
 
361
- impl DocumentStructureExtensions for MD004UnorderedListStyle {
362
- fn has_relevant_elements(
363
- &self,
364
- ctx: &crate::lint_context::LintContext,
365
- _doc_structure: &crate::utils::document_structure::DocumentStructure,
366
- ) -> bool {
367
- // Quick check for any list markers and unordered list blocks
368
- ctx.content.contains(['*', '-', '+']) && ctx.list_blocks.iter().any(|block| !block.is_ordered)
369
- }
370
- }
371
-
372
356
  #[cfg(test)]
373
357
  mod tests {
374
358
  use super::*;
@@ -6,7 +6,6 @@
6
6
  use crate::utils::range_utils::{LineIndex, calculate_match_range};
7
7
 
8
8
  use crate::rule::{Fix, LintError, LintResult, LintWarning, Rule, RuleCategory, Severity};
9
- use crate::utils::document_structure::DocumentStructure;
10
9
  // No regex patterns needed for this rule
11
10
  use std::collections::HashMap;
12
11
  use toml;
@@ -559,29 +558,10 @@ impl Rule for MD005ListIndent {
559
558
  ctx.content.is_empty() || !ctx.lines.iter().any(|line| line.list_item.is_some())
560
559
  }
561
560
 
562
- /// Optimized check using document structure
563
- fn check_with_structure(
564
- &self,
565
- ctx: &crate::lint_context::LintContext,
566
- structure: &DocumentStructure,
567
- ) -> LintResult {
568
- // If no lists in structure, return early
569
- if structure.list_lines.is_empty() {
570
- return Ok(Vec::new());
571
- }
572
-
573
- // Use optimized check - it's already efficient enough
574
- self.check_optimized(ctx)
575
- }
576
-
577
561
  fn as_any(&self) -> &dyn std::any::Any {
578
562
  self
579
563
  }
580
564
 
581
- fn as_maybe_document_structure(&self) -> Option<&dyn crate::rule::MaybeDocumentStructure> {
582
- Some(self)
583
- }
584
-
585
565
  fn default_config_section(&self) -> Option<(String, toml::Value)> {
586
566
  None
587
567
  }
@@ -627,21 +607,10 @@ impl Rule for MD005ListIndent {
627
607
  }
628
608
  }
629
609
 
630
- impl crate::utils::document_structure::DocumentStructureExtensions for MD005ListIndent {
631
- fn has_relevant_elements(
632
- &self,
633
- _ctx: &crate::lint_context::LintContext,
634
- doc_structure: &crate::utils::document_structure::DocumentStructure,
635
- ) -> bool {
636
- !doc_structure.list_lines.is_empty()
637
- }
638
- }
639
-
640
610
  #[cfg(test)]
641
611
  mod tests {
642
612
  use super::*;
643
613
  use crate::lint_context::LintContext;
644
- use crate::utils::document_structure::DocumentStructureExtensions;
645
614
 
646
615
  #[test]
647
616
  fn test_valid_unordered_list() {
@@ -796,28 +765,25 @@ Even more text";
796
765
  }
797
766
 
798
767
  #[test]
799
- fn test_with_document_structure() {
768
+ fn test_with_lint_context() {
800
769
  let rule = MD005ListIndent::default();
801
770
 
802
771
  // Test with consistent list indentation
803
772
  let content = "* Item 1\n* Item 2\n * Nested item\n * Another nested item";
804
- let structure = DocumentStructure::new(content);
805
773
  let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
806
- let result = rule.check_with_structure(&ctx, &structure).unwrap();
774
+ let result = rule.check(&ctx).unwrap();
807
775
  assert!(result.is_empty());
808
776
 
809
777
  // Test with inconsistent list indentation
810
778
  let content = "* Item 1\n* Item 2\n * Nested item\n * Another nested item";
811
- let structure = DocumentStructure::new(content);
812
779
  let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
813
- let result = rule.check_with_structure(&ctx, &structure).unwrap();
780
+ let result = rule.check(&ctx).unwrap();
814
781
  assert!(!result.is_empty()); // Should have at least one warning
815
782
 
816
783
  // Test with different level indentation issues
817
784
  let content = "* Item 1\n * Nested item\n * Another nested item with wrong indent";
818
- let structure = DocumentStructure::new(content);
819
785
  let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
820
- let result = rule.check_with_structure(&ctx, &structure).unwrap();
786
+ let result = rule.check(&ctx).unwrap();
821
787
  assert!(!result.is_empty()); // Should have at least one warning
822
788
  }
823
789
 
@@ -1007,17 +973,15 @@ Even more text";
1007
973
  }
1008
974
 
1009
975
  #[test]
1010
- fn test_has_relevant_elements() {
976
+ fn test_should_skip_validation() {
1011
977
  let rule = MD005ListIndent::default();
1012
978
  let content = "* List item";
1013
979
  let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
1014
- let doc_structure = DocumentStructure::new(content);
1015
- assert!(rule.has_relevant_elements(&ctx, &doc_structure));
980
+ assert!(!rule.should_skip(&ctx));
1016
981
 
1017
982
  let content = "No lists here";
1018
983
  let ctx = LintContext::new(content, crate::config::MarkdownFlavor::Standard);
1019
- let doc_structure = DocumentStructure::new(content);
1020
- assert!(!rule.has_relevant_elements(&ctx, &doc_structure));
984
+ assert!(rule.should_skip(&ctx));
1021
985
  }
1022
986
 
1023
987
  #[test]