rumdl 0.0.159__tar.gz → 0.0.160__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.159 → rumdl-0.0.160}/CHANGELOG.md +17 -0
  2. {rumdl-0.0.159 → rumdl-0.0.160}/Cargo.lock +1 -1
  3. {rumdl-0.0.159 → rumdl-0.0.160}/Cargo.toml +1 -1
  4. {rumdl-0.0.159 → rumdl-0.0.160}/PKG-INFO +1 -1
  5. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md007.md +5 -5
  6. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md009.md +1 -1
  7. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md010.md +1 -1
  8. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md013.md +17 -17
  9. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md022.md +2 -2
  10. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md024.md +2 -2
  11. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md025.md +1 -1
  12. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md030.md +4 -4
  13. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md031.md +1 -1
  14. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md033.md +2 -2
  15. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md041.md +2 -2
  16. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md043.md +1 -1
  17. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md044.md +3 -3
  18. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md045.md +2 -2
  19. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md053.md +2 -2
  20. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md058.md +4 -4
  21. {rumdl-0.0.159 → rumdl-0.0.160}/rumdl.toml.example +1 -1
  22. {rumdl-0.0.159 → rumdl-0.0.160}/src/config.rs +2 -2
  23. {rumdl-0.0.159 → rumdl-0.0.160}/src/main.rs +14 -14
  24. {rumdl-0.0.159 → rumdl-0.0.160}/src/rule_config_serde.rs +50 -1
  25. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md007_ul_indent/md007_config.rs +31 -2
  26. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md009_trailing_spaces/md009_config.rs +29 -2
  27. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md010_no_hard_tabs/md010_config.rs +1 -1
  28. rumdl-0.0.160/src/rules/md013_line_length/md013_config.rs +197 -0
  29. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md022_blanks_around_headings/md022_config.rs +34 -3
  30. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md024_no_duplicate_heading/md024_config.rs +2 -2
  31. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md025_single_title/md025_config.rs +3 -3
  32. rumdl-0.0.160/src/rules/md030_list_marker_space/md030_config.rs +77 -0
  33. rumdl-0.0.160/src/rules/md044_proper_names/md044_config.rs +89 -0
  34. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md044_proper_names.rs +2 -2
  35. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/anchor_styles/mod.rs +9 -3
  36. {rumdl-0.0.159 → rumdl-0.0.160}/tests/init_command_test.rs +51 -0
  37. {rumdl-0.0.159 → rumdl-0.0.160}/tests/pyproject_config_tests.rs +78 -0
  38. {rumdl-0.0.159 → rumdl-0.0.160}/tests/schema_validation_test.rs +1 -1
  39. rumdl-0.0.159/src/rules/md013_line_length/md013_config.rs +0 -82
  40. rumdl-0.0.159/src/rules/md030_list_marker_space/md030_config.rs +0 -42
  41. rumdl-0.0.159/src/rules/md044_proper_names/md044_config.rs +0 -36
  42. {rumdl-0.0.159 → rumdl-0.0.160}/.config/nextest.toml +0 -0
  43. {rumdl-0.0.159 → rumdl-0.0.160}/.mise.toml +0 -0
  44. {rumdl-0.0.159 → rumdl-0.0.160}/.pre-commit-config.yaml +0 -0
  45. {rumdl-0.0.159 → rumdl-0.0.160}/.rumdl.toml +0 -0
  46. {rumdl-0.0.159 → rumdl-0.0.160}/.rustfmt.toml +0 -0
  47. {rumdl-0.0.159 → rumdl-0.0.160}/LICENSE +0 -0
  48. {rumdl-0.0.159 → rumdl-0.0.160}/MANIFEST.in +0 -0
  49. {rumdl-0.0.159 → rumdl-0.0.160}/Makefile +0 -0
  50. {rumdl-0.0.159 → rumdl-0.0.160}/README.md +0 -0
  51. {rumdl-0.0.159 → rumdl-0.0.160}/assets/logo.png +0 -0
  52. {rumdl-0.0.159 → rumdl-0.0.160}/benches/fix_performance.rs +0 -0
  53. {rumdl-0.0.159 → rumdl-0.0.160}/benches/range_performance.rs +0 -0
  54. {rumdl-0.0.159 → rumdl-0.0.160}/benches/range_utils_benchmark.rs +0 -0
  55. {rumdl-0.0.159 → rumdl-0.0.160}/benches/rule_performance.rs +0 -0
  56. {rumdl-0.0.159 → rumdl-0.0.160}/benches/simple_fix_bench.rs +0 -0
  57. {rumdl-0.0.159 → rumdl-0.0.160}/benchmark/bin/bench_lint_context.rs +0 -0
  58. {rumdl-0.0.159 → rumdl-0.0.160}/benchmark/bin/benchmark.rs +0 -0
  59. {rumdl-0.0.159 → rumdl-0.0.160}/benchmark/bin/benchmark_rule.rs +0 -0
  60. {rumdl-0.0.159 → rumdl-0.0.160}/benchmark/bin/file_parallel_benchmark.rs +0 -0
  61. {rumdl-0.0.159 → rumdl-0.0.160}/benchmark/bin/measure_code_span_performance.rs +0 -0
  62. {rumdl-0.0.159 → rumdl-0.0.160}/docs/LINTCONTEXT_OPTIMIZATION_PLAN.md +0 -0
  63. {rumdl-0.0.159 → rumdl-0.0.160}/docs/LINTCONTEXT_OPTIMIZATION_SUMMARY.md +0 -0
  64. {rumdl-0.0.159 → rumdl-0.0.160}/docs/LINTCONTEXT_PERFORMANCE_ANALYSIS.md +0 -0
  65. {rumdl-0.0.159 → rumdl-0.0.160}/docs/PHASE_2_OPTIMIZATION_COMPLETE.md +0 -0
  66. {rumdl-0.0.159 → rumdl-0.0.160}/docs/PHASE_3_OPTIMIZATION_COMPLETE.md +0 -0
  67. {rumdl-0.0.159 → rumdl-0.0.160}/docs/RULES.md +0 -0
  68. {rumdl-0.0.159 → rumdl-0.0.160}/docs/global-settings.md +0 -0
  69. {rumdl-0.0.159 → rumdl-0.0.160}/docs/inline-configuration.md +0 -0
  70. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md001.md +0 -0
  71. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md002.md +0 -0
  72. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md003.md +0 -0
  73. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md004.md +0 -0
  74. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md005.md +0 -0
  75. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md006.md +0 -0
  76. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md011.md +0 -0
  77. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md012.md +0 -0
  78. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md014.md +0 -0
  79. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md018.md +0 -0
  80. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md019.md +0 -0
  81. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md020.md +0 -0
  82. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md021.md +0 -0
  83. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md023.md +0 -0
  84. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md026.md +0 -0
  85. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md027.md +0 -0
  86. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md028.md +0 -0
  87. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md029.md +0 -0
  88. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md032.md +0 -0
  89. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md034.md +0 -0
  90. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md035.md +0 -0
  91. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md036.md +0 -0
  92. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md037.md +0 -0
  93. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md038.md +0 -0
  94. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md039.md +0 -0
  95. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md040.md +0 -0
  96. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md042.md +0 -0
  97. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md046.md +0 -0
  98. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md047.md +0 -0
  99. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md048.md +0 -0
  100. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md049.md +0 -0
  101. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md050.md +0 -0
  102. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md051.md +0 -0
  103. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md052.md +0 -0
  104. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md054.md +0 -0
  105. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md055.md +0 -0
  106. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md056.md +0 -0
  107. {rumdl-0.0.159 → rumdl-0.0.160}/docs/md057.md +0 -0
  108. {rumdl-0.0.159 → rumdl-0.0.160}/docs/schemastore-submission.md +0 -0
  109. {rumdl-0.0.159 → rumdl-0.0.160}/docs/vscode-extension.md +0 -0
  110. {rumdl-0.0.159 → rumdl-0.0.160}/parity_check.py +0 -0
  111. {rumdl-0.0.159 → rumdl-0.0.160}/pyproject.toml +0 -0
  112. {rumdl-0.0.159 → rumdl-0.0.160}/rumdl/__init__.py +0 -0
  113. {rumdl-0.0.159 → rumdl-0.0.160}/rumdl/__main__.py +0 -0
  114. {rumdl-0.0.159 → rumdl-0.0.160}/rumdl/py.typed +0 -0
  115. {rumdl-0.0.159 → rumdl-0.0.160}/rumdl.schema.json +0 -0
  116. {rumdl-0.0.159 → rumdl-0.0.160}/rust-toolchain.toml +0 -0
  117. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/extract-changelog.sh +0 -0
  118. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/generate-downloads-table.sh +0 -0
  119. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/pre-release.sh +0 -0
  120. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/prepare-release.sh +0 -0
  121. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/setup-pre-commit.sh +0 -0
  122. {rumdl-0.0.159 → rumdl-0.0.160}/scripts/update-pre-commit-docs.sh +0 -0
  123. {rumdl-0.0.159 → rumdl-0.0.160}/src/exit_codes.rs +0 -0
  124. {rumdl-0.0.159 → rumdl-0.0.160}/src/file_processor.rs +0 -0
  125. {rumdl-0.0.159 → rumdl-0.0.160}/src/fix_coordinator.rs +0 -0
  126. {rumdl-0.0.159 → rumdl-0.0.160}/src/formatter.rs +0 -0
  127. {rumdl-0.0.159 → rumdl-0.0.160}/src/inline_config.rs +0 -0
  128. {rumdl-0.0.159 → rumdl-0.0.160}/src/lib.rs +0 -0
  129. {rumdl-0.0.159 → rumdl-0.0.160}/src/lint_context.rs +0 -0
  130. {rumdl-0.0.159 → rumdl-0.0.160}/src/lsp/mod.rs +0 -0
  131. {rumdl-0.0.159 → rumdl-0.0.160}/src/lsp/server.rs +0 -0
  132. {rumdl-0.0.159 → rumdl-0.0.160}/src/lsp/types.rs +0 -0
  133. {rumdl-0.0.159 → rumdl-0.0.160}/src/markdownlint_config.rs +0 -0
  134. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/azure.rs +0 -0
  135. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/concise.rs +0 -0
  136. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/github.rs +0 -0
  137. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/gitlab.rs +0 -0
  138. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/grouped.rs +0 -0
  139. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/json.rs +0 -0
  140. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/json_lines.rs +0 -0
  141. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/junit.rs +0 -0
  142. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/mod.rs +0 -0
  143. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/pylint.rs +0 -0
  144. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/sarif.rs +0 -0
  145. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/formatters/text.rs +0 -0
  146. {rumdl-0.0.159 → rumdl-0.0.160}/src/output/mod.rs +0 -0
  147. {rumdl-0.0.159 → rumdl-0.0.160}/src/parallel.rs +0 -0
  148. {rumdl-0.0.159 → rumdl-0.0.160}/src/performance.rs +0 -0
  149. {rumdl-0.0.159 → rumdl-0.0.160}/src/profiling.rs +0 -0
  150. {rumdl-0.0.159 → rumdl-0.0.160}/src/rule.rs +0 -0
  151. {rumdl-0.0.159 → rumdl-0.0.160}/src/rule_config.rs +0 -0
  152. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/blockquote_utils.rs +0 -0
  153. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/code_block_utils.rs +0 -0
  154. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/code_fence_utils.rs +0 -0
  155. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/emphasis_style.rs +0 -0
  156. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/front_matter_utils.rs +0 -0
  157. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/heading_utils.rs +0 -0
  158. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/list_utils.rs +0 -0
  159. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md001_heading_increment.rs +0 -0
  160. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  161. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md002_first_heading_h1.rs +0 -0
  162. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md003_heading_style/md003_config.rs +0 -0
  163. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md003_heading_style.rs +0 -0
  164. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  165. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md004_unordered_list_style.rs +0 -0
  166. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md005_list_indent.rs +0 -0
  167. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md006_start_bullets.rs +0 -0
  168. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md007_ul_indent.rs +0 -0
  169. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md009_trailing_spaces.rs +0 -0
  170. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md010_no_hard_tabs.rs +0 -0
  171. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md011_no_reversed_links.rs +0 -0
  172. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  173. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md012_no_multiple_blanks.rs +0 -0
  174. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md013_line_length.rs +0 -0
  175. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  176. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md014_commands_show_output.rs +0 -0
  177. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md018_no_missing_space_atx.rs +0 -0
  178. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  179. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  180. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  181. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md022_blanks_around_headings.rs +0 -0
  182. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md023_heading_start_left.rs +0 -0
  183. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md024_no_duplicate_heading.rs +0 -0
  184. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md025_single_title.rs +0 -0
  185. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  186. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  187. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  188. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  189. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
  190. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md029_ordered_list_prefix.rs +0 -0
  191. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md030_list_marker_space.rs +0 -0
  192. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md031_blanks_around_fences.rs +0 -0
  193. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md032_blanks_around_lists.rs +0 -0
  194. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  195. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md033_no_inline_html.rs +0 -0
  196. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md034_no_bare_urls.rs +0 -0
  197. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md035_hr_style/md035_config.rs +0 -0
  198. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md035_hr_style.rs +0 -0
  199. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  200. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  201. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  202. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md038_no_space_in_code.rs +0 -0
  203. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md039_no_space_in_links.rs +0 -0
  204. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md040_fenced_code_language.rs +0 -0
  205. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md041_first_line_heading.rs +0 -0
  206. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md042_no_empty_links.rs +0 -0
  207. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md043_required_headings.rs +0 -0
  208. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  209. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md045_no_alt_text.rs +0 -0
  210. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  211. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md046_code_block_style.rs +0 -0
  212. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md047_single_trailing_newline.rs +0 -0
  213. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  214. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md048_code_fence_style.rs +0 -0
  215. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  216. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md049_emphasis_style.rs +0 -0
  217. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md050_strong_style/md050_config.rs +0 -0
  218. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md050_strong_style.rs +0 -0
  219. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md051_link_fragments.rs +0 -0
  220. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md052_reference_links_images.rs +0 -0
  221. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md053_link_image_reference_definitions.rs +0 -0
  222. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  223. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md054_link_image_style.rs +0 -0
  224. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  225. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md055_table_pipe_style.rs +0 -0
  226. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md056_table_column_count.rs +0 -0
  227. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  228. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md057_existing_relative_links.rs +0 -0
  229. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/md058_blanks_around_tables.rs +0 -0
  230. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/mod.rs +0 -0
  231. {rumdl-0.0.159 → rumdl-0.0.160}/src/rules/strong_style.rs +0 -0
  232. {rumdl-0.0.159 → rumdl-0.0.160}/src/stdin_processor.rs +0 -0
  233. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/anchor_styles/github.rs +0 -0
  234. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/anchor_styles/jekyll.rs +0 -0
  235. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/anchor_styles/kramdown.rs +0 -0
  236. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
  237. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/ast_utils.rs +0 -0
  238. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/code_block_utils.rs +0 -0
  239. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/document_structure.rs +0 -0
  240. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/early_returns.rs +0 -0
  241. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/element_cache.rs +0 -0
  242. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/emphasis_utils.rs +0 -0
  243. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/fix_utils.rs +0 -0
  244. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/header_id_utils.rs +0 -0
  245. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/jinja_utils.rs +0 -0
  246. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/kramdown_utils.rs +0 -0
  247. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/line_ending.rs +0 -0
  248. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/markdown_elements.rs +0 -0
  249. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_admonitions.rs +0 -0
  250. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_common.rs +0 -0
  251. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_critic.rs +0 -0
  252. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_footnotes.rs +0 -0
  253. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_patterns.rs +0 -0
  254. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_snippets.rs +0 -0
  255. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_tabs.rs +0 -0
  256. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocs_test_utils.rs +0 -0
  257. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mkdocstrings_refs.rs +0 -0
  258. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/mod.rs +0 -0
  259. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/range_utils.rs +0 -0
  260. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/regex_cache.rs +0 -0
  261. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/skip_context.rs +0 -0
  262. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/string_interner.rs +0 -0
  263. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/table_utils.rs +0 -0
  264. {rumdl-0.0.159 → rumdl-0.0.160}/src/utils/text_reflow.rs +0 -0
  265. {rumdl-0.0.159 → rumdl-0.0.160}/src/vscode.rs +0 -0
  266. {rumdl-0.0.159 → rumdl-0.0.160}/src/watch.rs +0 -0
  267. {rumdl-0.0.159 → rumdl-0.0.160}/tests/advanced_integration_tests.rs +0 -0
  268. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/additional_tests.rs +0 -0
  269. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/basic_tests.rs +0 -0
  270. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/comprehensive_tests.rs +0 -0
  271. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/extended_tests.rs +0 -0
  272. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/mod.rs +0 -0
  273. {rumdl-0.0.159 → rumdl-0.0.160}/tests/character_ranges/unicode_utils.rs +0 -0
  274. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_duplication_test.rs +0 -0
  275. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_explain_test.rs +0 -0
  276. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_flag_precedence_test.rs +0 -0
  277. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_integration_tests.rs +0 -0
  278. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_lsp_fix_consistency.rs +0 -0
  279. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cli_statistics_test.rs +0 -0
  280. {rumdl-0.0.159 → rumdl-0.0.160}/tests/code_block_blockquote_edge_cases.rs +0 -0
  281. {rumdl-0.0.159 → rumdl-0.0.160}/tests/common/cli_test_utils.rs +0 -0
  282. {rumdl-0.0.159 → rumdl-0.0.160}/tests/common/fixtures.rs +0 -0
  283. {rumdl-0.0.159 → rumdl-0.0.160}/tests/common/mod.rs +0 -0
  284. {rumdl-0.0.159 → rumdl-0.0.160}/tests/common/test_utils.rs +0 -0
  285. {rumdl-0.0.159 → rumdl-0.0.160}/tests/commonmark_compliance_tests.rs +0 -0
  286. {rumdl-0.0.159 → rumdl-0.0.160}/tests/comprehensive_integration_tests.rs +0 -0
  287. {rumdl-0.0.159 → rumdl-0.0.160}/tests/comprehensive_output_format_tests.rs +0 -0
  288. {rumdl-0.0.159 → rumdl-0.0.160}/tests/config_application_tests.rs +0 -0
  289. {rumdl-0.0.159 → rumdl-0.0.160}/tests/config_file_command_test.rs +0 -0
  290. {rumdl-0.0.159 → rumdl-0.0.160}/tests/config_tests.rs +0 -0
  291. {rumdl-0.0.159 → rumdl-0.0.160}/tests/config_upward_traversal_test.rs +0 -0
  292. {rumdl-0.0.159 → rumdl-0.0.160}/tests/configuration_inheritance_tests.rs +0 -0
  293. {rumdl-0.0.159 → rumdl-0.0.160}/tests/consistency_regression_tests.rs +0 -0
  294. {rumdl-0.0.159 → rumdl-0.0.160}/tests/crlf_line_endings_test.rs +0 -0
  295. {rumdl-0.0.159 → rumdl-0.0.160}/tests/cross_platform_compatibility_tests.rs +0 -0
  296. {rumdl-0.0.159 → rumdl-0.0.160}/tests/deeply_nested_lists_performance_test.rs +0 -0
  297. {rumdl-0.0.159 → rumdl-0.0.160}/tests/escaped_brackets_test.rs +0 -0
  298. {rumdl-0.0.159 → rumdl-0.0.160}/tests/exclude_with_explicit_paths_test.rs +0 -0
  299. {rumdl-0.0.159 → rumdl-0.0.160}/tests/final_confidence_assessment.rs +0 -0
  300. {rumdl-0.0.159 → rumdl-0.0.160}/tests/fix_counting_test.rs +0 -0
  301. {rumdl-0.0.159 → rumdl-0.0.160}/tests/fix_performance_baseline_test.rs +0 -0
  302. {rumdl-0.0.159 → rumdl-0.0.160}/tests/fixable_unfixable_config_test.rs +0 -0
  303. {rumdl-0.0.159 → rumdl-0.0.160}/tests/init_tests.rs +0 -0
  304. {rumdl-0.0.159 → rumdl-0.0.160}/tests/inline_config_blocks_test.rs +0 -0
  305. {rumdl-0.0.159 → rumdl-0.0.160}/tests/inline_config_test.rs +0 -0
  306. {rumdl-0.0.159 → rumdl-0.0.160}/tests/integration_tests.rs +0 -0
  307. {rumdl-0.0.159 → rumdl-0.0.160}/tests/json_output_test.rs +0 -0
  308. {rumdl-0.0.159 → rumdl-0.0.160}/tests/kramdown_integration_test.rs +0 -0
  309. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lib.rs +0 -0
  310. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_editor_integration_tests.rs +0 -0
  311. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_formatting_tests.rs +0 -0
  312. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_initialization_options_test.rs +0 -0
  313. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_integration_tests.rs +0 -0
  314. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_memory_leak_tests.rs +0 -0
  315. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_mkdocs_flavor_test.rs +0 -0
  316. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_tests.rs +0 -0
  317. {rumdl-0.0.159 → rumdl-0.0.160}/tests/lsp_unopened_document_test.rs +0 -0
  318. {rumdl-0.0.159 → rumdl-0.0.160}/tests/malformed_markdown_stress_tests.rs +0 -0
  319. {rumdl-0.0.159 → rumdl-0.0.160}/tests/markdownlint_cli_integration.rs +0 -0
  320. {rumdl-0.0.159 → rumdl-0.0.160}/tests/markdownlint_config_test.rs +0 -0
  321. {rumdl-0.0.159 → rumdl-0.0.160}/tests/markdownlintignore_test.rs +0 -0
  322. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md009_md013_integration_test.rs +0 -0
  323. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md009_md013_order_test.rs +0 -0
  324. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md013_hard_breaks_test.rs +0 -0
  325. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md013_reflow_integration_test.rs +0 -0
  326. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md032_edge_cases_test.rs +0 -0
  327. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md032_ordered_list_bug_test.rs +0 -0
  328. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md033_edge_cases_test.rs +0 -0
  329. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md037_xxxx_regression_test.rs +0 -0
  330. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md038_false_positive_test.rs +0 -0
  331. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md051_issue_39_regression_test.rs +0 -0
  332. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md051_readme_bug_test.rs +0 -0
  333. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md051_toc_bug_test.rs +0 -0
  334. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md052_literal_brackets_test.rs +0 -0
  335. {rumdl-0.0.159 → rumdl-0.0.160}/tests/md054_code_span_test.rs +0 -0
  336. {rumdl-0.0.159 → rumdl-0.0.160}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
  337. {rumdl-0.0.159 → rumdl-0.0.160}/tests/mkdocs_anchor_test.rs +0 -0
  338. {rumdl-0.0.159 → rumdl-0.0.160}/tests/nested_code_block_test.rs +0 -0
  339. {rumdl-0.0.159 → rumdl-0.0.160}/tests/output_format_integration_tests.rs +0 -0
  340. {rumdl-0.0.159 → rumdl-0.0.160}/tests/output_format_tests.rs +0 -0
  341. {rumdl-0.0.159 → rumdl-0.0.160}/tests/per_file_ignores_integration_test.rs +0 -0
  342. {rumdl-0.0.159 → rumdl-0.0.160}/tests/perf_check.rs +0 -0
  343. {rumdl-0.0.159 → rumdl-0.0.160}/tests/performance_validation_tests.rs +0 -0
  344. {rumdl-0.0.159 → rumdl-0.0.160}/tests/real_world_repository_tests.rs +0 -0
  345. {rumdl-0.0.159 → rumdl-0.0.160}/tests/regression_prevention_tests.rs +0 -0
  346. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  347. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/heading_edge_cases_test.rs +0 -0
  348. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  349. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/link_edge_cases_test.rs +0 -0
  350. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/list_rules_integration_test.rs +0 -0
  351. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md001_test.rs +0 -0
  352. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md001_unicode_test.rs +0 -0
  353. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md002_test.rs +0 -0
  354. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md003_test.rs +0 -0
  355. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md004_test.rs +0 -0
  356. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md005_dynamic_indent_test.rs +0 -0
  357. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md005_test.rs +0 -0
  358. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md005_unicode_test.rs +0 -0
  359. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md006_test.rs +0 -0
  360. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md006_unicode_test.rs +0 -0
  361. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md007_test.rs +0 -0
  362. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md009_test.rs +0 -0
  363. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md010_test.rs +0 -0
  364. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md011_test.rs +0 -0
  365. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md012_test.rs +0 -0
  366. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md013_test.rs +0 -0
  367. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md014_test.rs +0 -0
  368. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md018_test.rs +0 -0
  369. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md019_test.rs +0 -0
  370. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md020_test.rs +0 -0
  371. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md021_test.rs +0 -0
  372. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md022_test.rs +0 -0
  373. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md023_extended_test.rs +0 -0
  374. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md023_test.rs +0 -0
  375. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md024_test.rs +0 -0
  376. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md025_test.rs +0 -0
  377. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md026_kramdown_test.rs +0 -0
  378. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md026_test.rs +0 -0
  379. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md027_test.rs +0 -0
  380. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md028_md009_interaction_test.rs +0 -0
  381. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md028_test.rs +0 -0
  382. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_code_block_separation_test.rs +0 -0
  383. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_fix_test.rs +0 -0
  384. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_issue42_test.rs +0 -0
  385. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
  386. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
  387. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_test.rs +0 -0
  388. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md029_unicode_test.rs +0 -0
  389. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md030_test.rs +0 -0
  390. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md031_kramdown_test.rs +0 -0
  391. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md031_test.rs +0 -0
  392. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md032_test.rs +0 -0
  393. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md033_blockquote_test.rs +0 -0
  394. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md033_extended_test.rs +0 -0
  395. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md033_kramdown_test.rs +0 -0
  396. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md033_test.rs +0 -0
  397. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md034_ipv6_test.rs +0 -0
  398. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md034_test.rs +0 -0
  399. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md035_test.rs +0 -0
  400. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md036_test.rs +0 -0
  401. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md037_kramdown_test.rs +0 -0
  402. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md037_test.rs +0 -0
  403. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md038_nested_backticks_test.rs +0 -0
  404. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md038_test.rs +0 -0
  405. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md039_test.rs +0 -0
  406. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md040_test.rs +0 -0
  407. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md041_test.rs +0 -0
  408. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md042_test.rs +0 -0
  409. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md043_test.rs +0 -0
  410. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md044_test.rs +0 -0
  411. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md045_test.rs +0 -0
  412. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md046_test.rs +0 -0
  413. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md047_test.rs +0 -0
  414. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md048_test.rs +0 -0
  415. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md049_test.rs +0 -0
  416. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md050_test.rs +0 -0
  417. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_comprehensive_test.rs +0 -0
  418. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
  419. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_edge_cases_test.rs +0 -0
  420. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_issue_39_regression_test.rs +0 -0
  421. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
  422. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_property_based_test.rs +0 -0
  423. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_regression_prevention_test.rs +0 -0
  424. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_test.rs +0 -0
  425. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md051_unicode_security_test.rs +0 -0
  426. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md052_test.rs +0 -0
  427. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md053_additional_test.rs +0 -0
  428. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md053_proptest.rs +0 -0
  429. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md053_test.rs +0 -0
  430. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md054_test.rs +0 -0
  431. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md054_unicode_test.rs +0 -0
  432. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md055_test.rs +0 -0
  433. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md056_test.rs +0 -0
  434. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md057_test.rs +0 -0
  435. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md058_kramdown_test.rs +0 -0
  436. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/md058_test.rs +0 -0
  437. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/mkdocs_admonitions_test.rs +0 -0
  438. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
  439. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/mkdocs_extensions_test.rs +0 -0
  440. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/mkdocs_snippets_test.rs +0 -0
  441. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/mod.rs +0 -0
  442. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules/rule_interaction_test.rs +0 -0
  443. {rumdl-0.0.159 → rumdl-0.0.160}/tests/rules_mod_test.rs +0 -0
  444. {rumdl-0.0.159 → rumdl-0.0.160}/tests/sentence_per_line_test.rs +0 -0
  445. {rumdl-0.0.159 → rumdl-0.0.160}/tests/skip_context_tests.rs +0 -0
  446. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_ast_code_block_issue.rs +0 -0
  447. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_gfm_vs_default_parsing.rs +0 -0
  448. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_lint_context_flow.rs +0 -0
  449. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_list_ast_structure.rs +0 -0
  450. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_multiline_ast.rs +0 -0
  451. {rumdl-0.0.159 → rumdl-0.0.160}/tests/test_underscore_edge_cases.rs +0 -0
  452. {rumdl-0.0.159 → rumdl-0.0.160}/tests/thread_safety_tests.rs +0 -0
  453. {rumdl-0.0.159 → rumdl-0.0.160}/tests/unfixable_rules_test.rs +0 -0
  454. {rumdl-0.0.159 → rumdl-0.0.160}/tests/unicode_edge_case_tests.rs +0 -0
  455. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utf8_boundary_tests.rs +0 -0
  456. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/blockquote_utils_test.rs +0 -0
  457. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/code_block_utils_extended_test.rs +0 -0
  458. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/code_block_utils_test.rs +0 -0
  459. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/core_utils_test.rs +0 -0
  460. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/front_matter_utils_test.rs +0 -0
  461. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/line_index_test.rs +0 -0
  462. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils/mod.rs +0 -0
  463. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils_markdown_edge_cases.rs +0 -0
  464. {rumdl-0.0.159 → rumdl-0.0.160}/tests/utils_tests.rs +0 -0
  465. {rumdl-0.0.159 → rumdl-0.0.160}/tests/vscode_extension_fixes.rs +0 -0
  466. {rumdl-0.0.159 → rumdl-0.0.160}/tests/vscode_test.rs +0 -0
  467. {rumdl-0.0.159 → rumdl-0.0.160}/tests/vscode_tests.rs +0 -0
  468. {rumdl-0.0.159 → rumdl-0.0.160}/tests/vscode_windows_comprehensive_test.rs +0 -0
  469. {rumdl-0.0.159 → rumdl-0.0.160}/tests/vscode_windows_test.rs +0 -0
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.160] - 2025-10-15
11
+
12
+ ### Fixed
13
+
14
+ - **Configuration**: Fixed `rumdl init --pyproject` command to no longer create `.rumdl.toml` file
15
+ - The command now correctly only adds rumdl configuration to `pyproject.toml`
16
+ - Prevents confusion from having duplicate configuration files
17
+
18
+ - **MD044**: Corrected field name in templates and documentation
19
+ - Fixed inconsistency in proper names configuration
20
+ - Improved accuracy of documentation examples
21
+
22
+ - **Configuration System**: Added field aliases and validation warnings for all rules
23
+ - Better backwards compatibility with alternative field names
24
+ - Helpful warnings guide users to correct configuration syntax
25
+ - Improved user experience when migrating configurations
26
+
10
27
  ## [0.0.159] - 2025-10-14
11
28
 
12
29
  ### Added
@@ -1952,7 +1952,7 @@ dependencies = [
1952
1952
 
1953
1953
  [[package]]
1954
1954
  name = "rumdl"
1955
- version = "0.0.159"
1955
+ version = "0.0.160"
1956
1956
  dependencies = [
1957
1957
  "anyhow",
1958
1958
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.159"
3
+ version = "0.0.160"
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.159
3
+ Version: 0.0.160
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -57,8 +57,8 @@ Ensures nested list items are indented with exactly 2 spaces per level for consi
57
57
  ```yaml
58
58
  MD007:
59
59
  indent: 2 # Number of spaces per indentation level (default: 2)
60
- start_indented: false # Allow first level lists to start indented (default: false)
61
- start_indent: 2 # Number of spaces for first level when start_indented is true (default: 2)
60
+ start-indented: false # Allow first level lists to start indented (default: false)
61
+ start-indent: 2 # Number of spaces for first level when start_indented is true (default: 2)
62
62
  ```
63
63
 
64
64
  ### Configuration options explained
@@ -67,13 +67,13 @@ MD007:
67
67
  - `start_indented`: When `true`, allows the first level of lists to be indented instead of starting at column 0
68
68
  - `start_indent`: When `start_indented` is `true`, this specifies how many spaces the first level should be indented
69
69
 
70
- ### Example with start_indented: true
70
+ ### Example with start-indented: true
71
71
 
72
72
  ```yaml
73
73
  MD007:
74
74
  indent: 2
75
- start_indented: true
76
- start_indent: 4
75
+ start-indented: true
76
+ start-indent: 4
77
77
  ```
78
78
 
79
79
  With this configuration, the following is valid:
@@ -45,7 +45,7 @@ Clean and tidy now
45
45
 
46
46
  ```yaml
47
47
  MD009:
48
- br_spaces: 2 # Number of spaces for hard line breaks (default: 2)
48
+ br-spaces: 2 # Number of spaces for hard line breaks (default: 2)
49
49
  strict: false # Remove all trailing spaces, even line breaks (default: false)
50
50
  ```
51
51
 
@@ -63,7 +63,7 @@ Replaces tab characters with spaces to ensure consistent indentation across all
63
63
 
64
64
  ```yaml
65
65
  MD010:
66
- spaces_per_tab: 4 # Number of spaces to replace each tab with (default: 4)
66
+ spaces-per-tab: 4 # Number of spaces to replace each tab with (default: 4)
67
67
  ```
68
68
 
69
69
  ### Configuration options explained
@@ -47,16 +47,16 @@ and work with in various contexts.
47
47
 
48
48
  ```yaml
49
49
  MD013:
50
- line_length: 100 # Maximum characters per line (default: 80)
51
- code_blocks: false # Don't check code blocks (default: true)
50
+ line-length: 100 # Maximum characters per line (default: 80)
51
+ code-blocks: false # Don't check code blocks (default: true)
52
52
  tables: false # Don't check tables (default: true)
53
53
  headings: true # Check headings (default: true)
54
- heading_line_length: 120 # Different limit for headings (default: uses line_length)
55
- code_block_line_length: 150 # Different limit for code blocks (default: uses line_length)
54
+ heading-line-length: 120 # Different limit for headings (default: uses line_length)
55
+ code-block-line-length: 150 # Different limit for code blocks (default: uses line_length)
56
56
  stern: false # Stricter checking without exceptions (default: false)
57
57
  strict: false # Disables exceptions for URLs, etc. (default: false)
58
58
  reflow: false # Enable automatic text reflow/wrapping (default: false)
59
- reflow_mode: "default" # Reflow mode: "default", "normalize", or "sentence_per_line" (default: "default")
59
+ reflow-mode: "default" # Reflow mode: "default", "normalize", or "sentence-per-line" (default: "default")
60
60
  ```
61
61
 
62
62
  ### Configuration options explained
@@ -76,10 +76,10 @@ MD013:
76
76
 
77
77
  ```yaml
78
78
  MD013:
79
- line_length: 80
80
- heading_line_length: 100
81
- code_block_line_length: 120
82
- code_blocks: true
79
+ line-length: 80
80
+ heading-line-length: 100
81
+ code-block-line-length: 120
82
+ code-blocks: true
83
83
  headings: true
84
84
  ```
85
85
 
@@ -121,9 +121,9 @@ Standard text wrapping that breaks lines at word boundaries to fit within the co
121
121
 
122
122
  ```yaml
123
123
  MD013:
124
- line_length: 80
124
+ line-length: 80
125
125
  reflow: true
126
- reflow_mode: "default"
126
+ reflow-mode: "default"
127
127
  ```
128
128
 
129
129
  #### `normalize` mode
@@ -132,14 +132,14 @@ Normalizes all paragraph text to consistently wrap at the configured line length
132
132
 
133
133
  ```yaml
134
134
  MD013:
135
- line_length: 80
135
+ line-length: 80
136
136
  reflow: true
137
- reflow_mode: "normalize"
137
+ reflow-mode: "normalize"
138
138
  ```
139
139
 
140
140
  This mode is useful for standardizing documents with inconsistent line wrapping.
141
141
 
142
- #### `sentence_per_line` mode
142
+ #### `sentence-per-line` mode
143
143
 
144
144
  Enforces one sentence per line, making diffs cleaner and easier to review. This mode:
145
145
 
@@ -150,9 +150,9 @@ Enforces one sentence per line, making diffs cleaner and easier to review. This
150
150
 
151
151
  ```yaml
152
152
  MD013:
153
- line_length: 80
153
+ line-length: 80
154
154
  reflow: true
155
- reflow_mode: "sentence_per_line"
155
+ reflow-mode: "sentence-per-line"
156
156
  ```
157
157
 
158
158
  Example transformation:
@@ -177,7 +177,7 @@ This mode is particularly useful for:
177
177
 
178
178
  ```yaml
179
179
  MD013:
180
- line_length: 80
180
+ line-length: 80
181
181
  reflow: true
182
182
  ```
183
183
 
@@ -69,8 +69,8 @@ And even more content.
69
69
 
70
70
  ```yaml
71
71
  MD022:
72
- lines_above: 1 # Blank lines required above headings (default: 1)
73
- lines_below: 1 # Blank lines required below headings (default: 1)
72
+ lines-above: 1 # Blank lines required above headings (default: 1)
73
+ lines-below: 1 # Blank lines required below headings (default: 1)
74
74
  ```
75
75
 
76
76
  ## Automatic fixes
@@ -75,8 +75,8 @@ How to run the test suite...
75
75
 
76
76
  ```yaml
77
77
  MD024:
78
- allow_different_nesting: false # Allow duplicates at different levels (default: false)
79
- siblings_only: false # Only check siblings at same level (default: false)
78
+ allow-different-nesting: false # Allow duplicates at different levels (default: false)
79
+ siblings-only: false # Only check siblings at same level (default: false)
80
80
  ```
81
81
 
82
82
  ## Automatic fixes
@@ -58,7 +58,7 @@ More content here.
58
58
  ```yaml
59
59
  MD025:
60
60
  level: 1 # The heading level that should be unique (default: 1)
61
- front_matter_title: "title" # Name of the front matter title field (default: "title")
61
+ front-matter-title: "title" # Name of the front matter title field (default: "title")
62
62
  ```
63
63
 
64
64
  ## Automatic fixes
@@ -51,10 +51,10 @@ Ensures consistent spacing between list markers (bullets or numbers) and the tex
51
51
 
52
52
  ```yaml
53
53
  MD030:
54
- ul_single: 1 # Spaces after bullet for single-line items (default: 1)
55
- ol_single: 1 # Spaces after number for single-line items (default: 1)
56
- ul_multi: 1 # Spaces after bullet for multi-line items (default: 1)
57
- ol_multi: 1 # Spaces after number for multi-line items (default: 1)
54
+ ul-single: 1 # Spaces after bullet for single-line items (default: 1)
55
+ ol-single: 1 # Spaces after number for single-line items (default: 1)
56
+ ul-multi: 1 # Spaces after bullet for multi-line items (default: 1)
57
+ ol-multi: 1 # Spaces after number for multi-line items (default: 1)
58
58
  ```
59
59
 
60
60
  ## Automatic fixes
@@ -57,7 +57,7 @@ And here's more text after the code.
57
57
 
58
58
  ```yaml
59
59
  MD031:
60
- list_items: true # Also require blank lines in lists (default: true)
60
+ list-items: true # Also require blank lines in lists (default: true)
61
61
  ```
62
62
 
63
63
  ### Example with list_items
@@ -77,14 +77,14 @@ This is a paragraph with **bold** and *italic* text.
77
77
 
78
78
  ```yaml
79
79
  MD033:
80
- allowed_elements: [] # List of allowed HTML tags (default: none)
80
+ allowed-elements: [] # List of allowed HTML tags (default: none)
81
81
  ```
82
82
 
83
83
  ### Example allowing specific tags
84
84
 
85
85
  ```yaml
86
86
  MD033:
87
- allowed_elements: ["br", "hr", "details", "summary"]
87
+ allowed-elements: ["br", "hr", "details", "summary"]
88
88
  ```
89
89
 
90
90
  This would allow line breaks, horizontal rules, and collapsible sections while blocking other HTML.
@@ -68,8 +68,8 @@ First, install the dependencies...
68
68
  ```yaml
69
69
  MD041:
70
70
  level: 1 # Heading level required (1-6, default: 1)
71
- front_matter_title: "title" # Front matter field to use as title
72
- front_matter_title_pattern: "^(title|header):" # Regex pattern to match title fields in front matter
71
+ front-matter-title: "title" # Front matter field to use as title
72
+ front-matter-title-pattern: "^(title|header):" # Regex pattern to match title fields in front matter
73
73
  ```
74
74
 
75
75
  ## Automatic fixes
@@ -88,7 +88,7 @@ MD043:
88
88
  - "## Installation"
89
89
  - "## Usage"
90
90
  - "/## .*License/" # Regex patterns supported
91
- match_case: false # Case-sensitive matching (default: false)
91
+ match-case: false # Case-sensitive matching (default: false)
92
92
  ```
93
93
 
94
94
  ## Automatic fixes
@@ -60,9 +60,9 @@ MD044:
60
60
  - "GitHub"
61
61
  - "Node.js"
62
62
  - "npm" # Yes, npm is lowercase!
63
- code_blocks: false # Check inside code blocks (default: true)
64
- html_elements: true # Check inside HTML elements (default: true)
65
- html_comments: true # Check inside HTML comments (default: true)
63
+ code-blocks: false # Check inside code blocks (default: true)
64
+ html-elements: true # Check inside HTML elements (default: true)
65
+ html-comments: true # Check inside HTML comments (default: true)
66
66
  ```
67
67
 
68
68
  ## Automatic fixes
@@ -53,7 +53,7 @@ Ensures all images include alternative text (alt text) that describes the image
53
53
 
54
54
  ```yaml
55
55
  MD045:
56
- placeholder_text: "TODO: Add image description" # Text to insert for missing alt text
56
+ placeholder-text: "TODO: Add image description" # Text to insert for missing alt text
57
57
  ```
58
58
 
59
59
  ### Options
@@ -64,7 +64,7 @@ MD045:
64
64
 
65
65
  ```yaml
66
66
  MD045:
67
- placeholder_text: "FIXME: Add alt text"
67
+ placeholder-text: "FIXME: Add alt text"
68
68
  ```
69
69
 
70
70
  This would change the fix behavior to:
@@ -52,14 +52,14 @@ Check out [our website](https://example.com) directly.
52
52
 
53
53
  ```yaml
54
54
  MD053:
55
- ignored_definitions: [] # List of reference names to keep even if unused
55
+ ignored-definitions: [] # List of reference names to keep even if unused
56
56
  ```
57
57
 
58
58
  ### Example with ignored definitions
59
59
 
60
60
  ```yaml
61
61
  MD053:
62
- ignored_definitions: ["todo", "draft", "template"]
62
+ ignored-definitions: ["todo", "draft", "template"]
63
63
  ```
64
64
 
65
65
  This keeps reference definitions with names like "todo", "draft", or "template" even if they're not currently used.
@@ -54,16 +54,16 @@ As you can see, we have a diverse team.
54
54
 
55
55
  ```yaml
56
56
  MD058:
57
- minimum_before: 1 # Blank lines before table
58
- minimum_after: 1 # Blank lines after table
57
+ minimum-before: 1 # Blank lines before table
58
+ minimum-after: 1 # Blank lines after table
59
59
  ```
60
60
 
61
61
  ### Examples with different settings
62
62
 
63
63
  ```yaml
64
64
  MD058:
65
- minimum_before: 2 # Require 2 blank lines before
66
- minimum_after: 1 # Require 1 blank line after
65
+ minimum-before: 2 # Require 2 blank lines before
66
+ minimum-after: 1 # Require 1 blank line after
67
67
  ```
68
68
 
69
69
  ## Automatic fixes
@@ -61,4 +61,4 @@ headings = true # Exclude headings from line length check
61
61
 
62
62
  [MD044]
63
63
  names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
64
- code_blocks_excluded = true # Exclude code blocks from proper name check
64
+ code-blocks = true # Exclude code blocks from proper name check
@@ -365,7 +365,7 @@ respect_gitignore = true
365
365
 
366
366
  # [MD044]
367
367
  # names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
368
- # code_blocks_excluded = true # Exclude code blocks from proper name check
368
+ # code-blocks = true # Exclude code blocks from proper name check
369
369
  "#;
370
370
 
371
371
  // Write the default configuration to the file
@@ -459,7 +459,7 @@ respect-gitignore = true
459
459
 
460
460
  # [tool.rumdl.MD044]
461
461
  # names = ["rumdl", "Markdown", "GitHub"] # Proper names that should be capitalized correctly
462
- # code_blocks_excluded = true # Exclude code blocks from proper name check
462
+ # code-blocks = true # Exclude code blocks from proper name check
463
463
  "#;
464
464
 
465
465
  config_content.to_string()
@@ -582,8 +582,8 @@ fn main() -> Result<(), Box<dyn Error>> {
582
582
  } else {
583
583
  // Create new pyproject.toml with basic structure
584
584
  let basic_content = r#"[build-system]
585
- requires = [\"setuptools>=42\", \"wheel\"]
586
- build-backend = \"setuptools.build_meta\"
585
+ requires = ["setuptools>=42", "wheel"]
586
+ build-backend = "setuptools.build_meta"
587
587
 
588
588
  "#;
589
589
  let content = basic_content.to_owned() + &config_content;
@@ -598,19 +598,19 @@ build-backend = \"setuptools.build_meta\"
598
598
  }
599
599
  }
600
600
  }
601
- }
602
-
603
- // Create default config file
604
- match rumdl_config::create_default_config(".rumdl.toml") {
605
- Ok(_) => {
606
- println!("Created default configuration file: .rumdl.toml");
601
+ } else {
602
+ // Create default .rumdl.toml config file
603
+ match rumdl_config::create_default_config(".rumdl.toml") {
604
+ Ok(_) => {
605
+ println!("Created default configuration file: .rumdl.toml");
607
606
 
608
- // Offer to install VS Code extension
609
- offer_vscode_extension_install();
610
- }
611
- Err(e) => {
612
- eprintln!("{}: Failed to create config file: {}", "Error".red().bold(), e);
613
- exit::tool_error();
607
+ // Offer to install VS Code extension
608
+ offer_vscode_extension_install();
609
+ }
610
+ Err(e) => {
611
+ eprintln!("{}: Failed to create config file: {}", "Error".red().bold(), e);
612
+ exit::tool_error();
613
+ }
614
614
  }
615
615
  }
616
616
  }
@@ -12,6 +12,9 @@ pub trait RuleConfig: Serialize + DeserializeOwned + Default + Clone {
12
12
  }
13
13
 
14
14
  /// Helper to load rule configuration from the global config
15
+ ///
16
+ /// This function will emit warnings to stderr if the configuration is invalid,
17
+ /// helping users identify and fix configuration errors.
15
18
  pub fn load_rule_config<T: RuleConfig>(config: &crate::config::Config) -> T {
16
19
  config
17
20
  .rules
@@ -28,7 +31,17 @@ pub fn load_rule_config<T: RuleConfig>(config: &crate::config::Config) -> T {
28
31
  let toml_table = toml::Value::Table(table);
29
32
 
30
33
  // Deserialize directly from TOML, which preserves serde attributes
31
- toml_table.try_into().ok()
34
+ match toml_table.try_into::<T>() {
35
+ Ok(config) => Some(config),
36
+ Err(e) => {
37
+ // Emit a warning about the invalid configuration
38
+ eprintln!("Warning: Invalid configuration for rule {}: {}", T::RULE_NAME, e);
39
+ eprintln!("Using default values for rule {}.", T::RULE_NAME);
40
+ eprintln!("Hint: Check the documentation for valid configuration values.");
41
+
42
+ None
43
+ }
44
+ }
32
45
  })
33
46
  .unwrap_or_default()
34
47
  }
@@ -353,4 +366,40 @@ mod tests {
353
366
  let json_float = toml_value_to_json(&valid_float).unwrap();
354
367
  assert_eq!(json_float, serde_json::json!(1.23));
355
368
  }
369
+
370
+ #[test]
371
+ fn test_invalid_config_returns_default() {
372
+ // Create config with unknown field
373
+ let mut config = crate::config::Config::default();
374
+ let mut rule_values = BTreeMap::new();
375
+ rule_values.insert("unknown_field".to_string(), toml::Value::Boolean(true));
376
+ // Use a table value for items, which expects an array
377
+ rule_values.insert("items".to_string(), toml::Value::Table(toml::map::Map::new()));
378
+
379
+ config
380
+ .rules
381
+ .insert("TEST001".to_string(), crate::config::RuleConfig { values: rule_values });
382
+
383
+ // Load config - should return default and print warning
384
+ let rule_config: TestRuleConfig = load_rule_config(&config);
385
+ // Should use default values since deserialization failed
386
+ assert_eq!(rule_config, TestRuleConfig::default());
387
+ }
388
+
389
+ #[test]
390
+ fn test_invalid_field_type() {
391
+ // Create config with wrong type for field
392
+ let mut config = crate::config::Config::default();
393
+ let mut rule_values = BTreeMap::new();
394
+ // indent should be i64, but we're providing a string
395
+ rule_values.insert("indent".to_string(), toml::Value::String("not_a_number".to_string()));
396
+
397
+ config
398
+ .rules
399
+ .insert("TEST001".to_string(), crate::config::RuleConfig { values: rule_values });
400
+
401
+ // Load config - should return default and print warning
402
+ let rule_config: TestRuleConfig = load_rule_config(&config);
403
+ assert_eq!(rule_config, TestRuleConfig::default());
404
+ }
356
405
  }
@@ -23,11 +23,11 @@ pub struct MD007Config {
23
23
  pub indent: usize,
24
24
 
25
25
  /// Allow first level lists to start indented (default: false)
26
- #[serde(default)]
26
+ #[serde(default, alias = "start_indented")]
27
27
  pub start_indented: bool,
28
28
 
29
29
  /// Number of spaces for first level indent when start_indented is true (default: 2)
30
- #[serde(default = "default_start_indent")]
30
+ #[serde(default = "default_start_indent", alias = "start_indent")]
31
31
  pub start_indent: usize,
32
32
 
33
33
  /// Indentation style: text-aligned (default) or fixed (markdownlint compatible)
@@ -57,3 +57,32 @@ impl Default for MD007Config {
57
57
  impl RuleConfig for MD007Config {
58
58
  const RULE_NAME: &'static str = "MD007";
59
59
  }
60
+
61
+ #[cfg(test)]
62
+ mod tests {
63
+ use super::*;
64
+
65
+ #[test]
66
+ fn test_snake_case_backwards_compatibility() {
67
+ // Test that snake_case field names work for backwards compatibility
68
+ let toml_str = r#"
69
+ start_indented = true
70
+ start_indent = 4
71
+ "#;
72
+ let config: MD007Config = toml::from_str(toml_str).unwrap();
73
+ assert!(config.start_indented);
74
+ assert_eq!(config.start_indent, 4);
75
+ }
76
+
77
+ #[test]
78
+ fn test_kebab_case_canonical_format() {
79
+ // Test that kebab-case (canonical format) works
80
+ let toml_str = r#"
81
+ start-indented = true
82
+ start-indent = 4
83
+ "#;
84
+ let config: MD007Config = toml::from_str(toml_str).unwrap();
85
+ assert!(config.start_indented);
86
+ assert_eq!(config.start_indent, 4);
87
+ }
88
+ }
@@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
6
6
  #[serde(rename_all = "kebab-case")]
7
7
  pub struct MD009Config {
8
8
  /// Number of spaces for line breaks (default: 2)
9
- #[serde(default = "default_br_spaces")]
9
+ #[serde(default = "default_br_spaces", alias = "br_spaces")]
10
10
  pub br_spaces: usize,
11
11
 
12
12
  /// Strict mode - remove all trailing spaces (default: false)
@@ -14,7 +14,7 @@ pub struct MD009Config {
14
14
  pub strict: bool,
15
15
 
16
16
  /// Allow trailing spaces in empty list item lines (default: false)
17
- #[serde(default)]
17
+ #[serde(default, alias = "list_item_empty_lines")]
18
18
  pub list_item_empty_lines: bool,
19
19
  }
20
20
 
@@ -35,3 +35,30 @@ impl Default for MD009Config {
35
35
  impl RuleConfig for MD009Config {
36
36
  const RULE_NAME: &'static str = "MD009";
37
37
  }
38
+
39
+ #[cfg(test)]
40
+ mod tests {
41
+ use super::*;
42
+
43
+ #[test]
44
+ fn test_snake_case_backwards_compatibility() {
45
+ let toml_str = r#"
46
+ br_spaces = 3
47
+ list_item_empty_lines = true
48
+ "#;
49
+ let config: MD009Config = toml::from_str(toml_str).unwrap();
50
+ assert_eq!(config.br_spaces, 3);
51
+ assert!(config.list_item_empty_lines);
52
+ }
53
+
54
+ #[test]
55
+ fn test_kebab_case_canonical_format() {
56
+ let toml_str = r#"
57
+ br-spaces = 3
58
+ list-item-empty-lines = true
59
+ "#;
60
+ let config: MD009Config = toml::from_str(toml_str).unwrap();
61
+ assert_eq!(config.br_spaces, 3);
62
+ assert!(config.list_item_empty_lines);
63
+ }
64
+ }
@@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
6
6
  #[serde(rename_all = "kebab-case")]
7
7
  pub struct MD010Config {
8
8
  /// Number of spaces per tab (default: 4)
9
- #[serde(default = "default_spaces_per_tab")]
9
+ #[serde(default = "default_spaces_per_tab", alias = "spaces_per_tab")]
10
10
  pub spaces_per_tab: usize,
11
11
  }
12
12