rumdl 0.0.164__tar.gz → 0.0.165__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 (466) hide show
  1. {rumdl-0.0.164 → rumdl-0.0.165}/.mise.toml +1 -0
  2. {rumdl-0.0.164 → rumdl-0.0.165}/.pre-commit-config.yaml +14 -4
  3. {rumdl-0.0.164 → rumdl-0.0.165}/CHANGELOG.md +30 -0
  4. rumdl-0.0.165/CONTRIBUTING.md +350 -0
  5. {rumdl-0.0.164 → rumdl-0.0.165}/Cargo.lock +1 -1
  6. {rumdl-0.0.164 → rumdl-0.0.165}/Cargo.toml +1 -1
  7. {rumdl-0.0.164 → rumdl-0.0.165}/Makefile +33 -3
  8. {rumdl-0.0.164 → rumdl-0.0.165}/PKG-INFO +1 -1
  9. rumdl-0.0.165/cliff.toml +115 -0
  10. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md040_fenced_code_language.rs +65 -65
  11. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md040_test.rs +1 -1
  12. {rumdl-0.0.164 → rumdl-0.0.165}/.config/nextest.toml +0 -0
  13. {rumdl-0.0.164 → rumdl-0.0.165}/.rumdl.toml +0 -0
  14. {rumdl-0.0.164 → rumdl-0.0.165}/.rustfmt.toml +0 -0
  15. {rumdl-0.0.164 → rumdl-0.0.165}/LICENSE +0 -0
  16. {rumdl-0.0.164 → rumdl-0.0.165}/MANIFEST.in +0 -0
  17. {rumdl-0.0.164 → rumdl-0.0.165}/README.md +0 -0
  18. {rumdl-0.0.164 → rumdl-0.0.165}/assets/logo.png +0 -0
  19. {rumdl-0.0.164 → rumdl-0.0.165}/benches/fix_performance.rs +0 -0
  20. {rumdl-0.0.164 → rumdl-0.0.165}/benches/range_performance.rs +0 -0
  21. {rumdl-0.0.164 → rumdl-0.0.165}/benches/range_utils_benchmark.rs +0 -0
  22. {rumdl-0.0.164 → rumdl-0.0.165}/benches/rule_performance.rs +0 -0
  23. {rumdl-0.0.164 → rumdl-0.0.165}/benches/simple_fix_bench.rs +0 -0
  24. {rumdl-0.0.164 → rumdl-0.0.165}/benchmark/bin/bench_lint_context.rs +0 -0
  25. {rumdl-0.0.164 → rumdl-0.0.165}/benchmark/bin/benchmark.rs +0 -0
  26. {rumdl-0.0.164 → rumdl-0.0.165}/benchmark/bin/benchmark_rule.rs +0 -0
  27. {rumdl-0.0.164 → rumdl-0.0.165}/benchmark/bin/file_parallel_benchmark.rs +0 -0
  28. {rumdl-0.0.164 → rumdl-0.0.165}/benchmark/bin/measure_code_span_performance.rs +0 -0
  29. {rumdl-0.0.164 → rumdl-0.0.165}/docs/RULES.md +0 -0
  30. {rumdl-0.0.164 → rumdl-0.0.165}/docs/global-settings.md +0 -0
  31. {rumdl-0.0.164 → rumdl-0.0.165}/docs/inline-configuration.md +0 -0
  32. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md001.md +0 -0
  33. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md002.md +0 -0
  34. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md003.md +0 -0
  35. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md004.md +0 -0
  36. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md005.md +0 -0
  37. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md006.md +0 -0
  38. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md007.md +0 -0
  39. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md009.md +0 -0
  40. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md010.md +0 -0
  41. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md011.md +0 -0
  42. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md012.md +0 -0
  43. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md013.md +0 -0
  44. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md014.md +0 -0
  45. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md018.md +0 -0
  46. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md019.md +0 -0
  47. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md020.md +0 -0
  48. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md021.md +0 -0
  49. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md022.md +0 -0
  50. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md023.md +0 -0
  51. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md024.md +0 -0
  52. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md025.md +0 -0
  53. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md026.md +0 -0
  54. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md027.md +0 -0
  55. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md028.md +0 -0
  56. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md029.md +0 -0
  57. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md030.md +0 -0
  58. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md031.md +0 -0
  59. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md032.md +0 -0
  60. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md033.md +0 -0
  61. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md034.md +0 -0
  62. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md035.md +0 -0
  63. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md036.md +0 -0
  64. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md037.md +0 -0
  65. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md038.md +0 -0
  66. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md039.md +0 -0
  67. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md040.md +0 -0
  68. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md041.md +0 -0
  69. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md042.md +0 -0
  70. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md043.md +0 -0
  71. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md044.md +0 -0
  72. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md045.md +0 -0
  73. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md046.md +0 -0
  74. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md047.md +0 -0
  75. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md048.md +0 -0
  76. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md049.md +0 -0
  77. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md050.md +0 -0
  78. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md051.md +0 -0
  79. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md052.md +0 -0
  80. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md053.md +0 -0
  81. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md054.md +0 -0
  82. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md055.md +0 -0
  83. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md056.md +0 -0
  84. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md057.md +0 -0
  85. {rumdl-0.0.164 → rumdl-0.0.165}/docs/md058.md +0 -0
  86. {rumdl-0.0.164 → rumdl-0.0.165}/docs/vscode-extension.md +0 -0
  87. {rumdl-0.0.164 → rumdl-0.0.165}/pyproject.toml +0 -0
  88. {rumdl-0.0.164 → rumdl-0.0.165}/rumdl/__init__.py +0 -0
  89. {rumdl-0.0.164 → rumdl-0.0.165}/rumdl/__main__.py +0 -0
  90. {rumdl-0.0.164 → rumdl-0.0.165}/rumdl/py.typed +0 -0
  91. {rumdl-0.0.164 → rumdl-0.0.165}/rumdl.schema.json +0 -0
  92. {rumdl-0.0.164 → rumdl-0.0.165}/rumdl.toml.example +0 -0
  93. {rumdl-0.0.164 → rumdl-0.0.165}/rust-toolchain.toml +0 -0
  94. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/extract-changelog.sh +0 -0
  95. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/generate-downloads-table.sh +0 -0
  96. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/pre-release.sh +0 -0
  97. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/prepare-release.sh +0 -0
  98. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/setup-pre-commit.sh +0 -0
  99. {rumdl-0.0.164 → rumdl-0.0.165}/scripts/update-pre-commit-docs.sh +0 -0
  100. {rumdl-0.0.164 → rumdl-0.0.165}/src/cache.rs +0 -0
  101. {rumdl-0.0.164 → rumdl-0.0.165}/src/config.rs +0 -0
  102. {rumdl-0.0.164 → rumdl-0.0.165}/src/exit_codes.rs +0 -0
  103. {rumdl-0.0.164 → rumdl-0.0.165}/src/file_processor.rs +0 -0
  104. {rumdl-0.0.164 → rumdl-0.0.165}/src/filtered_lines.rs +0 -0
  105. {rumdl-0.0.164 → rumdl-0.0.165}/src/fix_coordinator.rs +0 -0
  106. {rumdl-0.0.164 → rumdl-0.0.165}/src/formatter.rs +0 -0
  107. {rumdl-0.0.164 → rumdl-0.0.165}/src/inline_config.rs +0 -0
  108. {rumdl-0.0.164 → rumdl-0.0.165}/src/lib.rs +0 -0
  109. {rumdl-0.0.164 → rumdl-0.0.165}/src/lint_context.rs +0 -0
  110. {rumdl-0.0.164 → rumdl-0.0.165}/src/lsp/mod.rs +0 -0
  111. {rumdl-0.0.164 → rumdl-0.0.165}/src/lsp/server.rs +0 -0
  112. {rumdl-0.0.164 → rumdl-0.0.165}/src/lsp/types.rs +0 -0
  113. {rumdl-0.0.164 → rumdl-0.0.165}/src/main.rs +0 -0
  114. {rumdl-0.0.164 → rumdl-0.0.165}/src/markdownlint_config.rs +0 -0
  115. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/azure.rs +0 -0
  116. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/concise.rs +0 -0
  117. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/github.rs +0 -0
  118. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/gitlab.rs +0 -0
  119. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/grouped.rs +0 -0
  120. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/json.rs +0 -0
  121. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/json_lines.rs +0 -0
  122. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/junit.rs +0 -0
  123. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/mod.rs +0 -0
  124. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/pylint.rs +0 -0
  125. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/sarif.rs +0 -0
  126. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/formatters/text.rs +0 -0
  127. {rumdl-0.0.164 → rumdl-0.0.165}/src/output/mod.rs +0 -0
  128. {rumdl-0.0.164 → rumdl-0.0.165}/src/parallel.rs +0 -0
  129. {rumdl-0.0.164 → rumdl-0.0.165}/src/performance.rs +0 -0
  130. {rumdl-0.0.164 → rumdl-0.0.165}/src/profiling.rs +0 -0
  131. {rumdl-0.0.164 → rumdl-0.0.165}/src/rule.rs +0 -0
  132. {rumdl-0.0.164 → rumdl-0.0.165}/src/rule_config.rs +0 -0
  133. {rumdl-0.0.164 → rumdl-0.0.165}/src/rule_config_serde.rs +0 -0
  134. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/blockquote_utils.rs +0 -0
  135. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/code_block_utils.rs +0 -0
  136. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/code_fence_utils.rs +0 -0
  137. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/emphasis_style.rs +0 -0
  138. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/front_matter_utils.rs +0 -0
  139. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/heading_utils.rs +0 -0
  140. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/list_utils.rs +0 -0
  141. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md001_heading_increment.rs +0 -0
  142. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  143. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md002_first_heading_h1.rs +0 -0
  144. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md003_heading_style/md003_config.rs +0 -0
  145. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md003_heading_style.rs +0 -0
  146. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  147. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md004_unordered_list_style.rs +0 -0
  148. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md005_list_indent.rs +0 -0
  149. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md006_start_bullets.rs +0 -0
  150. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  151. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md007_ul_indent.rs +0 -0
  152. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  153. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md009_trailing_spaces.rs +0 -0
  154. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  155. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md010_no_hard_tabs.rs +0 -0
  156. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md011_no_reversed_links.rs +0 -0
  157. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  158. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md012_no_multiple_blanks.rs +0 -0
  159. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md013_line_length/md013_config.rs +0 -0
  160. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md013_line_length.rs +0 -0
  161. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  162. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md014_commands_show_output.rs +0 -0
  163. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md018_no_missing_space_atx.rs +0 -0
  164. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  165. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  166. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  167. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  168. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md022_blanks_around_headings.rs +0 -0
  169. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md023_heading_start_left.rs +0 -0
  170. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  171. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md024_no_duplicate_heading.rs +0 -0
  172. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md025_single_title/md025_config.rs +0 -0
  173. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md025_single_title.rs +0 -0
  174. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  175. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  176. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  177. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  178. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md029_ordered_list_prefix/md029_config.rs +0 -0
  179. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md029_ordered_list_prefix.rs +0 -0
  180. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  181. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md030_list_marker_space.rs +0 -0
  182. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md031_blanks_around_fences.rs +0 -0
  183. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md032_blanks_around_lists.rs +0 -0
  184. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  185. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md033_no_inline_html.rs +0 -0
  186. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md034_no_bare_urls.rs +0 -0
  187. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md035_hr_style/md035_config.rs +0 -0
  188. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md035_hr_style.rs +0 -0
  189. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  190. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  191. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  192. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md038_no_space_in_code.rs +0 -0
  193. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md039_no_space_in_links.rs +0 -0
  194. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md041_first_line_heading.rs +0 -0
  195. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md042_no_empty_links.rs +0 -0
  196. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md043_required_headings.rs +0 -0
  197. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md044_proper_names/md044_config.rs +0 -0
  198. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md044_proper_names.rs +0 -0
  199. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  200. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md045_no_alt_text.rs +0 -0
  201. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  202. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md046_code_block_style.rs +0 -0
  203. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md047_single_trailing_newline.rs +0 -0
  204. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  205. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md048_code_fence_style.rs +0 -0
  206. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  207. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md049_emphasis_style.rs +0 -0
  208. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md050_strong_style/md050_config.rs +0 -0
  209. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md050_strong_style.rs +0 -0
  210. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md051_link_fragments.rs +0 -0
  211. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md052_reference_links_images.rs +0 -0
  212. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md053_link_image_reference_definitions.rs +0 -0
  213. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  214. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md054_link_image_style.rs +0 -0
  215. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  216. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md055_table_pipe_style.rs +0 -0
  217. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md056_table_column_count.rs +0 -0
  218. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  219. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md057_existing_relative_links.rs +0 -0
  220. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/md058_blanks_around_tables.rs +0 -0
  221. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/mod.rs +0 -0
  222. {rumdl-0.0.164 → rumdl-0.0.165}/src/rules/strong_style.rs +0 -0
  223. {rumdl-0.0.164 → rumdl-0.0.165}/src/stdin_processor.rs +0 -0
  224. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/anchor_styles/github.rs +0 -0
  225. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/anchor_styles/jekyll.rs +0 -0
  226. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/anchor_styles/kramdown.rs +0 -0
  227. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/anchor_styles/kramdown_gfm.rs +0 -0
  228. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/anchor_styles/mod.rs +0 -0
  229. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/ast_utils.rs +0 -0
  230. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/code_block_utils.rs +0 -0
  231. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/document_structure.rs +0 -0
  232. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/early_returns.rs +0 -0
  233. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/element_cache.rs +0 -0
  234. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/emphasis_utils.rs +0 -0
  235. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/fix_utils.rs +0 -0
  236. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/header_id_utils.rs +0 -0
  237. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/jinja_utils.rs +0 -0
  238. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/kramdown_utils.rs +0 -0
  239. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/line_ending.rs +0 -0
  240. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/markdown_elements.rs +0 -0
  241. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_admonitions.rs +0 -0
  242. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_common.rs +0 -0
  243. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_critic.rs +0 -0
  244. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_footnotes.rs +0 -0
  245. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_patterns.rs +0 -0
  246. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_snippets.rs +0 -0
  247. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_tabs.rs +0 -0
  248. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocs_test_utils.rs +0 -0
  249. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mkdocstrings_refs.rs +0 -0
  250. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/mod.rs +0 -0
  251. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/range_utils.rs +0 -0
  252. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/regex_cache.rs +0 -0
  253. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/skip_context.rs +0 -0
  254. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/string_interner.rs +0 -0
  255. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/table_utils.rs +0 -0
  256. {rumdl-0.0.164 → rumdl-0.0.165}/src/utils/text_reflow.rs +0 -0
  257. {rumdl-0.0.164 → rumdl-0.0.165}/src/vscode.rs +0 -0
  258. {rumdl-0.0.164 → rumdl-0.0.165}/src/watch.rs +0 -0
  259. {rumdl-0.0.164 → rumdl-0.0.165}/tests/advanced_integration_tests.rs +0 -0
  260. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/additional_tests.rs +0 -0
  261. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/basic_tests.rs +0 -0
  262. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/comprehensive_tests.rs +0 -0
  263. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/extended_tests.rs +0 -0
  264. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/mod.rs +0 -0
  265. {rumdl-0.0.164 → rumdl-0.0.165}/tests/character_ranges/unicode_utils.rs +0 -0
  266. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_duplication_test.rs +0 -0
  267. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_explain_test.rs +0 -0
  268. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_flag_precedence_test.rs +0 -0
  269. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_integration_tests.rs +0 -0
  270. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_lsp_fix_consistency.rs +0 -0
  271. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cli_statistics_test.rs +0 -0
  272. {rumdl-0.0.164 → rumdl-0.0.165}/tests/code_block_blockquote_edge_cases.rs +0 -0
  273. {rumdl-0.0.164 → rumdl-0.0.165}/tests/common/cli_test_utils.rs +0 -0
  274. {rumdl-0.0.164 → rumdl-0.0.165}/tests/common/fixtures.rs +0 -0
  275. {rumdl-0.0.164 → rumdl-0.0.165}/tests/common/mod.rs +0 -0
  276. {rumdl-0.0.164 → rumdl-0.0.165}/tests/common/test_utils.rs +0 -0
  277. {rumdl-0.0.164 → rumdl-0.0.165}/tests/commonmark_compliance_tests.rs +0 -0
  278. {rumdl-0.0.164 → rumdl-0.0.165}/tests/comprehensive_integration_tests.rs +0 -0
  279. {rumdl-0.0.164 → rumdl-0.0.165}/tests/comprehensive_output_format_tests.rs +0 -0
  280. {rumdl-0.0.164 → rumdl-0.0.165}/tests/config_application_tests.rs +0 -0
  281. {rumdl-0.0.164 → rumdl-0.0.165}/tests/config_file_command_test.rs +0 -0
  282. {rumdl-0.0.164 → rumdl-0.0.165}/tests/config_tests.rs +0 -0
  283. {rumdl-0.0.164 → rumdl-0.0.165}/tests/config_upward_traversal_test.rs +0 -0
  284. {rumdl-0.0.164 → rumdl-0.0.165}/tests/configuration_inheritance_tests.rs +0 -0
  285. {rumdl-0.0.164 → rumdl-0.0.165}/tests/consistency_regression_tests.rs +0 -0
  286. {rumdl-0.0.164 → rumdl-0.0.165}/tests/crlf_line_endings_test.rs +0 -0
  287. {rumdl-0.0.164 → rumdl-0.0.165}/tests/cross_platform_compatibility_tests.rs +0 -0
  288. {rumdl-0.0.164 → rumdl-0.0.165}/tests/deeply_nested_lists_performance_test.rs +0 -0
  289. {rumdl-0.0.164 → rumdl-0.0.165}/tests/escaped_brackets_test.rs +0 -0
  290. {rumdl-0.0.164 → rumdl-0.0.165}/tests/exclude_with_explicit_paths_test.rs +0 -0
  291. {rumdl-0.0.164 → rumdl-0.0.165}/tests/final_confidence_assessment.rs +0 -0
  292. {rumdl-0.0.164 → rumdl-0.0.165}/tests/fix_counting_test.rs +0 -0
  293. {rumdl-0.0.164 → rumdl-0.0.165}/tests/fix_performance_baseline_test.rs +0 -0
  294. {rumdl-0.0.164 → rumdl-0.0.165}/tests/fixable_unfixable_config_test.rs +0 -0
  295. {rumdl-0.0.164 → rumdl-0.0.165}/tests/html_comments_test.rs +0 -0
  296. {rumdl-0.0.164 → rumdl-0.0.165}/tests/init_command_test.rs +0 -0
  297. {rumdl-0.0.164 → rumdl-0.0.165}/tests/init_tests.rs +0 -0
  298. {rumdl-0.0.164 → rumdl-0.0.165}/tests/inline_config_blocks_test.rs +0 -0
  299. {rumdl-0.0.164 → rumdl-0.0.165}/tests/inline_config_test.rs +0 -0
  300. {rumdl-0.0.164 → rumdl-0.0.165}/tests/integration_tests.rs +0 -0
  301. {rumdl-0.0.164 → rumdl-0.0.165}/tests/json_output_test.rs +0 -0
  302. {rumdl-0.0.164 → rumdl-0.0.165}/tests/kramdown_integration_test.rs +0 -0
  303. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lib.rs +0 -0
  304. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_editor_integration_tests.rs +0 -0
  305. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_formatting_tests.rs +0 -0
  306. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_initialization_options_test.rs +0 -0
  307. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_integration_tests.rs +0 -0
  308. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_memory_leak_tests.rs +0 -0
  309. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_mkdocs_flavor_test.rs +0 -0
  310. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_tests.rs +0 -0
  311. {rumdl-0.0.164 → rumdl-0.0.165}/tests/lsp_unopened_document_test.rs +0 -0
  312. {rumdl-0.0.164 → rumdl-0.0.165}/tests/malformed_markdown_stress_tests.rs +0 -0
  313. {rumdl-0.0.164 → rumdl-0.0.165}/tests/markdownlint_cli_integration.rs +0 -0
  314. {rumdl-0.0.164 → rumdl-0.0.165}/tests/markdownlint_config_test.rs +0 -0
  315. {rumdl-0.0.164 → rumdl-0.0.165}/tests/markdownlintignore_test.rs +0 -0
  316. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md009_md013_integration_test.rs +0 -0
  317. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md009_md013_order_test.rs +0 -0
  318. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md013_hard_breaks_test.rs +0 -0
  319. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md013_reflow_integration_test.rs +0 -0
  320. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md013_reflow_nested_lists_test.rs +0 -0
  321. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md032_edge_cases_test.rs +0 -0
  322. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md032_ordered_list_bug_test.rs +0 -0
  323. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md033_edge_cases_test.rs +0 -0
  324. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md037_xxxx_regression_test.rs +0 -0
  325. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md038_false_positive_test.rs +0 -0
  326. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md051_issue_39_regression_test.rs +0 -0
  327. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md051_readme_bug_test.rs +0 -0
  328. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md051_toc_bug_test.rs +0 -0
  329. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md052_literal_brackets_test.rs +0 -0
  330. {rumdl-0.0.164 → rumdl-0.0.165}/tests/md054_code_span_test.rs +0 -0
  331. {rumdl-0.0.164 → rumdl-0.0.165}/tests/mkdocs_anchor_edge_cases_test.rs +0 -0
  332. {rumdl-0.0.164 → rumdl-0.0.165}/tests/mkdocs_anchor_test.rs +0 -0
  333. {rumdl-0.0.164 → rumdl-0.0.165}/tests/nested_code_block_test.rs +0 -0
  334. {rumdl-0.0.164 → rumdl-0.0.165}/tests/output_format_integration_tests.rs +0 -0
  335. {rumdl-0.0.164 → rumdl-0.0.165}/tests/output_format_tests.rs +0 -0
  336. {rumdl-0.0.164 → rumdl-0.0.165}/tests/per_file_ignores_integration_test.rs +0 -0
  337. {rumdl-0.0.164 → rumdl-0.0.165}/tests/perf_check.rs +0 -0
  338. {rumdl-0.0.164 → rumdl-0.0.165}/tests/performance_validation_tests.rs +0 -0
  339. {rumdl-0.0.164 → rumdl-0.0.165}/tests/pyproject_config_tests.rs +0 -0
  340. {rumdl-0.0.164 → rumdl-0.0.165}/tests/real_world_repository_tests.rs +0 -0
  341. {rumdl-0.0.164 → rumdl-0.0.165}/tests/regression_prevention_tests.rs +0 -0
  342. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  343. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/heading_edge_cases_test.rs +0 -0
  344. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  345. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/link_edge_cases_test.rs +0 -0
  346. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/list_rules_integration_test.rs +0 -0
  347. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md001_test.rs +0 -0
  348. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md001_unicode_test.rs +0 -0
  349. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md002_test.rs +0 -0
  350. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md003_test.rs +0 -0
  351. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md004_test.rs +0 -0
  352. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md005_dynamic_indent_test.rs +0 -0
  353. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md005_test.rs +0 -0
  354. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md005_unicode_test.rs +0 -0
  355. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md006_test.rs +0 -0
  356. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md006_unicode_test.rs +0 -0
  357. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md007_test.rs +0 -0
  358. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md009_test.rs +0 -0
  359. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md010_test.rs +0 -0
  360. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md011_test.rs +0 -0
  361. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md012_test.rs +0 -0
  362. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md013_test.rs +0 -0
  363. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md014_test.rs +0 -0
  364. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md018_test.rs +0 -0
  365. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md019_test.rs +0 -0
  366. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md020_test.rs +0 -0
  367. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md021_test.rs +0 -0
  368. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md022_test.rs +0 -0
  369. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md023_extended_test.rs +0 -0
  370. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md023_test.rs +0 -0
  371. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md024_test.rs +0 -0
  372. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md025_test.rs +0 -0
  373. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md026_kramdown_test.rs +0 -0
  374. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md026_test.rs +0 -0
  375. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md027_test.rs +0 -0
  376. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md028_md009_interaction_test.rs +0 -0
  377. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md028_test.rs +0 -0
  378. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_code_block_separation_test.rs +0 -0
  379. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_fix_test.rs +0 -0
  380. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_issue42_test.rs +0 -0
  381. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_markdownlint_parity_test.rs +0 -0
  382. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_nested_list_continuation_test.rs +0 -0
  383. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_pathological_edge_cases_test.rs +0 -0
  384. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_test.rs +0 -0
  385. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md029_unicode_test.rs +0 -0
  386. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md030_test.rs +0 -0
  387. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md031_kramdown_test.rs +0 -0
  388. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md031_test.rs +0 -0
  389. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md032_test.rs +0 -0
  390. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md033_blockquote_test.rs +0 -0
  391. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md033_extended_test.rs +0 -0
  392. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md033_kramdown_test.rs +0 -0
  393. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md033_test.rs +0 -0
  394. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md034_ipv6_test.rs +0 -0
  395. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md034_test.rs +0 -0
  396. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md035_test.rs +0 -0
  397. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md036_test.rs +0 -0
  398. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md037_kramdown_test.rs +0 -0
  399. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md037_test.rs +0 -0
  400. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md038_nested_backticks_test.rs +0 -0
  401. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md038_test.rs +0 -0
  402. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md039_test.rs +0 -0
  403. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md041_test.rs +0 -0
  404. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md042_test.rs +0 -0
  405. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md043_test.rs +0 -0
  406. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md044_test.rs +0 -0
  407. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md045_test.rs +0 -0
  408. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md046_test.rs +0 -0
  409. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md047_test.rs +0 -0
  410. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md048_test.rs +0 -0
  411. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md049_test.rs +0 -0
  412. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md050_test.rs +0 -0
  413. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_comprehensive_test.rs +0 -0
  414. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_critical_edge_cases_test.rs +0 -0
  415. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_edge_cases_test.rs +0 -0
  416. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_issue_39_regression_test.rs +0 -0
  417. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_performance_edge_cases_test.rs +0 -0
  418. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_property_based_test.rs +0 -0
  419. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_regression_prevention_test.rs +0 -0
  420. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_test.rs +0 -0
  421. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md051_unicode_security_test.rs +0 -0
  422. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md052_test.rs +0 -0
  423. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md053_additional_test.rs +0 -0
  424. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md053_proptest.rs +0 -0
  425. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md053_test.rs +0 -0
  426. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md054_test.rs +0 -0
  427. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md054_unicode_test.rs +0 -0
  428. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md055_test.rs +0 -0
  429. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md056_test.rs +0 -0
  430. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md057_test.rs +0 -0
  431. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md058_kramdown_test.rs +0 -0
  432. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/md058_test.rs +0 -0
  433. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/mkdocs_admonitions_test.rs +0 -0
  434. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/mkdocs_edge_cases_test.rs +0 -0
  435. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/mkdocs_extensions_test.rs +0 -0
  436. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/mkdocs_snippets_test.rs +0 -0
  437. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/mod.rs +0 -0
  438. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules/rule_interaction_test.rs +0 -0
  439. {rumdl-0.0.164 → rumdl-0.0.165}/tests/rules_mod_test.rs +0 -0
  440. {rumdl-0.0.164 → rumdl-0.0.165}/tests/schema_validation_test.rs +0 -0
  441. {rumdl-0.0.164 → rumdl-0.0.165}/tests/sentence_per_line_test.rs +0 -0
  442. {rumdl-0.0.164 → rumdl-0.0.165}/tests/skip_context_tests.rs +0 -0
  443. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_ast_code_block_issue.rs +0 -0
  444. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_gfm_vs_default_parsing.rs +0 -0
  445. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_lint_context_flow.rs +0 -0
  446. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_list_ast_structure.rs +0 -0
  447. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_multiline_ast.rs +0 -0
  448. {rumdl-0.0.164 → rumdl-0.0.165}/tests/test_underscore_edge_cases.rs +0 -0
  449. {rumdl-0.0.164 → rumdl-0.0.165}/tests/thread_safety_tests.rs +0 -0
  450. {rumdl-0.0.164 → rumdl-0.0.165}/tests/unfixable_rules_test.rs +0 -0
  451. {rumdl-0.0.164 → rumdl-0.0.165}/tests/unicode_edge_case_tests.rs +0 -0
  452. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utf8_boundary_tests.rs +0 -0
  453. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/blockquote_utils_test.rs +0 -0
  454. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/code_block_utils_extended_test.rs +0 -0
  455. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/code_block_utils_test.rs +0 -0
  456. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/core_utils_test.rs +0 -0
  457. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/front_matter_utils_test.rs +0 -0
  458. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/line_index_test.rs +0 -0
  459. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils/mod.rs +0 -0
  460. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils_markdown_edge_cases.rs +0 -0
  461. {rumdl-0.0.164 → rumdl-0.0.165}/tests/utils_tests.rs +0 -0
  462. {rumdl-0.0.164 → rumdl-0.0.165}/tests/vscode_extension_fixes.rs +0 -0
  463. {rumdl-0.0.164 → rumdl-0.0.165}/tests/vscode_test.rs +0 -0
  464. {rumdl-0.0.164 → rumdl-0.0.165}/tests/vscode_tests.rs +0 -0
  465. {rumdl-0.0.164 → rumdl-0.0.165}/tests/vscode_windows_comprehensive_test.rs +0 -0
  466. {rumdl-0.0.164 → rumdl-0.0.165}/tests/vscode_windows_test.rs +0 -0
@@ -21,6 +21,7 @@ uv = "latest"
21
21
  "cargo:maturin" = "latest"
22
22
  "cargo:cargo-binstall" = "latest"
23
23
  "cargo:cargo-zigbuild" = "latest" # For building static Linux binaries
24
+ "cargo:git-cliff" = "latest" # Changelog generator from conventional commits
24
25
 
25
26
  # Zig for cross-compilation (used by maturin)
26
27
  zig = "0.13"
@@ -1,12 +1,22 @@
1
1
  # Pre-commit hooks for rumdl
2
2
  # Install with:
3
- # pre-commit install # Install commit hooks
4
- # pre-commit install --hook-type pre-push # Install push hooks
3
+ # pre-commit install # Install commit hooks
4
+ # pre-commit install --hook-type commit-msg # Install commit-msg hooks
5
+ # pre-commit install --hook-type pre-push # Install push hooks
5
6
  # Run manually:
6
- # pre-commit run --all-files # Run commit hooks
7
- # pre-commit run --hook-stage push --all-files # Run push hooks
7
+ # pre-commit run --all-files # Run commit hooks
8
+ # pre-commit run --hook-stage push --all-files # Run push hooks
9
+ # pre-commit run --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
8
10
 
9
11
  repos:
12
+ # Conventional Commits validation
13
+ - repo: https://github.com/compilerla/conventional-pre-commit
14
+ rev: v3.6.0
15
+ hooks:
16
+ - id: conventional-pre-commit
17
+ stages: [commit-msg]
18
+ args: [] # Optional: add --strict for stricter validation
19
+
10
20
  # Rust formatting and linting
11
21
  - repo: local
12
22
  hooks:
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.165] - 2025-10-21
11
+
12
+ ### Fixed
13
+
14
+ - **MD040: Always preserve indentation when adding language tags** (fixes #122)
15
+ - The MD040 rule was incorrectly removing indentation from code blocks when adding language tags
16
+ - This broke list structure when code blocks were part of list items
17
+ - Root cause: The fix logic had conditional behavior that would remove indentation for "standalone" code blocks
18
+ - Now always preserves original indentation regardless of context
19
+ - Removed 50+ lines of unnecessary `is_in_nested_context()` helper logic
20
+ - Added comprehensive tests for various indentation scenarios (0, 2, 4, 6 spaces)
21
+
22
+ ### Added
23
+
24
+ - **Conventional Commits validation hook**: Git commit-msg hook validates commit message format
25
+ - Enforces Conventional Commits specification for all commits
26
+ - Provides helpful error messages for invalid formats
27
+ - Ensures consistent commit history for changelog generation
28
+
29
+ - **Automated changelog generation with git-cliff**:
30
+ - Added `make changelog-draft` for previewing CHANGELOG updates
31
+ - Semi-automated workflow: generate draft, enhance with details, commit
32
+ - Conventional Commits integration for automatic categorization
33
+
34
+ ### Changed
35
+
36
+ - **Pre-push hook optimization**: Use dev profile instead of full suite for faster testing
37
+ - Prevents pre-push hook from hanging on slower machines
38
+ - Maintains adequate test coverage while improving developer experience
39
+
10
40
  ## [0.0.164] - 2025-10-21
11
41
 
12
42
  ### Added
@@ -0,0 +1,350 @@
1
+ # Contributing to rumdl
2
+
3
+ Thank you for your interest in contributing to rumdl! This document provides guidelines and instructions for contributing.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Development Setup](#development-setup)
8
+ - [Commit Message Convention](#commit-message-convention)
9
+ - [Changelog Workflow](#changelog-workflow)
10
+ - [Testing](#testing)
11
+ - [Code Style](#code-style)
12
+ - [Pull Request Process](#pull-request-process)
13
+
14
+ ## Development Setup
15
+
16
+ ### Prerequisites
17
+
18
+ - [Rust](https://rustup.rs/) 1.89.0 or later
19
+ - [mise](https://mise.jdx.dev/) for development tool management (recommended)
20
+
21
+ ### Quick Start
22
+
23
+ 1. **Clone the repository**:
24
+
25
+ ```bash
26
+ git clone https://github.com/rvben/rumdl.git
27
+ cd rumdl
28
+ ```
29
+
30
+ 2. **Install development tools** (using mise - recommended):
31
+
32
+ ```bash
33
+ make dev-setup
34
+ ```
35
+
36
+ Or manually:
37
+
38
+ ```bash
39
+ cargo install cargo-nextest cargo-watch maturin
40
+ ```
41
+
42
+ 3. **Install pre-commit hooks**:
43
+
44
+ ```bash
45
+ pre-commit install # Code quality hooks
46
+ pre-commit install --hook-type commit-msg # Conventional commits validation
47
+ pre-commit install --hook-type pre-push # Comprehensive validation
48
+ ```
49
+
50
+ 4. **Verify installation**:
51
+
52
+ ```bash
53
+ make dev-verify
54
+ ```
55
+
56
+ 5. **Run tests**:
57
+
58
+ ```bash
59
+ make test-dev # Recommended: ~20s, skips slowest tests
60
+ make test-quick # Faster: ~15s, skips slow/stress tests
61
+ make test # Full suite with dev profile
62
+ ```
63
+
64
+ ## Commit Message Convention
65
+
66
+ rumdl uses [Conventional Commits](https://www.conventionalcommits.org/) for automated changelog generation and semantic versioning.
67
+
68
+ ### Format
69
+
70
+ ```text
71
+ <type>(<scope>): <description>
72
+
73
+ [optional body]
74
+
75
+ [optional footer(s)]
76
+ ```
77
+
78
+ ### Types
79
+
80
+ | Type | Section | Description | Example |
81
+ |------|---------|-------------|---------|
82
+ | `feat` | **Added** | New features | `feat(cache): add file-level caching` |
83
+ | `fix` | **Fixed** | Bug fixes | `fix(MD013): enforce line length in sentence mode` |
84
+ | `perf` | **Performance** | Performance improvements | `perf(fix): enable parallel file processing` |
85
+ | `refactor` | **Changed** | Code refactoring | `refactor(cache): simplify cache key generation` |
86
+ | `docs` | **Changed** | Documentation only | `docs(readme): update installation steps` |
87
+ | `chore` | *(skipped)* | Maintenance tasks | `chore(deps): update dependencies` |
88
+ | `test` | *(skipped)* | Adding/updating tests | `test(cache): add cache invalidation tests` |
89
+ | `ci` | *(skipped)* | CI configuration | `ci: update GitHub Actions workflow` |
90
+ | `style` | *(skipped)* | Code formatting | `style: run cargo fmt` |
91
+
92
+ ### Examples
93
+
94
+ **Good commit messages**:
95
+
96
+ ```bash
97
+ feat(cache): implement Ruff-style parallel caching with Arc<Mutex<>>
98
+ fix(pre-push): use dev profile for test-push to avoid hanging
99
+ perf(fix): enable parallel file processing for fix mode (4.8x speedup)
100
+ docs(changelog): update v0.0.163 with HTML comments fix
101
+ ```
102
+
103
+ **Breaking changes**:
104
+
105
+ ```bash
106
+ feat(api)!: change linting API to return Result
107
+
108
+ BREAKING CHANGE: The linting API now returns Result<Vec<Warning>, Error>
109
+ instead of Vec<Warning>. Update your code to handle the new error type.
110
+ ```
111
+
112
+ ### Scope
113
+
114
+ The scope should be a noun describing the section of the codebase:
115
+
116
+ - `cache` - Caching infrastructure
117
+ - `fix` - Fix mode/auto-fix functionality
118
+ - `cli` - Command-line interface
119
+ - `lsp` - Language Server Protocol
120
+ - `rules` - Linting rules (or specific rule like `MD013`)
121
+ - `ci` - Continuous integration
122
+ - `docs` - Documentation
123
+
124
+ ## Changelog Workflow
125
+
126
+ rumdl uses [git-cliff](https://git-cliff.org/) to automatically generate changelog drafts from conventional commits.
127
+
128
+ ### Generating Changelog Drafts
129
+
130
+ ```bash
131
+ # Preview unreleased changes
132
+ make changelog-draft
133
+
134
+ # View latest release changelog
135
+ make changelog-latest
136
+
137
+ # Generate full changelog
138
+ make changelog-all
139
+
140
+ # Show available changelog commands
141
+ make changelog-help
142
+ ```
143
+
144
+ ### Updating CHANGELOG.md
145
+
146
+ **The changelog generation is semi-automated:**
147
+
148
+ 1. **Generate draft** from conventional commits:
149
+
150
+ ```bash
151
+ make changelog-draft > /tmp/draft.md
152
+ ```
153
+
154
+ 2. **Review and enhance** the generated content:
155
+ - Add detailed explanations
156
+ - Include sub-bullets for complex changes
157
+ - Add performance metrics if applicable
158
+ - Provide migration guidance for breaking changes
159
+
160
+ 3. **Update CHANGELOG.md** manually with enhanced content
161
+
162
+ 4. **Commit** the updated changelog:
163
+
164
+ ```bash
165
+ git add CHANGELOG.md
166
+ git commit -m "chore(changelog): update for v0.0.165"
167
+ ```
168
+
169
+ ### Best Practices
170
+
171
+ - ✅ **Do write detailed commit messages** - they become changelog entries
172
+ - ✅ **Do use scopes** - helps organize changelog sections
173
+ - ✅ **Do enhance generated content** - add context and details
174
+ - ❌ **Don't rely solely on generated text** - manual refinement is expected
175
+ - ❌ **Don't skip commits** - unconventional commits won't appear in changelog
176
+
177
+ ### Example Workflow
178
+
179
+ ```bash
180
+ # Make changes
181
+ git add src/cache.rs
182
+
183
+ # Commit with conventional format
184
+ git commit -m "feat(cache): add Blake3-based content hashing"
185
+
186
+ # Later, when preparing release
187
+ make changelog-draft
188
+
189
+ # Copy relevant section to CHANGELOG.md
190
+ # Enhance with details:
191
+ #
192
+ # - **File-Level Caching**: Blake3-based content hashing for fast lookups
193
+ # - Automatic cache invalidation on content/config changes
194
+ # - Cache stored in `.rumdl-cache/{version}/{hash}.json`
195
+ # - Enabled by default for instant subsequent runs
196
+ ```
197
+
198
+ ## Testing
199
+
200
+ ### Test Profiles
201
+
202
+ rumdl uses [cargo-nextest](https://nexte.st/) with optimized test profiles:
203
+
204
+ | Command | Duration | Use Case |
205
+ |---------|----------|----------|
206
+ | `make test-pre-commit` | ~6s | Pre-commit hook (lib tests only) |
207
+ | `make test-quick` | ~15s | Quick feedback (skips slow tests) |
208
+ | `make test-dev` | ~20s | Development default (skips slowest) |
209
+ | `make test` | ~30s | Full suite with dev profile |
210
+ | `make test-ci` | varies | CI environment |
211
+
212
+ **⚠️ Never use `cargo test` directly** - it's 30-100x slower!
213
+
214
+ ### Writing Tests
215
+
216
+ ```rust
217
+ #[test]
218
+ fn test_cache_invalidation() {
219
+ // Test implementation
220
+ }
221
+
222
+ // For slow tests, use ignore + filter
223
+ #[test]
224
+ #[ignore = "slow"]
225
+ fn test_large_file_processing() {
226
+ // Slow test implementation
227
+ }
228
+ ```
229
+
230
+ ### Running Specific Tests
231
+
232
+ ```bash
233
+ # Run specific test
234
+ cargo nextest run test_cache_invalidation
235
+
236
+ # Run all cache tests
237
+ cargo nextest run cache
238
+
239
+ # Run with specific profile
240
+ cargo nextest run --profile quick
241
+ ```
242
+
243
+ ## Code Style
244
+
245
+ ### Formatting
246
+
247
+ ```bash
248
+ # Format code and run clippy fixes
249
+ make fmt
250
+
251
+ # Check without modifying
252
+ make lint
253
+ ```
254
+
255
+ ### Guidelines
256
+
257
+ - **No dead code** - Remove unused code instead of `#[allow(dead_code)]`
258
+ - **Tests test excellence** - Write tests for correct behavior, not current broken behavior
259
+ - **Prefer explicit over implicit** - Clear code over clever code
260
+ - **Use inline format args** - `format!("{foo}")` instead of `format!("{}", foo)`
261
+
262
+ ## Pull Request Process
263
+
264
+ ### Before Submitting
265
+
266
+ 1. **Run tests**:
267
+
268
+ ```bash
269
+ make test-dev
270
+ ```
271
+
272
+ 2. **Format code**:
273
+
274
+ ```bash
275
+ make fmt
276
+ ```
277
+
278
+ 3. **Lint code**:
279
+
280
+ ```bash
281
+ make lint
282
+ ```
283
+
284
+ 4. **Update changelog** (if applicable):
285
+ - Generate draft: `make changelog-draft`
286
+ - Enhance and add to CHANGELOG.md
287
+
288
+ ### PR Guidelines
289
+
290
+ - ✅ Use conventional commit format for all commits
291
+ - ✅ Include tests for new features
292
+ - ✅ Update documentation if needed
293
+ - ✅ Keep PRs focused - one feature/fix per PR
294
+ - ✅ Reference issues: `Closes #123` or `Fixes #456`
295
+ - ❌ Don't include unrelated changes
296
+ - ❌ Don't commit `CLAUDE.md` or temporary files
297
+
298
+ ### PR Template
299
+
300
+ ```markdown
301
+ ## Description
302
+ Brief description of changes
303
+
304
+ ## Type of Change
305
+ - [ ] Bug fix (non-breaking change fixing an issue)
306
+ - [ ] New feature (non-breaking change adding functionality)
307
+ - [ ] Breaking change (fix or feature causing existing functionality to change)
308
+ - [ ] Documentation update
309
+
310
+ ## Testing
311
+ - [ ] Tests added/updated
312
+ - [ ] All tests passing (`make test-dev`)
313
+ - [ ] Manual testing performed
314
+
315
+ ## Checklist
316
+ - [ ] Code follows project style (`make fmt` && `make lint`)
317
+ - [ ] Conventional commit messages used
318
+ - [ ] Documentation updated (if needed)
319
+ - [ ] CHANGELOG.md updated (if user-facing)
320
+ ```
321
+
322
+ ## Release Process
323
+
324
+ The release process is automated and documented in `CLAUDE.md`. Key points:
325
+
326
+ 1. **Update version** in `Cargo.toml`
327
+ 2. **Update CHANGELOG.md** with release notes
328
+ 3. **Commit and tag**: Make targets handle this automatically
329
+ 4. **Push tag**: Triggers CI/CD to build and publish
330
+
331
+ ```bash
332
+ # Create patch release (0.0.164 → 0.0.165)
333
+ make version-patch
334
+
335
+ # Push to trigger release
336
+ make version-push
337
+
338
+ # Or combined
339
+ make release-patch
340
+ ```
341
+
342
+ ## Questions?
343
+
344
+ - 📖 [Documentation](https://github.com/rvben/rumdl)
345
+ - 🐛 [Issue Tracker](https://github.com/rvben/rumdl/issues)
346
+ - 💬 [Discussions](https://github.com/rvben/rumdl/discussions)
347
+
348
+ ## License
349
+
350
+ By contributing to rumdl, you agree that your contributions will be licensed under the [MIT License](LICENSE).
@@ -1983,7 +1983,7 @@ dependencies = [
1983
1983
 
1984
1984
  [[package]]
1985
1985
  name = "rumdl"
1986
- version = "0.0.164"
1986
+ version = "0.0.165"
1987
1987
  dependencies = [
1988
1988
  "anyhow",
1989
1989
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.164"
3
+ version = "0.0.165"
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,4 +1,4 @@
1
- .PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify update-dependencies update-rust-version pre-release build-static-linux-x64 build-static-linux-arm64 build-static-all schema check-schema
1
+ .PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify update-dependencies update-rust-version pre-release build-static-linux-x64 build-static-linux-arm64 build-static-all schema check-schema changelog-draft changelog-latest changelog-all changelog-help
2
2
 
3
3
  # Development environment setup
4
4
  setup-mise:
@@ -95,8 +95,8 @@ test-pre-commit:
95
95
  cargo nextest run --profile pre-commit
96
96
 
97
97
  test-push:
98
- @echo "Running full test suite (this may take a few minutes)..."
99
- cargo nextest run
98
+ @echo "Running comprehensive test suite (~30s, excludes slow/performance tests)..."
99
+ cargo nextest run --profile dev
100
100
 
101
101
  test-ci:
102
102
  cargo nextest run --profile ci
@@ -187,6 +187,36 @@ update-changelog:
187
187
  echo "Warning: CHANGELOG.md not found"; \
188
188
  fi
189
189
 
190
+ # Changelog generation with git-cliff (from conventional commits)
191
+ changelog-draft:
192
+ @echo "Generating changelog draft for unreleased commits..."
193
+ @mise exec -- git-cliff --unreleased
194
+
195
+ changelog-latest:
196
+ @echo "Generating changelog for latest release..."
197
+ @mise exec -- git-cliff --latest
198
+
199
+ changelog-all:
200
+ @echo "Generating full changelog..."
201
+ @mise exec -- git-cliff
202
+
203
+ changelog-help:
204
+ @echo "Changelog generation targets:"
205
+ @echo " make changelog-draft - Preview unreleased changes (does not modify files)"
206
+ @echo " make changelog-latest - Show latest release changelog"
207
+ @echo " make changelog-all - Show full changelog"
208
+ @echo ""
209
+ @echo "Note: These targets generate drafts from conventional commits."
210
+ @echo " Review and enhance with details before committing to CHANGELOG.md"
211
+ @echo ""
212
+ @echo "Conventional commit format:"
213
+ @echo " feat(scope): description -> Added section"
214
+ @echo " fix(scope): description -> Fixed section"
215
+ @echo " perf(scope): description -> Performance section"
216
+ @echo " refactor(scope): description -> Changed section"
217
+ @echo ""
218
+ @echo "Configuration: cliff.toml"
219
+
190
220
  version-major:
191
221
  @echo "Creating new major version tag..."
192
222
  $(eval CURRENT := $(shell git describe --tags --abbrev=0 2>/dev/null || echo v0.0.0))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.164
3
+ Version: 0.0.165
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -0,0 +1,115 @@
1
+ # git-cliff configuration for rumdl
2
+ # Generates changelog in Keep a Changelog format from conventional commits
3
+ # https://git-cliff.org/docs/configuration
4
+ # https://keepachangelog.com/en/1.1.0/
5
+
6
+ [changelog]
7
+ # Template that matches Keep a Changelog format
8
+ header = """
9
+ # Changelog
10
+
11
+ All notable changes to this project will be documented in this file.
12
+
13
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
14
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
15
+
16
+ """
17
+ # Template for each release
18
+ body = """
19
+ {% if version %}\
20
+ {% if version | trim_start_matches(pat="v") == "Unreleased" %}\
21
+ ## [Unreleased]
22
+ {% else %}\
23
+ ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
24
+ {% endif %}\
25
+ {% else %}\
26
+ ## [Unreleased]
27
+ {% endif %}\
28
+ {% for group, commits in commits | group_by(attribute="group") %}
29
+ ### {{ group | striptags | trim }}
30
+ {% for commit in commits
31
+ | filter(attribute="scope")
32
+ | unique(attribute="message") -%}
33
+ - {% if commit.scope %}**{{ commit.scope }}**: {% endif %}\
34
+ {{ commit.message | upper_first | trim }}\
35
+ {% if commit.breaking %} **[BREAKING]**{% endif %}
36
+ {% endfor -%}
37
+ {% for commit in commits -%}
38
+ {% if not commit.scope -%}
39
+ - {{ commit.message | upper_first | trim }}\
40
+ {% if commit.breaking %} **[BREAKING]**{% endif %}
41
+ {% endif -%}
42
+ {% endfor -%}
43
+ {% endfor %}
44
+ """
45
+ # Remove leading and trailing whitespaces
46
+ trim = true
47
+ # Changelog footer (empty for Keep a Changelog)
48
+ footer = ""
49
+
50
+ [git]
51
+ # Parse commits according to conventional commits specification
52
+ conventional_commits = true
53
+ # Filter out commits that don't follow conventional commits
54
+ filter_unconventional = true
55
+ # Don't split multi-line commits
56
+ split_commits = false
57
+
58
+ # Preprocessors to clean up commit messages
59
+ commit_preprocessors = [
60
+ # Remove issue/PR references from commit messages (they're in git history)
61
+ { pattern = '\s*\(#\d+\)', replace = "" },
62
+ ]
63
+
64
+ # Protect breaking commits from being filtered
65
+ protect_breaking_commits = true
66
+
67
+ # Commit parsers - map conventional commit types to Keep a Changelog sections
68
+ commit_parsers = [
69
+ # Features -> Added section
70
+ { message = "^feat", group = "Added" },
71
+
72
+ # Bug fixes -> Fixed section
73
+ { message = "^fix", group = "Fixed" },
74
+
75
+ # Performance improvements -> Performance section
76
+ { message = "^perf", group = "Performance" },
77
+
78
+ # Refactoring and improvements -> Changed section
79
+ { message = "^refactor", group = "Changed" },
80
+ { message = "^improvement", group = "Changed" },
81
+
82
+ # Documentation updates -> Changed section (or skip if not user-facing)
83
+ { message = "^docs?", group = "Changed" },
84
+
85
+ # Breaking changes -> Breaking section (also marked in commit message)
86
+ { body = ".*BREAKING[- ]CHANGE.*", group = "Breaking" },
87
+
88
+ # Skip non-user-facing commits
89
+ { message = "^chore\\(release\\)", skip = true },
90
+ { message = "^chore\\(deps", skip = true },
91
+ { message = "^chore\\(pr\\)", skip = true },
92
+ { message = "^chore\\(changelog\\)", skip = true },
93
+ { message = "^ci", skip = true },
94
+ { message = "^test", skip = true },
95
+ { message = "^style", skip = true },
96
+ { message = "^build", skip = true },
97
+
98
+ # Other chores can go to Changed if they're user-visible
99
+ { message = "^chore", group = "Changed" },
100
+ ]
101
+
102
+ # Filter out commits that don't match any parser
103
+ filter_commits = false
104
+
105
+ # Topological ordering for consistent history
106
+ topo_order = false
107
+
108
+ # Sort commits within each group (oldest first matches manual style)
109
+ sort_commits = "oldest"
110
+
111
+ # Tag pattern (semantic versioning)
112
+ tag_pattern = "v[0-9].*"
113
+
114
+ # Ignore tags that don't match semantic versioning
115
+ skip_tags = ".*-rc.*|.*-alpha.*|.*-beta.*"