rumdl 0.0.47__tar.gz → 0.0.49__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 (260) hide show
  1. {rumdl-0.0.47 → rumdl-0.0.49}/Cargo.lock +38 -31
  2. {rumdl-0.0.47 → rumdl-0.0.49}/Cargo.toml +1 -1
  3. {rumdl-0.0.47 → rumdl-0.0.49}/PKG-INFO +93 -30
  4. {rumdl-0.0.47 → rumdl-0.0.49}/README.md +92 -29
  5. rumdl-0.0.49/src/config.rs +898 -0
  6. rumdl-0.0.49/src/main.rs +1751 -0
  7. {rumdl-0.0.47 → rumdl-0.0.49}/src/rule.rs +5 -0
  8. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md002_first_heading_h1.rs +7 -0
  9. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md003_heading_style.rs +19 -0
  10. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md004_unordered_list_style.rs +15 -0
  11. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md005_list_indent.rs +5 -0
  12. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md006_start_bullets.rs +5 -0
  13. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md007_ul_indent.rs +10 -0
  14. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md008_ul_style.rs +11 -0
  15. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md009_trailing_spaces.rs +12 -0
  16. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md012_no_multiple_blanks.rs +10 -0
  17. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md013_line_length.rs +17 -0
  18. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md014_commands_show_output.rs +10 -0
  19. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md015_no_missing_space_after_list_marker.rs +10 -0
  20. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md016_no_multiple_space_after_list_marker.rs +10 -0
  21. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md022_blanks_around_headings.rs +14 -0
  22. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md024_no_duplicate_heading.rs +14 -1
  23. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md025_single_title.rs +11 -0
  24. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md026_no_trailing_punctuation.rs +10 -0
  25. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md029_ordered_list_prefix.rs +7 -0
  26. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md030_list_marker_space.rs +22 -0
  27. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md033_no_inline_html.rs +13 -0
  28. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md035_hr_style.rs +7 -0
  29. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md053_link_image_reference_definitions.rs +11 -0
  30. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md054_link_image_style.rs +13 -0
  31. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md055_table_pipe_style.rs +11 -0
  32. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md057_existing_relative_links.rs +8 -0
  33. {rumdl-0.0.47 → rumdl-0.0.49}/tests/cli_integration_tests.rs +160 -0
  34. {rumdl-0.0.47 → rumdl-0.0.49}/tests/config_application_tests.rs +0 -1
  35. {rumdl-0.0.47 → rumdl-0.0.49}/tests/config_tests.rs +1 -6
  36. {rumdl-0.0.47 → rumdl-0.0.49}/tests/init_command_test.rs +0 -1
  37. {rumdl-0.0.47 → rumdl-0.0.49}/tests/pyproject_config_tests.rs +0 -2
  38. rumdl-0.0.47/src/config.rs +0 -458
  39. rumdl-0.0.47/src/main.rs +0 -1015
  40. {rumdl-0.0.47 → rumdl-0.0.49}/.pre-commit-config.yaml +0 -0
  41. {rumdl-0.0.47 → rumdl-0.0.49}/.rumdl.toml +0 -0
  42. {rumdl-0.0.47 → rumdl-0.0.49}/MANIFEST.in +0 -0
  43. {rumdl-0.0.47 → rumdl-0.0.49}/Makefile +0 -0
  44. {rumdl-0.0.47 → rumdl-0.0.49}/assets/logo.png +0 -0
  45. {rumdl-0.0.47 → rumdl-0.0.49}/benches/range_performance.rs +0 -0
  46. {rumdl-0.0.47 → rumdl-0.0.49}/benches/range_utils_benchmark.rs +0 -0
  47. {rumdl-0.0.47 → rumdl-0.0.49}/benches/rule_performance.rs +0 -0
  48. {rumdl-0.0.47 → rumdl-0.0.49}/docs/RULES.md +0 -0
  49. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md001.md +0 -0
  50. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md002.md +0 -0
  51. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md003.md +0 -0
  52. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md004.md +0 -0
  53. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md005.md +0 -0
  54. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md006.md +0 -0
  55. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md007.md +0 -0
  56. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md008.md +0 -0
  57. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md009.md +0 -0
  58. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md010.md +0 -0
  59. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md011.md +0 -0
  60. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md012.md +0 -0
  61. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md013.md +0 -0
  62. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md014.md +0 -0
  63. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md015.md +0 -0
  64. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md016.md +0 -0
  65. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md017.md +0 -0
  66. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md018.md +0 -0
  67. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md019.md +0 -0
  68. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md020.md +0 -0
  69. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md021.md +0 -0
  70. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md022.md +0 -0
  71. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md023.md +0 -0
  72. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md024.md +0 -0
  73. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md025.md +0 -0
  74. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md026.md +0 -0
  75. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md027.md +0 -0
  76. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md028.md +0 -0
  77. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md029.md +0 -0
  78. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md030.md +0 -0
  79. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md031.md +0 -0
  80. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md032.md +0 -0
  81. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md033.md +0 -0
  82. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md034.md +0 -0
  83. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md035.md +0 -0
  84. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md036.md +0 -0
  85. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md037.md +0 -0
  86. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md038.md +0 -0
  87. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md039.md +0 -0
  88. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md040.md +0 -0
  89. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md041.md +0 -0
  90. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md042.md +0 -0
  91. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md043.md +0 -0
  92. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md044.md +0 -0
  93. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md045.md +0 -0
  94. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md046.md +0 -0
  95. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md047.md +0 -0
  96. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md048.md +0 -0
  97. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md049.md +0 -0
  98. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md050.md +0 -0
  99. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md051.md +0 -0
  100. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md052.md +0 -0
  101. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md053.md +0 -0
  102. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md054.md +0 -0
  103. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md055.md +0 -0
  104. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md056.md +0 -0
  105. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md057.md +0 -0
  106. {rumdl-0.0.47 → rumdl-0.0.49}/docs/md058.md +0 -0
  107. {rumdl-0.0.47 → rumdl-0.0.49}/pyproject.toml +0 -0
  108. {rumdl-0.0.47 → rumdl-0.0.49}/python/MANIFEST.in +0 -0
  109. {rumdl-0.0.47 → rumdl-0.0.49}/python/PYTHON-README.md +0 -0
  110. {rumdl-0.0.47 → rumdl-0.0.49}/python/rumdl/__init__.py +0 -0
  111. {rumdl-0.0.47 → rumdl-0.0.49}/python/rumdl/__main__.py +0 -0
  112. {rumdl-0.0.47 → rumdl-0.0.49}/python/rumdl/py.typed +0 -0
  113. {rumdl-0.0.47 → rumdl-0.0.49}/rumdl.toml.example +0 -0
  114. {rumdl-0.0.47 → rumdl-0.0.49}/src/init.rs +0 -0
  115. {rumdl-0.0.47 → rumdl-0.0.49}/src/lib.rs +0 -0
  116. {rumdl-0.0.47 → rumdl-0.0.49}/src/profiling.rs +0 -0
  117. {rumdl-0.0.47 → rumdl-0.0.49}/src/python.rs +0 -0
  118. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/blockquote_utils.rs +0 -0
  119. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/code_block_utils.rs +0 -0
  120. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/code_fence_utils.rs +0 -0
  121. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/emphasis_style.rs +0 -0
  122. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/front_matter_utils.rs +0 -0
  123. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/heading_utils.rs +0 -0
  124. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/list_utils.rs +0 -0
  125. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md001_heading_increment.rs +0 -0
  126. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md009_no_trailing_spaces.rs +0 -0
  127. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md010_no_hard_tabs.rs +0 -0
  128. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md011_no_reversed_links.rs +0 -0
  129. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md011_reversed_link.rs +0 -0
  130. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md017_no_emphasis_as_heading.rs +0 -0
  131. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md018_no_missing_space_atx.rs +0 -0
  132. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  133. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  134. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  135. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md023_heading_start_left.rs +0 -0
  136. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md024_multiple_headings.rs +0 -0
  137. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  138. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md027_no_multiple_space_blockquote.rs +0 -0
  139. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  140. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md029_ol_prefix.rs +0 -0
  141. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md029_ordered_list_item_prefix.rs +0 -0
  142. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md029_ordered_list_marker.rs +0 -0
  143. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md031_blanks_around_fences.rs +0 -0
  144. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md032_blanks_around_lists.rs +0 -0
  145. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md034_no_bare_urls.rs +0 -0
  146. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  147. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  148. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md038_no_space_in_code.rs +0 -0
  149. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md039_no_space_in_links.rs +0 -0
  150. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md040_fenced_code_language.rs +0 -0
  151. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md041_first_line_heading.rs +0 -0
  152. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md042_no_empty_links.rs +0 -0
  153. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md043_required_headings.rs +0 -0
  154. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md044_proper_names.rs +0 -0
  155. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md045_no_alt_text.rs +0 -0
  156. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md046_code_block_style.rs +0 -0
  157. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md047_file_end_newline.rs +0 -0
  158. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md047_single_trailing_newline.rs +0 -0
  159. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md048_code_fence_style.rs +0 -0
  160. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md049_emphasis_style.rs +0 -0
  161. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md050_strong_style.rs +0 -0
  162. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md051_link_fragments.rs +0 -0
  163. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md052_reference_links_images.rs +0 -0
  164. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md056_table_column_count.rs +0 -0
  165. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/md058_blanks_around_tables.rs +0 -0
  166. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/mod.rs +0 -0
  167. {rumdl-0.0.47 → rumdl-0.0.49}/src/rules/strong_style.rs +0 -0
  168. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/code_block_utils.rs +0 -0
  169. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/document_structure.rs +0 -0
  170. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/early_returns.rs +0 -0
  171. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/element_cache.rs +0 -0
  172. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/markdown_elements.rs +0 -0
  173. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/mod.rs +0 -0
  174. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/range_utils.rs +0 -0
  175. {rumdl-0.0.47 → rumdl-0.0.49}/src/utils/regex_cache.rs +0 -0
  176. {rumdl-0.0.47 → rumdl-0.0.49}/tests/advanced_integration_tests.rs +0 -0
  177. {rumdl-0.0.47 → rumdl-0.0.49}/tests/cli_duplication_test.rs +0 -0
  178. {rumdl-0.0.47 → rumdl-0.0.49}/tests/commonmark_compliance_tests.rs +0 -0
  179. {rumdl-0.0.47 → rumdl-0.0.49}/tests/comprehensive_integration_tests.rs +0 -0
  180. {rumdl-0.0.47 → rumdl-0.0.49}/tests/init_tests.rs +0 -0
  181. {rumdl-0.0.47 → rumdl-0.0.49}/tests/integration_tests.rs +0 -0
  182. {rumdl-0.0.47 → rumdl-0.0.49}/tests/lib.rs +0 -0
  183. {rumdl-0.0.47 → rumdl-0.0.49}/tests/output_format_tests.rs +0 -0
  184. {rumdl-0.0.47 → rumdl-0.0.49}/tests/perf_check.rs +0 -0
  185. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md001_test.rs +0 -0
  186. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md001_unicode_test.rs +0 -0
  187. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md002_test.rs +0 -0
  188. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md003_test.rs +0 -0
  189. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md004_test.rs +0 -0
  190. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md005_test.rs +0 -0
  191. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md006_test.rs +0 -0
  192. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md006_unicode_test.rs +0 -0
  193. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md007_test.rs +0 -0
  194. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md008_test.rs +0 -0
  195. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md009_test.rs +0 -0
  196. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md010_test.rs +0 -0
  197. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md011_test.rs +0 -0
  198. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md012_test.rs +0 -0
  199. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md013_test.rs +0 -0
  200. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md014_test.rs +0 -0
  201. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md015_proptest.rs +0 -0
  202. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md015_test.rs +0 -0
  203. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md016_test.rs +0 -0
  204. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md017_test.rs +0 -0
  205. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md018_test.rs +0 -0
  206. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md019_test.rs +0 -0
  207. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md020_test.rs +0 -0
  208. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md021_test.rs +0 -0
  209. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md022_test.rs +0 -0
  210. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md023_extended_test.rs +0 -0
  211. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md023_test.rs +0 -0
  212. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md024_test.rs +0 -0
  213. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md025_test.rs +0 -0
  214. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md026_test.rs +0 -0
  215. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md027_test.rs +0 -0
  216. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md028_test.rs +0 -0
  217. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md029_test.rs +0 -0
  218. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md030_test.rs +0 -0
  219. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md031_test.rs +0 -0
  220. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md032_test.rs +0 -0
  221. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md033_extended_test.rs +0 -0
  222. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md033_test.rs +0 -0
  223. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md034_test.rs +0 -0
  224. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md035_test.rs +0 -0
  225. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md036_test.rs +0 -0
  226. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md037_test.rs +0 -0
  227. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md038_test.rs +0 -0
  228. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md039_test.rs +0 -0
  229. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md040_test.rs +0 -0
  230. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md041_test.rs +0 -0
  231. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md042_test.rs +0 -0
  232. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md043_test.rs +0 -0
  233. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md044_test.rs +0 -0
  234. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md045_test.rs +0 -0
  235. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md046_test.rs +0 -0
  236. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md047_test.rs +0 -0
  237. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md048_test.rs +0 -0
  238. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md049_test.rs +0 -0
  239. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md050_test.rs +0 -0
  240. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md051_test.rs +0 -0
  241. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md052_test.rs +0 -0
  242. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md053_additional_test.rs +0 -0
  243. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md053_proptest.rs +0 -0
  244. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md053_test.rs +0 -0
  245. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md054_test.rs +0 -0
  246. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md054_unicode_test.rs +0 -0
  247. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md055_test.rs +0 -0
  248. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md056_test.rs +0 -0
  249. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md057_test.rs +0 -0
  250. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/md058_test.rs +0 -0
  251. {rumdl-0.0.47 → rumdl-0.0.49}/tests/rules/mod.rs +0 -0
  252. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/blockquote_utils_test.rs +0 -0
  253. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/code_block_utils_extended_test.rs +0 -0
  254. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/code_block_utils_test.rs +0 -0
  255. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/core_utils_test.rs +0 -0
  256. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/front_matter_utils_test.rs +0 -0
  257. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/line_index_test.rs +0 -0
  258. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils/mod.rs +0 -0
  259. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils_markdown_edge_cases.rs +0 -0
  260. {rumdl-0.0.47 → rumdl-0.0.49}/tests/utils_tests.rs +0 -0
@@ -309,7 +309,7 @@ version = "0.1.16"
309
309
  source = "registry+https://github.com/rust-lang/crates.io-index"
310
310
  checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
311
311
  dependencies = [
312
- "getrandom 0.2.15",
312
+ "getrandom 0.2.16",
313
313
  "once_cell",
314
314
  "tiny-keccak",
315
315
  ]
@@ -546,9 +546,9 @@ dependencies = [
546
546
 
547
547
  [[package]]
548
548
  name = "getrandom"
549
- version = "0.2.15"
549
+ version = "0.2.16"
550
550
  source = "registry+https://github.com/rust-lang/crates.io-index"
551
- checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
551
+ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
552
552
  dependencies = [
553
553
  "cfg-if",
554
554
  "libc",
@@ -765,9 +765,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
765
765
 
766
766
  [[package]]
767
767
  name = "markdown"
768
- version = "1.0.0-alpha.23"
768
+ version = "1.0.0"
769
769
  source = "registry+https://github.com/rust-lang/crates.io-index"
770
- checksum = "9047e0a37a596d4e15411a1ffbdabe71c328908cb90a721cb9bf8dcf3434e6d2"
770
+ checksum = "a5cab8f2cadc416a82d2e783a1946388b31654d391d1c7d92cc1f03e295b1deb"
771
771
  dependencies = [
772
772
  "unicode-id",
773
773
  ]
@@ -995,9 +995,9 @@ dependencies = [
995
995
 
996
996
  [[package]]
997
997
  name = "pyo3"
998
- version = "0.24.1"
998
+ version = "0.24.2"
999
999
  source = "registry+https://github.com/rust-lang/crates.io-index"
1000
- checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229"
1000
+ checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219"
1001
1001
  dependencies = [
1002
1002
  "cfg-if",
1003
1003
  "indoc",
@@ -1013,9 +1013,9 @@ dependencies = [
1013
1013
 
1014
1014
  [[package]]
1015
1015
  name = "pyo3-build-config"
1016
- version = "0.24.1"
1016
+ version = "0.24.2"
1017
1017
  source = "registry+https://github.com/rust-lang/crates.io-index"
1018
- checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1"
1018
+ checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999"
1019
1019
  dependencies = [
1020
1020
  "once_cell",
1021
1021
  "target-lexicon",
@@ -1023,9 +1023,9 @@ dependencies = [
1023
1023
 
1024
1024
  [[package]]
1025
1025
  name = "pyo3-ffi"
1026
- version = "0.24.1"
1026
+ version = "0.24.2"
1027
1027
  source = "registry+https://github.com/rust-lang/crates.io-index"
1028
- checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc"
1028
+ checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33"
1029
1029
  dependencies = [
1030
1030
  "libc",
1031
1031
  "pyo3-build-config",
@@ -1033,9 +1033,9 @@ dependencies = [
1033
1033
 
1034
1034
  [[package]]
1035
1035
  name = "pyo3-macros"
1036
- version = "0.24.1"
1036
+ version = "0.24.2"
1037
1037
  source = "registry+https://github.com/rust-lang/crates.io-index"
1038
- checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44"
1038
+ checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9"
1039
1039
  dependencies = [
1040
1040
  "proc-macro2",
1041
1041
  "pyo3-macros-backend",
@@ -1045,9 +1045,9 @@ dependencies = [
1045
1045
 
1046
1046
  [[package]]
1047
1047
  name = "pyo3-macros-backend"
1048
- version = "0.24.1"
1048
+ version = "0.24.2"
1049
1049
  source = "registry+https://github.com/rust-lang/crates.io-index"
1050
- checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855"
1050
+ checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a"
1051
1051
  dependencies = [
1052
1052
  "heck",
1053
1053
  "proc-macro2",
@@ -1124,7 +1124,7 @@ version = "0.6.4"
1124
1124
  source = "registry+https://github.com/rust-lang/crates.io-index"
1125
1125
  checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1126
1126
  dependencies = [
1127
- "getrandom 0.2.15",
1127
+ "getrandom 0.2.16",
1128
1128
  ]
1129
1129
 
1130
1130
  [[package]]
@@ -1208,7 +1208,7 @@ dependencies = [
1208
1208
 
1209
1209
  [[package]]
1210
1210
  name = "rumdl"
1211
- version = "0.0.47"
1211
+ version = "0.0.49"
1212
1212
  dependencies = [
1213
1213
  "anyhow",
1214
1214
  "assert_cmd",
@@ -1380,9 +1380,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1380
1380
 
1381
1381
  [[package]]
1382
1382
  name = "syn"
1383
- version = "2.0.100"
1383
+ version = "2.0.101"
1384
1384
  source = "registry+https://github.com/rust-lang/crates.io-index"
1385
- checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
1385
+ checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
1386
1386
  dependencies = [
1387
1387
  "proc-macro2",
1388
1388
  "quote",
@@ -1475,9 +1475,9 @@ dependencies = [
1475
1475
 
1476
1476
  [[package]]
1477
1477
  name = "toml"
1478
- version = "0.8.20"
1478
+ version = "0.8.21"
1479
1479
  source = "registry+https://github.com/rust-lang/crates.io-index"
1480
- checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
1480
+ checksum = "900f6c86a685850b1bc9f6223b20125115ee3f31e01207d81655bbcc0aea9231"
1481
1481
  dependencies = [
1482
1482
  "serde",
1483
1483
  "serde_spanned",
@@ -1487,26 +1487,33 @@ dependencies = [
1487
1487
 
1488
1488
  [[package]]
1489
1489
  name = "toml_datetime"
1490
- version = "0.6.8"
1490
+ version = "0.6.9"
1491
1491
  source = "registry+https://github.com/rust-lang/crates.io-index"
1492
- checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
1492
+ checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
1493
1493
  dependencies = [
1494
1494
  "serde",
1495
1495
  ]
1496
1496
 
1497
1497
  [[package]]
1498
1498
  name = "toml_edit"
1499
- version = "0.22.24"
1499
+ version = "0.22.25"
1500
1500
  source = "registry+https://github.com/rust-lang/crates.io-index"
1501
- checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
1501
+ checksum = "10558ed0bd2a1562e630926a2d1f0b98c827da99fabd3fe20920a59642504485"
1502
1502
  dependencies = [
1503
1503
  "indexmap",
1504
1504
  "serde",
1505
1505
  "serde_spanned",
1506
1506
  "toml_datetime",
1507
+ "toml_write",
1507
1508
  "winnow",
1508
1509
  ]
1509
1510
 
1511
+ [[package]]
1512
+ name = "toml_write"
1513
+ version = "0.1.0"
1514
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1515
+ checksum = "28391a4201ba7eb1984cfeb6862c0b3ea2cfe23332298967c749dddc0d6cd976"
1516
+
1510
1517
  [[package]]
1511
1518
  name = "trim-in-place"
1512
1519
  version = "0.1.7"
@@ -1775,9 +1782,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1775
1782
 
1776
1783
  [[package]]
1777
1784
  name = "winnow"
1778
- version = "0.7.6"
1785
+ version = "0.7.7"
1779
1786
  source = "registry+https://github.com/rust-lang/crates.io-index"
1780
- checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
1787
+ checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5"
1781
1788
  dependencies = [
1782
1789
  "memchr",
1783
1790
  ]
@@ -1810,18 +1817,18 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
1810
1817
 
1811
1818
  [[package]]
1812
1819
  name = "zerocopy"
1813
- version = "0.8.24"
1820
+ version = "0.8.25"
1814
1821
  source = "registry+https://github.com/rust-lang/crates.io-index"
1815
- checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
1822
+ checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
1816
1823
  dependencies = [
1817
1824
  "zerocopy-derive",
1818
1825
  ]
1819
1826
 
1820
1827
  [[package]]
1821
1828
  name = "zerocopy-derive"
1822
- version = "0.8.24"
1829
+ version = "0.8.25"
1823
1830
  source = "registry+https://github.com/rust-lang/crates.io-index"
1824
- checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
1831
+ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
1825
1832
  dependencies = [
1826
1833
  "proc-macro2",
1827
1834
  "quote",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.47"
3
+ version = "0.0.49"
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.47
3
+ Version: 0.0.49
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -63,12 +63,14 @@ Project-URL: Repository, https://github.com/rvben/rumdl.git
63
63
  - [Rules](#rules)
64
64
  - [Command-line Interface](#command-line-interface)
65
65
  - [Commands](#commands)
66
- - [Options (for `check`)](#options-for-check)
67
- - [Example Help Output](#example-help-output)
66
+ - [Usage Examples](#usage-examples)
68
67
  - [Configuration](#configuration)
69
68
  - [Configuration File Example](#configuration-file-example)
70
69
  - [Initializing Configuration](#initializing-configuration)
71
70
  - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
71
+ - [Configuration Output](#configuration-output)
72
+ - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
73
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
72
74
  - [Output Style](#output-style)
73
75
  - [Output Format](#output-format)
74
76
  - [Development](#development)
@@ -233,43 +235,59 @@ rumdl <command> [options] [file or directory...]
233
235
  ### Commands
234
236
 
235
237
  - `check`: Lint Markdown files and print warnings/errors (main subcommand)
238
+ - Options:
239
+ - `-c, --config <file>`: Use custom configuration file
240
+ - `--fix`: Automatically fix issues where possible
241
+ - `-l, --list-rules`: List all available rules
242
+ - `-d, --disable <rules>`: Disable specific rules (comma-separated)
243
+ - `-e, --enable <rules>`: Enable only specific rules (comma-separated)
244
+ - `--exclude <patterns>`: Exclude specific files or directories (comma-separated glob patterns)
245
+ - `--include <patterns>`: Include only specific files or directories (comma-separated glob patterns)
246
+ - `--no-respect-gitignore`: Don't respect .gitignore files
247
+ - `-v, --verbose`: Show detailed output
248
+ - `--profile`: Show profiling information
249
+ - `-q, --quiet`: Suppress all output except errors
250
+
236
251
  - `init`: Create a default `.rumdl.toml` configuration file in the current directory
252
+ - `--pyproject`: Generate configuration for `pyproject.toml` instead of `.rumdl.toml`
253
+
254
+ - `rule [<rule>]`: Show information about a rule or list all rules
255
+ - If a rule name or ID is provided, shows details for that rule
256
+ - If no argument is given, lists all available rules
237
257
 
238
- ### Options (for `check`)
258
+ - `config [--defaults]`: Show the full effective configuration (default), or only the defaults.
259
+ - `--defaults`: Show only the default configuration as TOML.
260
+ - Subcommands:
261
+ - `get <key>`: Query a specific config key (e.g. `global.exclude` or `MD013.line_length`)
239
262
 
240
- - `-c, --config <file>`: Use custom configuration file
241
- - `--fix`: Automatically fix issues where possible
242
- - `-l, --list-rules`: List all available rules
243
- - `-d, --disable <rules>`: Disable specific rules (comma-separated)
244
- - `-e, --enable <rules>`: Enable only specific rules (comma-separated)
245
- - `--exclude <patterns>`: Exclude specific files or directories (comma-separated glob patterns)
246
- - `--include <patterns>`: Include only specific files or directories (comma-separated glob patterns)
247
- - `--respect-gitignore`: Respect .gitignore files when scanning directories (default: true)
248
- - `--no-respect-gitignore`: Don't respect .gitignore files (same as --ignore-gitignore)
249
- - `-v, --verbose`: Show detailed output
250
- - `--profile`: Show profiling information
251
- - `-q, --quiet`: Suppress all output except errors
263
+ - `version`: Show version information
252
264
 
253
- ### Example Help Output
265
+ ### Usage Examples
254
266
 
255
267
  ```bash
256
- rumdl --help
268
+ # Lint all Markdown files in the current directory
269
+ rumdl check .
270
+
271
+ # Automatically fix issues
272
+ rumdl check --fix .
273
+
274
+ # Create a default configuration file
275
+ rumdl init
276
+
277
+ # Create or update a pyproject.toml file with rumdl configuration
278
+ rumdl init --pyproject
257
279
 
258
- Usage: rumdl <COMMAND> [OPTIONS] [PATHS...]
280
+ # Show information about a specific rule
281
+ rumdl rule MD013
259
282
 
260
- Commands:
261
- check Lint Markdown files and print warnings/errors
262
- init Create a default configuration file
283
+ # List all available rules
284
+ rumdl rule
263
285
 
264
- Options (for 'check' subcommand):
265
- --fix Automatically fix fixable issues
266
- --rules <RULES> Comma-separated list of rules to enable
267
- --config <FILE> Path to configuration file
268
- --format <FORMAT> Output format (default: text)
269
- --help Print help information
270
- --version Print version information
286
+ # Query a specific config key
287
+ rumdl config get global.exclude
271
288
 
272
- If no command is given, 'check' is assumed (deprecated).
289
+ # Show version information
290
+ rumdl version
273
291
  ```
274
292
 
275
293
  ## Configuration
@@ -349,6 +367,51 @@ names = ["rumdl", "Markdown", "GitHub"]
349
367
 
350
368
  Both kebab-case (`line-length`, `ignore-gitignore`) and snake_case (`line_length`, `ignore_gitignore`) formats are supported for compatibility with different Python tooling conventions.
351
369
 
370
+ ### Configuration Output
371
+
372
+ #### Effective Configuration (`rumdl config`)
373
+
374
+ The `rumdl config` command prints the **full effective configuration** (defaults + all overrides), showing every key and its value, annotated with the source of each value. The output is colorized and the `[from ...]` annotation is globally aligned for easy scanning.
375
+
376
+ **Example output:**
377
+
378
+ ```text
379
+ [global]
380
+ enable = [] [from default]
381
+ disable = ["MD033"] [from .rumdl.toml]
382
+ include = ["README.md"] [from .rumdl.toml]
383
+ respect_gitignore = true [from .rumdl.toml]
384
+
385
+ [MD013]
386
+ line_length = 200 [from .rumdl.toml]
387
+ code_blocks = true [from .rumdl.toml]
388
+ ...
389
+ ```
390
+ - **Keys** are cyan, **values** are yellow, and the `[from ...]` annotation is colored by source:
391
+ - Green: CLI
392
+ - Blue: `.rumdl.toml`
393
+ - Magenta: `pyproject.toml`
394
+ - Yellow: default
395
+ - The `[from ...]` column is aligned across all sections.
396
+
397
+ #### Defaults Only (`rumdl config --defaults`)
398
+
399
+ The `--defaults` flag prints only the default configuration as TOML, suitable for copy-paste or reference:
400
+
401
+ ```toml
402
+ [global]
403
+ enable = []
404
+ disable = []
405
+ exclude = []
406
+ include = []
407
+ respect_gitignore = true
408
+
409
+ [MD013]
410
+ line_length = 80
411
+ code_blocks = true
412
+ ...
413
+ ```
414
+
352
415
  ## Output Style
353
416
 
354
417
  rumdl produces clean, colorized output similar to modern linting tools:
@@ -33,12 +33,14 @@
33
33
  - [Rules](#rules)
34
34
  - [Command-line Interface](#command-line-interface)
35
35
  - [Commands](#commands)
36
- - [Options (for `check`)](#options-for-check)
37
- - [Example Help Output](#example-help-output)
36
+ - [Usage Examples](#usage-examples)
38
37
  - [Configuration](#configuration)
39
38
  - [Configuration File Example](#configuration-file-example)
40
39
  - [Initializing Configuration](#initializing-configuration)
41
40
  - [Configuration in pyproject.toml](#configuration-in-pyprojecttoml)
41
+ - [Configuration Output](#configuration-output)
42
+ - [Effective Configuration (`rumdl config`)](#effective-configuration-rumdl-config)
43
+ - [Defaults Only (`rumdl config --defaults`)](#defaults-only-rumdl-config---defaults)
42
44
  - [Output Style](#output-style)
43
45
  - [Output Format](#output-format)
44
46
  - [Development](#development)
@@ -203,43 +205,59 @@ rumdl <command> [options] [file or directory...]
203
205
  ### Commands
204
206
 
205
207
  - `check`: Lint Markdown files and print warnings/errors (main subcommand)
208
+ - Options:
209
+ - `-c, --config <file>`: Use custom configuration file
210
+ - `--fix`: Automatically fix issues where possible
211
+ - `-l, --list-rules`: List all available rules
212
+ - `-d, --disable <rules>`: Disable specific rules (comma-separated)
213
+ - `-e, --enable <rules>`: Enable only specific rules (comma-separated)
214
+ - `--exclude <patterns>`: Exclude specific files or directories (comma-separated glob patterns)
215
+ - `--include <patterns>`: Include only specific files or directories (comma-separated glob patterns)
216
+ - `--no-respect-gitignore`: Don't respect .gitignore files
217
+ - `-v, --verbose`: Show detailed output
218
+ - `--profile`: Show profiling information
219
+ - `-q, --quiet`: Suppress all output except errors
220
+
206
221
  - `init`: Create a default `.rumdl.toml` configuration file in the current directory
222
+ - `--pyproject`: Generate configuration for `pyproject.toml` instead of `.rumdl.toml`
223
+
224
+ - `rule [<rule>]`: Show information about a rule or list all rules
225
+ - If a rule name or ID is provided, shows details for that rule
226
+ - If no argument is given, lists all available rules
207
227
 
208
- ### Options (for `check`)
228
+ - `config [--defaults]`: Show the full effective configuration (default), or only the defaults.
229
+ - `--defaults`: Show only the default configuration as TOML.
230
+ - Subcommands:
231
+ - `get <key>`: Query a specific config key (e.g. `global.exclude` or `MD013.line_length`)
209
232
 
210
- - `-c, --config <file>`: Use custom configuration file
211
- - `--fix`: Automatically fix issues where possible
212
- - `-l, --list-rules`: List all available rules
213
- - `-d, --disable <rules>`: Disable specific rules (comma-separated)
214
- - `-e, --enable <rules>`: Enable only specific rules (comma-separated)
215
- - `--exclude <patterns>`: Exclude specific files or directories (comma-separated glob patterns)
216
- - `--include <patterns>`: Include only specific files or directories (comma-separated glob patterns)
217
- - `--respect-gitignore`: Respect .gitignore files when scanning directories (default: true)
218
- - `--no-respect-gitignore`: Don't respect .gitignore files (same as --ignore-gitignore)
219
- - `-v, --verbose`: Show detailed output
220
- - `--profile`: Show profiling information
221
- - `-q, --quiet`: Suppress all output except errors
233
+ - `version`: Show version information
222
234
 
223
- ### Example Help Output
235
+ ### Usage Examples
224
236
 
225
237
  ```bash
226
- rumdl --help
238
+ # Lint all Markdown files in the current directory
239
+ rumdl check .
240
+
241
+ # Automatically fix issues
242
+ rumdl check --fix .
243
+
244
+ # Create a default configuration file
245
+ rumdl init
246
+
247
+ # Create or update a pyproject.toml file with rumdl configuration
248
+ rumdl init --pyproject
227
249
 
228
- Usage: rumdl <COMMAND> [OPTIONS] [PATHS...]
250
+ # Show information about a specific rule
251
+ rumdl rule MD013
229
252
 
230
- Commands:
231
- check Lint Markdown files and print warnings/errors
232
- init Create a default configuration file
253
+ # List all available rules
254
+ rumdl rule
233
255
 
234
- Options (for 'check' subcommand):
235
- --fix Automatically fix fixable issues
236
- --rules <RULES> Comma-separated list of rules to enable
237
- --config <FILE> Path to configuration file
238
- --format <FORMAT> Output format (default: text)
239
- --help Print help information
240
- --version Print version information
256
+ # Query a specific config key
257
+ rumdl config get global.exclude
241
258
 
242
- If no command is given, 'check' is assumed (deprecated).
259
+ # Show version information
260
+ rumdl version
243
261
  ```
244
262
 
245
263
  ## Configuration
@@ -319,6 +337,51 @@ names = ["rumdl", "Markdown", "GitHub"]
319
337
 
320
338
  Both kebab-case (`line-length`, `ignore-gitignore`) and snake_case (`line_length`, `ignore_gitignore`) formats are supported for compatibility with different Python tooling conventions.
321
339
 
340
+ ### Configuration Output
341
+
342
+ #### Effective Configuration (`rumdl config`)
343
+
344
+ The `rumdl config` command prints the **full effective configuration** (defaults + all overrides), showing every key and its value, annotated with the source of each value. The output is colorized and the `[from ...]` annotation is globally aligned for easy scanning.
345
+
346
+ **Example output:**
347
+
348
+ ```text
349
+ [global]
350
+ enable = [] [from default]
351
+ disable = ["MD033"] [from .rumdl.toml]
352
+ include = ["README.md"] [from .rumdl.toml]
353
+ respect_gitignore = true [from .rumdl.toml]
354
+
355
+ [MD013]
356
+ line_length = 200 [from .rumdl.toml]
357
+ code_blocks = true [from .rumdl.toml]
358
+ ...
359
+ ```
360
+ - **Keys** are cyan, **values** are yellow, and the `[from ...]` annotation is colored by source:
361
+ - Green: CLI
362
+ - Blue: `.rumdl.toml`
363
+ - Magenta: `pyproject.toml`
364
+ - Yellow: default
365
+ - The `[from ...]` column is aligned across all sections.
366
+
367
+ #### Defaults Only (`rumdl config --defaults`)
368
+
369
+ The `--defaults` flag prints only the default configuration as TOML, suitable for copy-paste or reference:
370
+
371
+ ```toml
372
+ [global]
373
+ enable = []
374
+ disable = []
375
+ exclude = []
376
+ include = []
377
+ respect_gitignore = true
378
+
379
+ [MD013]
380
+ line_length = 80
381
+ code_blocks = true
382
+ ...
383
+ ```
384
+
322
385
  ## Output Style
323
386
 
324
387
  rumdl produces clean, colorized output similar to modern linting tools: