rumdl 0.0.45__tar.gz → 0.0.47__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 (258) hide show
  1. {rumdl-0.0.45 → rumdl-0.0.47}/Cargo.lock +1 -1
  2. {rumdl-0.0.45 → rumdl-0.0.47}/Cargo.toml +1 -1
  3. {rumdl-0.0.45 → rumdl-0.0.47}/PKG-INFO +29 -22
  4. {rumdl-0.0.45 → rumdl-0.0.47}/README.md +28 -21
  5. {rumdl-0.0.45 → rumdl-0.0.47}/benches/range_performance.rs +8 -7
  6. {rumdl-0.0.45 → rumdl-0.0.47}/benches/range_utils_benchmark.rs +7 -6
  7. {rumdl-0.0.45 → rumdl-0.0.47}/src/config.rs +69 -43
  8. {rumdl-0.0.45 → rumdl-0.0.47}/src/main.rs +205 -152
  9. {rumdl-0.0.45 → rumdl-0.0.47}/src/python.rs +1 -1
  10. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/emphasis_style.rs +7 -5
  11. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/front_matter_utils.rs +22 -23
  12. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/heading_utils.rs +1 -1
  13. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md001_heading_increment.rs +9 -12
  14. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md002_first_heading_h1.rs +15 -11
  15. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md003_heading_style.rs +12 -7
  16. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md004_unordered_list_style.rs +13 -8
  17. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md005_list_indent.rs +3 -1
  18. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md006_start_bullets.rs +27 -19
  19. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md007_ul_indent.rs +7 -3
  20. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md008_ul_style.rs +3 -1
  21. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md009_trailing_spaces.rs +3 -1
  22. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md010_no_hard_tabs.rs +3 -1
  23. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md011_reversed_link.rs +3 -1
  24. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md012_no_multiple_blanks.rs +3 -1
  25. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md013_line_length.rs +10 -2
  26. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md014_commands_show_output.rs +3 -1
  27. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md015_no_missing_space_after_list_marker.rs +7 -6
  28. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md016_no_multiple_space_after_list_marker.rs +38 -27
  29. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md017_no_emphasis_as_heading.rs +3 -1
  30. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md018_no_missing_space_atx.rs +3 -1
  31. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md019_no_multiple_space_atx.rs +3 -1
  32. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md020_no_missing_space_closed_atx.rs +3 -1
  33. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md021_no_multiple_space_closed_atx.rs +3 -1
  34. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md022_blanks_around_headings.rs +27 -42
  35. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md023_heading_start_left.rs +3 -1
  36. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md024_multiple_headings.rs +7 -2
  37. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md025_single_title.rs +21 -7
  38. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md026_no_trailing_punctuation.rs +43 -53
  39. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md027_multiple_spaces_blockquote.rs +3 -1
  40. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md028_no_blanks_blockquote.rs +3 -1
  41. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md029_ordered_list_prefix.rs +3 -1
  42. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md030_list_marker_space.rs +20 -12
  43. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md031_blanks_around_fences.rs +3 -1
  44. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md032_blanks_around_lists.rs +13 -8
  45. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md033_no_inline_html.rs +32 -69
  46. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md034_no_bare_urls.rs +13 -7
  47. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md035_hr_style.rs +3 -1
  48. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md036_no_emphasis_only_first.rs +3 -1
  49. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md037_spaces_around_emphasis.rs +182 -97
  50. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md038_no_space_in_code.rs +68 -34
  51. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md039_no_space_in_links.rs +16 -14
  52. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md040_fenced_code_language.rs +3 -1
  53. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md041_first_line_heading.rs +16 -5
  54. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md042_no_empty_links.rs +3 -1
  55. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md043_required_headings.rs +136 -74
  56. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md044_proper_names.rs +15 -12
  57. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md045_no_alt_text.rs +3 -1
  58. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md046_code_block_style.rs +3 -1
  59. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md047_file_end_newline.rs +3 -1
  60. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md048_code_fence_style.rs +3 -1
  61. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md049_emphasis_style.rs +70 -32
  62. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md050_strong_style.rs +3 -1
  63. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md051_link_fragments.rs +13 -4
  64. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md052_reference_links_images.rs +3 -1
  65. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md053_link_image_reference_definitions.rs +11 -14
  66. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md054_link_image_style.rs +61 -51
  67. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md055_table_pipe_style.rs +3 -1
  68. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md056_table_column_count.rs +3 -1
  69. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md057_existing_relative_links.rs +53 -45
  70. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md058_blanks_around_tables.rs +3 -1
  71. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/strong_style.rs +5 -5
  72. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/document_structure.rs +5 -8
  73. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/early_returns.rs +0 -2
  74. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/element_cache.rs +168 -84
  75. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/mod.rs +5 -12
  76. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/regex_cache.rs +3 -5
  77. {rumdl-0.0.45 → rumdl-0.0.47}/tests/advanced_integration_tests.rs +11 -10
  78. {rumdl-0.0.45 → rumdl-0.0.47}/tests/cli_integration_tests.rs +389 -130
  79. {rumdl-0.0.45 → rumdl-0.0.47}/tests/config_application_tests.rs +4 -4
  80. {rumdl-0.0.45 → rumdl-0.0.47}/tests/config_tests.rs +45 -16
  81. {rumdl-0.0.45 → rumdl-0.0.47}/tests/integration_tests.rs +1 -1
  82. {rumdl-0.0.45 → rumdl-0.0.47}/tests/output_format_tests.rs +369 -242
  83. {rumdl-0.0.45 → rumdl-0.0.47}/tests/perf_check.rs +2 -5
  84. {rumdl-0.0.45 → rumdl-0.0.47}/tests/pyproject_config_tests.rs +156 -98
  85. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md002_test.rs +20 -5
  86. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md004_test.rs +6 -2
  87. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md020_test.rs +4 -1
  88. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md021_test.rs +4 -1
  89. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md032_test.rs +14 -3
  90. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md037_test.rs +49 -24
  91. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md044_test.rs +4 -1
  92. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md053_additional_test.rs +4 -1
  93. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md054_test.rs +22 -10
  94. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md057_test.rs +3 -3
  95. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/mod.rs +1 -1
  96. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils_tests.rs +1 -1
  97. {rumdl-0.0.45 → rumdl-0.0.47}/.pre-commit-config.yaml +0 -0
  98. {rumdl-0.0.45 → rumdl-0.0.47}/.rumdl.toml +0 -0
  99. {rumdl-0.0.45 → rumdl-0.0.47}/MANIFEST.in +0 -0
  100. {rumdl-0.0.45 → rumdl-0.0.47}/Makefile +0 -0
  101. {rumdl-0.0.45 → rumdl-0.0.47}/assets/logo.png +0 -0
  102. {rumdl-0.0.45 → rumdl-0.0.47}/benches/rule_performance.rs +0 -0
  103. {rumdl-0.0.45 → rumdl-0.0.47}/docs/RULES.md +0 -0
  104. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md001.md +0 -0
  105. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md002.md +0 -0
  106. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md003.md +0 -0
  107. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md004.md +0 -0
  108. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md005.md +0 -0
  109. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md006.md +0 -0
  110. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md007.md +0 -0
  111. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md008.md +0 -0
  112. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md009.md +0 -0
  113. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md010.md +0 -0
  114. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md011.md +0 -0
  115. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md012.md +0 -0
  116. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md013.md +0 -0
  117. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md014.md +0 -0
  118. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md015.md +0 -0
  119. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md016.md +0 -0
  120. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md017.md +0 -0
  121. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md018.md +0 -0
  122. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md019.md +0 -0
  123. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md020.md +0 -0
  124. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md021.md +0 -0
  125. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md022.md +0 -0
  126. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md023.md +0 -0
  127. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md024.md +0 -0
  128. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md025.md +0 -0
  129. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md026.md +0 -0
  130. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md027.md +0 -0
  131. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md028.md +0 -0
  132. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md029.md +0 -0
  133. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md030.md +0 -0
  134. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md031.md +0 -0
  135. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md032.md +0 -0
  136. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md033.md +0 -0
  137. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md034.md +0 -0
  138. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md035.md +0 -0
  139. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md036.md +0 -0
  140. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md037.md +0 -0
  141. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md038.md +0 -0
  142. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md039.md +0 -0
  143. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md040.md +0 -0
  144. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md041.md +0 -0
  145. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md042.md +0 -0
  146. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md043.md +0 -0
  147. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md044.md +0 -0
  148. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md045.md +0 -0
  149. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md046.md +0 -0
  150. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md047.md +0 -0
  151. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md048.md +0 -0
  152. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md049.md +0 -0
  153. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md050.md +0 -0
  154. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md051.md +0 -0
  155. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md052.md +0 -0
  156. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md053.md +0 -0
  157. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md054.md +0 -0
  158. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md055.md +0 -0
  159. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md056.md +0 -0
  160. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md057.md +0 -0
  161. {rumdl-0.0.45 → rumdl-0.0.47}/docs/md058.md +0 -0
  162. {rumdl-0.0.45 → rumdl-0.0.47}/pyproject.toml +0 -0
  163. {rumdl-0.0.45 → rumdl-0.0.47}/python/MANIFEST.in +0 -0
  164. {rumdl-0.0.45 → rumdl-0.0.47}/python/PYTHON-README.md +0 -0
  165. {rumdl-0.0.45 → rumdl-0.0.47}/python/rumdl/__init__.py +0 -0
  166. {rumdl-0.0.45 → rumdl-0.0.47}/python/rumdl/__main__.py +0 -0
  167. {rumdl-0.0.45 → rumdl-0.0.47}/python/rumdl/py.typed +0 -0
  168. {rumdl-0.0.45 → rumdl-0.0.47}/rumdl.toml.example +0 -0
  169. {rumdl-0.0.45 → rumdl-0.0.47}/src/init.rs +0 -0
  170. {rumdl-0.0.45 → rumdl-0.0.47}/src/lib.rs +1 -1
  171. {rumdl-0.0.45 → rumdl-0.0.47}/src/profiling.rs +0 -0
  172. {rumdl-0.0.45 → rumdl-0.0.47}/src/rule.rs +0 -0
  173. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/blockquote_utils.rs +0 -0
  174. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/code_block_utils.rs +0 -0
  175. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/code_fence_utils.rs +0 -0
  176. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/list_utils.rs +0 -0
  177. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md009_no_trailing_spaces.rs +0 -0
  178. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md011_no_reversed_links.rs +0 -0
  179. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md024_no_duplicate_heading.rs +0 -0
  180. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md027_no_multiple_space_blockquote.rs +0 -0
  181. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md029_ol_prefix.rs +0 -0
  182. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md029_ordered_list_item_prefix.rs +0 -0
  183. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md029_ordered_list_marker.rs +0 -0
  184. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/md047_single_trailing_newline.rs +0 -0
  185. {rumdl-0.0.45 → rumdl-0.0.47}/src/rules/mod.rs +0 -0
  186. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/code_block_utils.rs +0 -0
  187. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/markdown_elements.rs +0 -0
  188. {rumdl-0.0.45 → rumdl-0.0.47}/src/utils/range_utils.rs +0 -0
  189. {rumdl-0.0.45 → rumdl-0.0.47}/tests/cli_duplication_test.rs +0 -0
  190. {rumdl-0.0.45 → rumdl-0.0.47}/tests/commonmark_compliance_tests.rs +0 -0
  191. {rumdl-0.0.45 → rumdl-0.0.47}/tests/comprehensive_integration_tests.rs +0 -0
  192. {rumdl-0.0.45 → rumdl-0.0.47}/tests/init_command_test.rs +0 -0
  193. {rumdl-0.0.45 → rumdl-0.0.47}/tests/init_tests.rs +0 -0
  194. {rumdl-0.0.45 → rumdl-0.0.47}/tests/lib.rs +2 -2
  195. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md001_test.rs +0 -0
  196. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md001_unicode_test.rs +0 -0
  197. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md003_test.rs +0 -0
  198. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md005_test.rs +0 -0
  199. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md006_test.rs +0 -0
  200. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md006_unicode_test.rs +0 -0
  201. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md007_test.rs +0 -0
  202. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md008_test.rs +0 -0
  203. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md009_test.rs +0 -0
  204. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md010_test.rs +0 -0
  205. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md011_test.rs +0 -0
  206. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md012_test.rs +0 -0
  207. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md013_test.rs +0 -0
  208. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md014_test.rs +0 -0
  209. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md015_proptest.rs +0 -0
  210. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md015_test.rs +0 -0
  211. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md016_test.rs +0 -0
  212. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md017_test.rs +0 -0
  213. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md018_test.rs +0 -0
  214. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md019_test.rs +0 -0
  215. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md022_test.rs +0 -0
  216. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md023_extended_test.rs +0 -0
  217. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md023_test.rs +0 -0
  218. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md024_test.rs +0 -0
  219. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md025_test.rs +0 -0
  220. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md026_test.rs +0 -0
  221. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md027_test.rs +0 -0
  222. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md028_test.rs +0 -0
  223. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md029_test.rs +0 -0
  224. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md030_test.rs +0 -0
  225. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md031_test.rs +0 -0
  226. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md033_extended_test.rs +0 -0
  227. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md033_test.rs +0 -0
  228. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md034_test.rs +0 -0
  229. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md035_test.rs +0 -0
  230. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md036_test.rs +0 -0
  231. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md038_test.rs +0 -0
  232. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md039_test.rs +0 -0
  233. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md040_test.rs +0 -0
  234. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md041_test.rs +0 -0
  235. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md042_test.rs +0 -0
  236. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md043_test.rs +0 -0
  237. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md045_test.rs +0 -0
  238. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md046_test.rs +0 -0
  239. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md047_test.rs +0 -0
  240. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md048_test.rs +0 -0
  241. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md049_test.rs +0 -0
  242. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md050_test.rs +0 -0
  243. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md051_test.rs +0 -0
  244. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md052_test.rs +0 -0
  245. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md053_proptest.rs +0 -0
  246. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md053_test.rs +0 -0
  247. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md054_unicode_test.rs +0 -0
  248. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md055_test.rs +0 -0
  249. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md056_test.rs +0 -0
  250. {rumdl-0.0.45 → rumdl-0.0.47}/tests/rules/md058_test.rs +0 -0
  251. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/blockquote_utils_test.rs +0 -0
  252. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/code_block_utils_extended_test.rs +0 -0
  253. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/code_block_utils_test.rs +0 -0
  254. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/core_utils_test.rs +0 -0
  255. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/front_matter_utils_test.rs +0 -0
  256. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/line_index_test.rs +0 -0
  257. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils/mod.rs +0 -0
  258. {rumdl-0.0.45 → rumdl-0.0.47}/tests/utils_markdown_edge_cases.rs +0 -0
@@ -1208,7 +1208,7 @@ dependencies = [
1208
1208
 
1209
1209
  [[package]]
1210
1210
  name = "rumdl"
1211
- version = "0.0.45"
1211
+ version = "0.0.47"
1212
1212
  dependencies = [
1213
1213
  "anyhow",
1214
1214
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.45"
3
+ version = "0.0.47"
4
4
  edition = "2021"
5
5
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
6
6
  authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.45
3
+ Version: 0.0.47
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -59,6 +59,7 @@ Project-URL: Repository, https://github.com/rvben/rumdl.git
59
59
  - [Using pip (Python)](#using-pip-python)
60
60
  - [Download binary](#download-binary)
61
61
  - [Usage](#usage)
62
+ - [Pre-commit Integration](#pre-commit-integration)
62
63
  - [Rules](#rules)
63
64
  - [Command-line Interface](#command-line-interface)
64
65
  - [Commands](#commands)
@@ -74,7 +75,6 @@ Project-URL: Repository, https://github.com/rvben/rumdl.git
74
75
  - [Prerequisites](#prerequisites)
75
76
  - [Building](#building)
76
77
  - [Testing](#testing)
77
- - [Using rumdl with pre-commit](#using-rumdl-with-pre-commit)
78
78
  - [License](#license)
79
79
 
80
80
  ## Quick Start
@@ -177,6 +177,33 @@ rumdl check --include "docs/**/*.md" --exclude "docs/temp,docs/drafts" .
177
177
  rumdl check --no-respect-gitignore .
178
178
  ```
179
179
 
180
+ ## Pre-commit Integration
181
+
182
+ You can use `rumdl` as a pre-commit hook to check and fix your Markdown files.
183
+
184
+ The recommended way is to use the official pre-commit hook repository:
185
+
186
+ [rumdl-pre-commit repository](https://github.com/rvben/rumdl-pre-commit)
187
+
188
+ Add the following to your `.pre-commit-config.yaml`:
189
+
190
+ ```yaml
191
+ repos:
192
+ - repo: https://github.com/rvben/rumdl-pre-commit
193
+ rev: v0.0.45 # Use the latest release tag
194
+ hooks:
195
+ - id: rumdl
196
+ # To only check (default):
197
+ # args: []
198
+ # To automatically fix issues:
199
+ # args: [--fix]
200
+ ```
201
+
202
+ - By default, the hook will only check for issues.
203
+ - To automatically fix issues, add `args: [--fix]` to the hook configuration.
204
+
205
+ When you run `pre-commit install` or `pre-commit run`, pre-commit will automatically install `rumdl` in an isolated Python environment using pip. You do **not** need to install rumdl manually.
206
+
180
207
  ## Rules
181
208
 
182
209
  rumdl implements over 50 lint rules for Markdown files. Here are some key rule categories:
@@ -391,26 +418,6 @@ make build
391
418
  make test
392
419
  ```
393
420
 
394
- ## Using rumdl with pre-commit
395
-
396
- You can use `rumdl` as a pre-commit hook in your own projects to check your Markdown files.
397
-
398
- Add the following to your `.pre-commit-config.yaml`:
399
-
400
- ```yaml
401
- repos:
402
- - repo: https://github.com/rvben/rumdl
403
- rev: v0.0.45 # Use the latest release tag
404
- hooks:
405
- - id: rumdl-check # Just check for issues
406
- # Or use rumdl-fix to automatically fix issues:
407
- # - id: rumdl-fix
408
- ```
409
-
410
- Then run `pre-commit install`.
411
-
412
- Pre-commit will automatically download and install `rumdl` using `cargo`. `rumdl` will respect any `.rumdl.toml` or `pyproject.toml` configuration file present in your repository.
413
-
414
421
  ## License
415
422
 
416
423
  rumdl is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
@@ -29,6 +29,7 @@
29
29
  - [Using pip (Python)](#using-pip-python)
30
30
  - [Download binary](#download-binary)
31
31
  - [Usage](#usage)
32
+ - [Pre-commit Integration](#pre-commit-integration)
32
33
  - [Rules](#rules)
33
34
  - [Command-line Interface](#command-line-interface)
34
35
  - [Commands](#commands)
@@ -44,7 +45,6 @@
44
45
  - [Prerequisites](#prerequisites)
45
46
  - [Building](#building)
46
47
  - [Testing](#testing)
47
- - [Using rumdl with pre-commit](#using-rumdl-with-pre-commit)
48
48
  - [License](#license)
49
49
 
50
50
  ## Quick Start
@@ -147,6 +147,33 @@ rumdl check --include "docs/**/*.md" --exclude "docs/temp,docs/drafts" .
147
147
  rumdl check --no-respect-gitignore .
148
148
  ```
149
149
 
150
+ ## Pre-commit Integration
151
+
152
+ You can use `rumdl` as a pre-commit hook to check and fix your Markdown files.
153
+
154
+ The recommended way is to use the official pre-commit hook repository:
155
+
156
+ [rumdl-pre-commit repository](https://github.com/rvben/rumdl-pre-commit)
157
+
158
+ Add the following to your `.pre-commit-config.yaml`:
159
+
160
+ ```yaml
161
+ repos:
162
+ - repo: https://github.com/rvben/rumdl-pre-commit
163
+ rev: v0.0.45 # Use the latest release tag
164
+ hooks:
165
+ - id: rumdl
166
+ # To only check (default):
167
+ # args: []
168
+ # To automatically fix issues:
169
+ # args: [--fix]
170
+ ```
171
+
172
+ - By default, the hook will only check for issues.
173
+ - To automatically fix issues, add `args: [--fix]` to the hook configuration.
174
+
175
+ When you run `pre-commit install` or `pre-commit run`, pre-commit will automatically install `rumdl` in an isolated Python environment using pip. You do **not** need to install rumdl manually.
176
+
150
177
  ## Rules
151
178
 
152
179
  rumdl implements over 50 lint rules for Markdown files. Here are some key rule categories:
@@ -361,26 +388,6 @@ make build
361
388
  make test
362
389
  ```
363
390
 
364
- ## Using rumdl with pre-commit
365
-
366
- You can use `rumdl` as a pre-commit hook in your own projects to check your Markdown files.
367
-
368
- Add the following to your `.pre-commit-config.yaml`:
369
-
370
- ```yaml
371
- repos:
372
- - repo: https://github.com/rvben/rumdl
373
- rev: v0.0.45 # Use the latest release tag
374
- hooks:
375
- - id: rumdl-check # Just check for issues
376
- # Or use rumdl-fix to automatically fix issues:
377
- # - id: rumdl-fix
378
- ```
379
-
380
- Then run `pre-commit install`.
381
-
382
- Pre-commit will automatically download and install `rumdl` using `cargo`. `rumdl` will respect any `.rumdl.toml` or `pyproject.toml` configuration file present in your repository.
383
-
384
391
  ## License
385
392
 
386
393
  rumdl is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
@@ -1,11 +1,12 @@
1
1
  use criterion::{black_box, criterion_group, criterion_main, Criterion};
2
+ use rand::rng;
2
3
  use rand::Rng;
3
4
  use rumdl::rule::Rule;
4
5
  use rumdl::MD053LinkImageReferenceDefinitions;
5
6
 
6
7
  fn create_test_content(size: usize, ratio: f64) -> String {
7
8
  let mut content = String::with_capacity(size);
8
- let mut rng = rand::thread_rng();
9
+ let mut rng = rng();
9
10
  let line_length = 80;
10
11
  let words_per_line = 10;
11
12
  let word_length = line_length / words_per_line;
@@ -14,9 +15,9 @@ fn create_test_content(size: usize, ratio: f64) -> String {
14
15
  content.push_str("# Test Document with References\n\n");
15
16
 
16
17
  for i in 0..100 {
17
- if rng.gen::<f64>() < 0.5 {
18
+ if rng.random::<f64>() < 0.5 {
18
19
  // 50% chance to add a reference
19
- if rng.gen::<f64>() < 0.7 {
20
+ if rng.random::<f64>() < 0.7 {
20
21
  // 70% chance to be a link, 30% to be an image
21
22
  content.push_str(&format!("[Link {}][ref-{}]\n", i, i));
22
23
  } else {
@@ -30,12 +31,12 @@ fn create_test_content(size: usize, ratio: f64) -> String {
30
31
  // Create paragraphs
31
32
  let num_paragraphs = size / (line_length * 5);
32
33
  for _ in 0..num_paragraphs {
33
- let num_lines = rng.gen_range(3..7);
34
+ let num_lines = rng.random_range(3..7);
34
35
  for _ in 0..num_lines {
35
36
  for _ in 0..words_per_line {
36
- let word_size = rng.gen_range(3..word_length);
37
+ let word_size = rng.random_range(3..word_length);
37
38
  for _ in 0..word_size {
38
- let c = (b'a' + rng.gen_range(0..26)) as char;
39
+ let c = (b'a' + rng.random_range(0..26)) as char;
39
40
  content.push(c);
40
41
  }
41
42
  content.push(' ');
@@ -47,7 +48,7 @@ fn create_test_content(size: usize, ratio: f64) -> String {
47
48
 
48
49
  // Add reference definitions at the end
49
50
  for i in 0..100 {
50
- if rng.gen::<f64>() < ratio {
51
+ if rng.random::<f64>() < ratio {
51
52
  // Only add a portion based on ratio
52
53
  content.push_str(&format!("[ref-{}]: https://example.com/ref-{}\n", i, i));
53
54
  }
@@ -1,4 +1,6 @@
1
1
  use criterion::{black_box, criterion_group, criterion_main, Criterion};
2
+ use rand::rng;
3
+ use rand::Rng;
2
4
  use rumdl::utils::range_utils::LineIndex;
3
5
 
4
6
  // Naive implementation that doesn't use the optimized function
@@ -78,14 +80,13 @@ fn bench_range_utils(c: &mut Criterion) {
78
80
  });
79
81
 
80
82
  // Benchmark with random accesses
81
- use rand::prelude::*;
82
- let mut rng = rand::thread_rng();
83
+ let mut rng = rng();
83
84
 
84
85
  c.bench_function("random_access_optimized", |b| {
85
86
  b.iter(|| {
86
87
  for _ in 0..20 {
87
- let line = rng.gen_range(1..=line_count);
88
- let col = rng.gen_range(1..=40);
88
+ let line = rng.random_range(1..=line_count);
89
+ let col = rng.random_range(1..=40);
89
90
  black_box(line_index.line_col_to_byte_range(line, col));
90
91
  }
91
92
  })
@@ -94,8 +95,8 @@ fn bench_range_utils(c: &mut Criterion) {
94
95
  c.bench_function("random_access_naive", |b| {
95
96
  b.iter(|| {
96
97
  for _ in 0..20 {
97
- let line = rng.gen_range(1..=line_count);
98
- let col = rng.gen_range(1..=40);
98
+ let line = rng.random_range(1..=line_count);
99
+ let col = rng.random_range(1..=40);
99
100
  black_box(naive_line_col_to_byte_range(black_box(&content), line, col));
100
101
  }
101
102
  })
@@ -47,7 +47,7 @@ pub struct GlobalConfig {
47
47
  /// Ignore .gitignore file
48
48
  #[serde(default)]
49
49
  pub ignore_gitignore: bool,
50
-
50
+
51
51
  /// Respect .gitignore files when scanning directories
52
52
  #[serde(default = "default_respect_gitignore")]
53
53
  pub respect_gitignore: bool,
@@ -85,7 +85,7 @@ pub fn load_config(config_path: Option<&str>) -> Result<Config, ConfigError> {
85
85
  return load_config_from_file(filename);
86
86
  }
87
87
  }
88
-
88
+
89
89
  // Check for pyproject.toml
90
90
  if Path::new("pyproject.toml").exists() {
91
91
  return load_config_from_pyproject("pyproject.toml");
@@ -115,13 +115,13 @@ fn load_config_from_pyproject(path: &str) -> Result<Config, ConfigError> {
115
115
  Ok(content) => {
116
116
  // Parse the entire pyproject.toml
117
117
  let pyproject: toml::Value = toml::from_str(&content)?;
118
-
118
+
119
119
  // Try to extract [tool.rumdl] section
120
120
  match pyproject.get("tool").and_then(|t| t.get("rumdl")) {
121
121
  Some(rumdl_config) => {
122
122
  // Create a new Config with defaults
123
123
  let mut config = Config::default();
124
-
124
+
125
125
  // Parse the complete section into our configuration struct
126
126
  if let Some(rumdl_table) = rumdl_config.as_table() {
127
127
  // Extract global options from root level
@@ -130,85 +130,108 @@ fn load_config_from_pyproject(path: &str) -> Result<Config, ConfigError> {
130
130
  config.global.enable = values;
131
131
  }
132
132
  }
133
-
133
+
134
134
  if let Some(disable) = rumdl_table.get("disable") {
135
135
  if let Ok(values) = Vec::<String>::deserialize(disable.clone()) {
136
136
  config.global.disable = values;
137
137
  }
138
138
  }
139
-
139
+
140
140
  if let Some(include) = rumdl_table.get("include") {
141
141
  if let Ok(values) = Vec::<String>::deserialize(include.clone()) {
142
142
  config.global.include = values;
143
143
  }
144
144
  }
145
-
145
+
146
146
  if let Some(exclude) = rumdl_table.get("exclude") {
147
147
  if let Ok(values) = Vec::<String>::deserialize(exclude.clone()) {
148
148
  config.global.exclude = values;
149
149
  }
150
150
  }
151
-
152
- if let Some(ignore_gitignore) = rumdl_table.get("ignore-gitignore")
153
- .or_else(|| rumdl_table.get("ignore_gitignore")) {
151
+
152
+ if let Some(ignore_gitignore) = rumdl_table
153
+ .get("ignore-gitignore")
154
+ .or_else(|| rumdl_table.get("ignore_gitignore"))
155
+ {
154
156
  if let Ok(value) = bool::deserialize(ignore_gitignore.clone()) {
155
157
  config.global.ignore_gitignore = value;
156
158
  }
157
159
  }
158
-
159
- if let Some(respect_gitignore) = rumdl_table.get("respect-gitignore")
160
- .or_else(|| rumdl_table.get("respect_gitignore")) {
160
+
161
+ if let Some(respect_gitignore) = rumdl_table
162
+ .get("respect-gitignore")
163
+ .or_else(|| rumdl_table.get("respect_gitignore"))
164
+ {
161
165
  if let Ok(value) = bool::deserialize(respect_gitignore.clone()) {
162
166
  config.global.respect_gitignore = value;
163
167
  }
164
168
  }
165
-
169
+
166
170
  // Handle line-length special case
167
- if let Some(line_length) = rumdl_table.get("line-length")
168
- .or_else(|| rumdl_table.get("line_length")) {
171
+ if let Some(line_length) = rumdl_table
172
+ .get("line-length")
173
+ .or_else(|| rumdl_table.get("line_length"))
174
+ {
169
175
  // Create MD013 rule config if it doesn't exist
170
176
  if !config.rules.contains_key("MD013") {
171
- config.rules.insert("MD013".to_string(), RuleConfig::default());
177
+ config
178
+ .rules
179
+ .insert("MD013".to_string(), RuleConfig::default());
172
180
  }
173
-
181
+
174
182
  // Add line_length to the MD013 section
175
183
  if let Some(rule_config) = config.rules.get_mut("MD013") {
176
- rule_config.values.insert("line_length".to_string(), line_length.clone());
184
+ rule_config
185
+ .values
186
+ .insert("line_length".to_string(), line_length.clone());
177
187
  }
178
188
  }
179
-
189
+
180
190
  // Extract rule-specific configurations
181
191
  for (key, value) in rumdl_table {
182
192
  // Skip keys that we've already processed as global options
183
- if ["enable", "disable", "include", "exclude", "ignore-gitignore",
184
- "ignore_gitignore", "line-length", "line_length",
185
- "respect-gitignore", "respect_gitignore"].contains(&key.as_str()) {
193
+ if [
194
+ "enable",
195
+ "disable",
196
+ "include",
197
+ "exclude",
198
+ "ignore-gitignore",
199
+ "ignore_gitignore",
200
+ "line-length",
201
+ "line_length",
202
+ "respect-gitignore",
203
+ "respect_gitignore",
204
+ ]
205
+ .contains(&key.as_str())
206
+ {
186
207
  continue;
187
208
  }
188
-
209
+
189
210
  // If it's a table, treat it as a rule configuration
190
211
  if let Some(rule_table) = value.as_table() {
191
212
  let mut rule_config = RuleConfig::default();
192
-
213
+
193
214
  // Add all values from the table to the rule config
194
215
  for (rule_key, rule_value) in rule_table {
195
- rule_config.values.insert(rule_key.to_string(), rule_value.clone());
216
+ rule_config
217
+ .values
218
+ .insert(rule_key.to_string(), rule_value.clone());
196
219
  }
197
-
220
+
198
221
  // Add to the config
199
222
  config.rules.insert(key.to_string(), rule_config);
200
223
  }
201
224
  }
202
225
  }
203
-
226
+
204
227
  Ok(config)
205
- },
228
+ }
206
229
  None => {
207
230
  // No rumdl configuration found in pyproject.toml
208
231
  Ok(Config::default())
209
232
  }
210
233
  }
211
- },
234
+ }
212
235
  Err(err) => Err(ConfigError::IoError {
213
236
  source: err,
214
237
  path: path.to_string(),
@@ -378,7 +401,7 @@ mod tests {
378
401
  fn test_pyproject_toml_root_level_config() {
379
402
  let temp_dir = tempdir().unwrap();
380
403
  let config_path = temp_dir.path().join("pyproject.toml");
381
-
404
+
382
405
  // Create a test pyproject.toml with root-level configuration
383
406
  let content = r#"
384
407
  [tool.rumdl]
@@ -389,43 +412,46 @@ include = ["docs/*.md"]
389
412
  exclude = ["node_modules"]
390
413
  respect-gitignore = true
391
414
  "#;
392
-
415
+
393
416
  fs::write(&config_path, content).unwrap();
394
-
417
+
395
418
  // Load the config
396
419
  let config = load_config_from_pyproject(config_path.to_str().unwrap()).unwrap();
397
-
420
+
398
421
  // Check global settings
399
422
  assert_eq!(config.global.disable, vec!["MD033".to_string()]);
400
- assert_eq!(config.global.enable, vec!["MD001".to_string(), "MD004".to_string()]);
423
+ assert_eq!(
424
+ config.global.enable,
425
+ vec!["MD001".to_string(), "MD004".to_string()]
426
+ );
401
427
  assert_eq!(config.global.include, vec!["docs/*.md".to_string()]);
402
428
  assert_eq!(config.global.exclude, vec!["node_modules".to_string()]);
403
- assert_eq!(config.global.respect_gitignore, true);
404
-
429
+ assert!(config.global.respect_gitignore);
430
+
405
431
  // Check line_length was correctly added to MD013
406
432
  let line_length = get_rule_config_value::<usize>(&config, "MD013", "line_length");
407
433
  assert_eq!(line_length, Some(120));
408
434
  }
409
-
435
+
410
436
  #[test]
411
437
  fn test_pyproject_toml_snake_case_and_kebab_case() {
412
438
  let temp_dir = tempdir().unwrap();
413
439
  let config_path = temp_dir.path().join("pyproject.toml");
414
-
440
+
415
441
  // Test with both kebab-case and snake_case variants
416
442
  let content = r#"
417
443
  [tool.rumdl]
418
444
  line_length = 150
419
445
  respect_gitignore = true
420
446
  "#;
421
-
447
+
422
448
  fs::write(&config_path, content).unwrap();
423
-
449
+
424
450
  // Load the config
425
451
  let config = load_config_from_pyproject(config_path.to_str().unwrap()).unwrap();
426
-
452
+
427
453
  // Check settings were correctly loaded
428
- assert_eq!(config.global.respect_gitignore, true);
454
+ assert!(config.global.respect_gitignore);
429
455
  let line_length = get_rule_config_value::<usize>(&config, "MD013", "line_length");
430
456
  assert_eq!(line_length, Some(150));
431
457
  }