rumdl 0.0.102__tar.gz → 0.0.103__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 (367) hide show
  1. {rumdl-0.0.102 → rumdl-0.0.103}/Cargo.lock +1 -1
  2. {rumdl-0.0.102 → rumdl-0.0.103}/Cargo.toml +1 -1
  3. {rumdl-0.0.102 → rumdl-0.0.103}/PKG-INFO +1 -3
  4. {rumdl-0.0.102 → rumdl-0.0.103}/benches/fix_performance.rs +1 -1
  5. rumdl-0.0.103/src/bin/bench_lint_context.rs +126 -0
  6. {rumdl-0.0.102 → rumdl-0.0.103}/src/lint_context.rs +598 -0
  7. {rumdl-0.0.102 → rumdl-0.0.103}/src/main.rs +9 -9
  8. rumdl-0.0.103/src/rules/md029_ordered_list_prefix/md029_config.rs +28 -0
  9. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md029_ordered_list_prefix.rs +30 -29
  10. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md031_blanks_around_fences.rs +220 -19
  11. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md043_required_headings.rs +279 -25
  12. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md053_link_image_reference_definitions.rs +146 -7
  13. rumdl-0.0.103/src/rules/md058_blanks_around_tables.rs +814 -0
  14. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/mod.rs +2 -2
  15. {rumdl-0.0.102 → rumdl-0.0.103}/tests/final_confidence_assessment.rs +3 -3
  16. {rumdl-0.0.102 → rumdl-0.0.103}/tests/malformed_markdown_stress_tests.rs +2 -2
  17. {rumdl-0.0.102 → rumdl-0.0.103}/tests/nested_code_block_test.rs +4 -4
  18. {rumdl-0.0.102 → rumdl-0.0.103}/tests/performance_validation_tests.rs +2 -2
  19. {rumdl-0.0.102 → rumdl-0.0.103}/tests/real_world_repository_tests.rs +1 -1
  20. {rumdl-0.0.102 → rumdl-0.0.103}/tests/regression_prevention_tests.rs +4 -4
  21. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md031_test.rs +12 -12
  22. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md043_test.rs +19 -9
  23. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md053_additional_test.rs +39 -39
  24. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md053_proptest.rs +1 -1
  25. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md053_test.rs +18 -18
  26. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md058_test.rs +10 -10
  27. {rumdl-0.0.102 → rumdl-0.0.103}/tests/unicode_edge_case_tests.rs +1 -1
  28. {rumdl-0.0.102 → rumdl-0.0.103}/tests/vscode_extension_fixes.rs +5 -2
  29. rumdl-0.0.102/src/rules/md058_blanks_around_tables.rs +0 -519
  30. {rumdl-0.0.102 → rumdl-0.0.103}/.config/nextest.toml +0 -0
  31. {rumdl-0.0.102 → rumdl-0.0.103}/.mise.toml +0 -0
  32. {rumdl-0.0.102 → rumdl-0.0.103}/.pre-commit-config.yaml +0 -0
  33. {rumdl-0.0.102 → rumdl-0.0.103}/.rumdl.toml +0 -0
  34. {rumdl-0.0.102 → rumdl-0.0.103}/.rustfmt.toml +0 -0
  35. {rumdl-0.0.102 → rumdl-0.0.103}/CHANGELOG.md +0 -0
  36. {rumdl-0.0.102 → rumdl-0.0.103}/LICENSE +0 -0
  37. {rumdl-0.0.102 → rumdl-0.0.103}/MANIFEST.in +0 -0
  38. {rumdl-0.0.102 → rumdl-0.0.103}/Makefile +0 -0
  39. {rumdl-0.0.102 → rumdl-0.0.103}/README.md +0 -0
  40. {rumdl-0.0.102 → rumdl-0.0.103}/assets/logo.png +0 -0
  41. {rumdl-0.0.102 → rumdl-0.0.103}/benches/range_performance.rs +0 -0
  42. {rumdl-0.0.102 → rumdl-0.0.103}/benches/range_utils_benchmark.rs +0 -0
  43. {rumdl-0.0.102 → rumdl-0.0.103}/benches/rule_performance.rs +0 -0
  44. {rumdl-0.0.102 → rumdl-0.0.103}/benches/simple_fix_bench.rs +0 -0
  45. {rumdl-0.0.102 → rumdl-0.0.103}/docs/RULES.md +0 -0
  46. {rumdl-0.0.102 → rumdl-0.0.103}/docs/global-settings.md +0 -0
  47. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md001.md +0 -0
  48. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md002.md +0 -0
  49. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md003.md +0 -0
  50. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md004.md +0 -0
  51. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md005.md +0 -0
  52. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md006.md +0 -0
  53. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md007.md +0 -0
  54. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md009.md +0 -0
  55. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md010.md +0 -0
  56. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md011.md +0 -0
  57. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md012.md +0 -0
  58. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md013.md +0 -0
  59. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md014.md +0 -0
  60. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md018.md +0 -0
  61. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md019.md +0 -0
  62. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md020.md +0 -0
  63. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md021.md +0 -0
  64. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md022.md +0 -0
  65. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md023.md +0 -0
  66. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md024.md +0 -0
  67. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md025.md +0 -0
  68. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md026.md +0 -0
  69. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md027.md +0 -0
  70. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md028.md +0 -0
  71. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md029.md +0 -0
  72. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md030.md +0 -0
  73. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md031.md +0 -0
  74. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md032.md +0 -0
  75. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md033.md +0 -0
  76. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md034.md +0 -0
  77. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md035.md +0 -0
  78. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md036.md +0 -0
  79. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md037.md +0 -0
  80. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md038.md +0 -0
  81. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md039.md +0 -0
  82. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md040.md +0 -0
  83. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md041.md +0 -0
  84. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md042.md +0 -0
  85. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md043.md +0 -0
  86. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md044.md +0 -0
  87. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md045.md +0 -0
  88. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md046.md +0 -0
  89. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md047.md +0 -0
  90. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md048.md +0 -0
  91. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md049.md +0 -0
  92. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md050.md +0 -0
  93. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md051.md +0 -0
  94. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md052.md +0 -0
  95. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md053.md +0 -0
  96. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md054.md +0 -0
  97. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md055.md +0 -0
  98. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md056.md +0 -0
  99. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md057.md +0 -0
  100. {rumdl-0.0.102 → rumdl-0.0.103}/docs/md058.md +0 -0
  101. {rumdl-0.0.102 → rumdl-0.0.103}/docs/vscode-extension.md +0 -0
  102. {rumdl-0.0.102 → rumdl-0.0.103}/parity_check.py +0 -0
  103. {rumdl-0.0.102 → rumdl-0.0.103}/pyproject.toml +0 -0
  104. {rumdl-0.0.102 → rumdl-0.0.103}/python/MANIFEST.in +0 -0
  105. {rumdl-0.0.102 → rumdl-0.0.103}/python/PYTHON-README.md +0 -0
  106. {rumdl-0.0.102 → rumdl-0.0.103}/python/rumdl/__init__.py +0 -0
  107. {rumdl-0.0.102 → rumdl-0.0.103}/python/rumdl/__main__.py +0 -0
  108. {rumdl-0.0.102 → rumdl-0.0.103}/python/rumdl/py.typed +0 -0
  109. {rumdl-0.0.102 → rumdl-0.0.103}/rumdl.toml.example +0 -0
  110. {rumdl-0.0.102 → rumdl-0.0.103}/rust-toolchain.toml +0 -0
  111. {rumdl-0.0.102 → rumdl-0.0.103}/scripts/extract-changelog.sh +0 -0
  112. {rumdl-0.0.102 → rumdl-0.0.103}/scripts/prepare-release.sh +0 -0
  113. {rumdl-0.0.102 → rumdl-0.0.103}/scripts/setup-pre-commit.sh +0 -0
  114. {rumdl-0.0.102 → rumdl-0.0.103}/scripts/update-pre-commit-docs.sh +0 -0
  115. {rumdl-0.0.102 → rumdl-0.0.103}/src/bin/benchmark.rs +0 -0
  116. {rumdl-0.0.102 → rumdl-0.0.103}/src/bin/benchmark_rule.rs +0 -0
  117. {rumdl-0.0.102 → rumdl-0.0.103}/src/bin/file_parallel_benchmark.rs +0 -0
  118. {rumdl-0.0.102 → rumdl-0.0.103}/src/bin/measure_code_span_performance.rs +0 -0
  119. {rumdl-0.0.102 → rumdl-0.0.103}/src/config.rs +0 -0
  120. {rumdl-0.0.102 → rumdl-0.0.103}/src/exit_codes.rs +0 -0
  121. {rumdl-0.0.102 → rumdl-0.0.103}/src/init.rs +0 -0
  122. {rumdl-0.0.102 → rumdl-0.0.103}/src/inline_config.rs +0 -0
  123. {rumdl-0.0.102 → rumdl-0.0.103}/src/lib.rs +0 -0
  124. {rumdl-0.0.102 → rumdl-0.0.103}/src/lsp/mod.rs +0 -0
  125. {rumdl-0.0.102 → rumdl-0.0.103}/src/lsp/server.rs +0 -0
  126. {rumdl-0.0.102 → rumdl-0.0.103}/src/lsp/types.rs +0 -0
  127. {rumdl-0.0.102 → rumdl-0.0.103}/src/markdownlint_config.rs +0 -0
  128. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/azure.rs +0 -0
  129. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/concise.rs +0 -0
  130. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/github.rs +0 -0
  131. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/gitlab.rs +0 -0
  132. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/grouped.rs +0 -0
  133. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/json.rs +0 -0
  134. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/json_lines.rs +0 -0
  135. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/junit.rs +0 -0
  136. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/mod.rs +0 -0
  137. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/pylint.rs +0 -0
  138. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/sarif.rs +0 -0
  139. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/formatters/text.rs +0 -0
  140. {rumdl-0.0.102 → rumdl-0.0.103}/src/output/mod.rs +0 -0
  141. {rumdl-0.0.102 → rumdl-0.0.103}/src/parallel.rs +0 -0
  142. {rumdl-0.0.102 → rumdl-0.0.103}/src/performance.rs +0 -0
  143. {rumdl-0.0.102 → rumdl-0.0.103}/src/profiling.rs +0 -0
  144. {rumdl-0.0.102 → rumdl-0.0.103}/src/python.rs +0 -0
  145. {rumdl-0.0.102 → rumdl-0.0.103}/src/rule.rs +0 -0
  146. {rumdl-0.0.102 → rumdl-0.0.103}/src/rule_config.rs +0 -0
  147. {rumdl-0.0.102 → rumdl-0.0.103}/src/rule_config_serde.rs +0 -0
  148. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/blockquote_utils.rs +0 -0
  149. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/code_block_utils.rs +0 -0
  150. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/code_fence_utils.rs +0 -0
  151. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/emphasis_style.rs +0 -0
  152. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/front_matter_utils.rs +0 -0
  153. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/heading_utils.rs +0 -0
  154. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/list_utils.rs +0 -0
  155. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md001_heading_increment.rs +0 -0
  156. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  157. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md002_first_heading_h1.rs +0 -0
  158. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md003_heading_style/md003_config.rs +0 -0
  159. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md003_heading_style.rs +0 -0
  160. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  161. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md004_unordered_list_style.rs +0 -0
  162. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md005_list_indent.rs +0 -0
  163. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md006_start_bullets.rs +0 -0
  164. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  165. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md007_ul_indent.rs +0 -0
  166. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  167. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md009_trailing_spaces.rs +0 -0
  168. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  169. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md010_no_hard_tabs.rs +0 -0
  170. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md011_no_reversed_links.rs +0 -0
  171. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  172. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md012_no_multiple_blanks.rs +0 -0
  173. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md013_line_length/md013_config.rs +0 -0
  174. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md013_line_length.rs +0 -0
  175. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  176. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md014_commands_show_output.rs +0 -0
  177. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md018_no_missing_space_atx.rs +0 -0
  178. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  179. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  180. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  181. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  182. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md022_blanks_around_headings.rs +0 -0
  183. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md023_heading_start_left.rs +0 -0
  184. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  185. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md024_no_duplicate_heading.rs +0 -0
  186. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md025_single_title/md025_config.rs +0 -0
  187. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md025_single_title.rs +0 -0
  188. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  189. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  190. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  191. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  192. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  193. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md030_list_marker_space.rs +0 -0
  194. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md032_blanks_around_lists.rs +0 -0
  195. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  196. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md033_no_inline_html.rs +0 -0
  197. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md034_no_bare_urls.rs +0 -0
  198. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md035_hr_style/md035_config.rs +0 -0
  199. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md035_hr_style.rs +0 -0
  200. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  201. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  202. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  203. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md038_no_space_in_code.rs +0 -0
  204. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md039_no_space_in_links.rs +0 -0
  205. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md040_fenced_code_language.rs +0 -0
  206. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md041_first_line_heading.rs +0 -0
  207. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md042_no_empty_links.rs +0 -0
  208. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md044_proper_names/md044_config.rs +0 -0
  209. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md044_proper_names.rs +0 -0
  210. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md045_no_alt_text/md045_config.rs +0 -0
  211. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md045_no_alt_text.rs +0 -0
  212. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  213. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md046_code_block_style.rs +0 -0
  214. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md047_single_trailing_newline.rs +0 -0
  215. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  216. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md048_code_fence_style.rs +0 -0
  217. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  218. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md049_emphasis_style.rs +0 -0
  219. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md050_strong_style/md050_config.rs +0 -0
  220. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md050_strong_style.rs +0 -0
  221. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md051_link_fragments.rs +0 -0
  222. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md052_reference_links_images.rs +0 -0
  223. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  224. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md054_link_image_style.rs +0 -0
  225. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  226. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md055_table_pipe_style.rs +0 -0
  227. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md056_table_column_count.rs +0 -0
  228. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  229. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/md057_existing_relative_links.rs +0 -0
  230. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/mod.rs +0 -0
  231. {rumdl-0.0.102 → rumdl-0.0.103}/src/rules/strong_style.rs +0 -0
  232. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/ast_utils.rs +0 -0
  233. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/code_block_utils.rs +0 -0
  234. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/document_structure.rs +0 -0
  235. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/early_returns.rs +0 -0
  236. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/element_cache.rs +0 -0
  237. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/emphasis_utils.rs +0 -0
  238. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/fix_utils.rs +0 -0
  239. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/markdown_elements.rs +0 -0
  240. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/mod.rs +0 -0
  241. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/range_utils.rs +0 -0
  242. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/regex_cache.rs +0 -0
  243. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/string_interner.rs +0 -0
  244. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/table_utils.rs +0 -0
  245. {rumdl-0.0.102 → rumdl-0.0.103}/src/utils/text_reflow.rs +0 -0
  246. {rumdl-0.0.102 → rumdl-0.0.103}/src/vscode.rs +0 -0
  247. {rumdl-0.0.102 → rumdl-0.0.103}/tests/advanced_integration_tests.rs +0 -0
  248. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/additional_tests.rs +0 -0
  249. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/basic_tests.rs +0 -0
  250. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/comprehensive_tests.rs +0 -0
  251. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/extended_tests.rs +0 -0
  252. {rumdl-0.0.102 → rumdl-0.0.103}/tests/character_ranges/unicode_utils.rs +0 -0
  253. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_duplication_test.rs +0 -0
  254. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_explain_test.rs +0 -0
  255. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_flag_precedence_test.rs +0 -0
  256. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_integration_tests.rs +0 -0
  257. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_lsp_fix_consistency.rs +0 -0
  258. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cli_statistics_test.rs +0 -0
  259. {rumdl-0.0.102 → rumdl-0.0.103}/tests/commonmark_compliance_tests.rs +0 -0
  260. {rumdl-0.0.102 → rumdl-0.0.103}/tests/comprehensive_integration_tests.rs +0 -0
  261. {rumdl-0.0.102 → rumdl-0.0.103}/tests/comprehensive_output_format_tests.rs +0 -0
  262. {rumdl-0.0.102 → rumdl-0.0.103}/tests/config_application_tests.rs +0 -0
  263. {rumdl-0.0.102 → rumdl-0.0.103}/tests/config_file_command_test.rs +0 -0
  264. {rumdl-0.0.102 → rumdl-0.0.103}/tests/config_tests.rs +0 -0
  265. {rumdl-0.0.102 → rumdl-0.0.103}/tests/configuration_inheritance_tests.rs +0 -0
  266. {rumdl-0.0.102 → rumdl-0.0.103}/tests/consistency_regression_tests.rs +0 -0
  267. {rumdl-0.0.102 → rumdl-0.0.103}/tests/cross_platform_compatibility_tests.rs +0 -0
  268. {rumdl-0.0.102 → rumdl-0.0.103}/tests/deeply_nested_lists_performance_test.rs +0 -0
  269. {rumdl-0.0.102 → rumdl-0.0.103}/tests/escaped_brackets_test.rs +0 -0
  270. {rumdl-0.0.102 → rumdl-0.0.103}/tests/init_command_test.rs +0 -0
  271. {rumdl-0.0.102 → rumdl-0.0.103}/tests/init_tests.rs +0 -0
  272. {rumdl-0.0.102 → rumdl-0.0.103}/tests/inline_config_test.rs +0 -0
  273. {rumdl-0.0.102 → rumdl-0.0.103}/tests/integration_tests.rs +0 -0
  274. {rumdl-0.0.102 → rumdl-0.0.103}/tests/json_output_test.rs +0 -0
  275. {rumdl-0.0.102 → rumdl-0.0.103}/tests/lib.rs +0 -0
  276. {rumdl-0.0.102 → rumdl-0.0.103}/tests/lsp_editor_integration_tests.rs +0 -0
  277. {rumdl-0.0.102 → rumdl-0.0.103}/tests/lsp_integration_tests.rs +0 -0
  278. {rumdl-0.0.102 → rumdl-0.0.103}/tests/lsp_memory_leak_tests.rs +0 -0
  279. {rumdl-0.0.102 → rumdl-0.0.103}/tests/lsp_tests.rs +0 -0
  280. {rumdl-0.0.102 → rumdl-0.0.103}/tests/markdownlint_cli_integration.rs +0 -0
  281. {rumdl-0.0.102 → rumdl-0.0.103}/tests/markdownlint_config_test.rs +0 -0
  282. {rumdl-0.0.102 → rumdl-0.0.103}/tests/markdownlintignore_test.rs +0 -0
  283. {rumdl-0.0.102 → rumdl-0.0.103}/tests/md013_reflow_integration_test.rs +0 -0
  284. {rumdl-0.0.102 → rumdl-0.0.103}/tests/output_format_integration_tests.rs +0 -0
  285. {rumdl-0.0.102 → rumdl-0.0.103}/tests/output_format_tests.rs +0 -0
  286. {rumdl-0.0.102 → rumdl-0.0.103}/tests/perf_check.rs +0 -0
  287. {rumdl-0.0.102 → rumdl-0.0.103}/tests/pyproject_config_tests.rs +0 -0
  288. {rumdl-0.0.102 → rumdl-0.0.103}/tests/python_bindings_test.rs +0 -0
  289. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/emphasis_edge_cases_test.rs +0 -0
  290. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/heading_edge_cases_test.rs +0 -0
  291. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/inline_content_edge_cases_test.rs +0 -0
  292. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/link_edge_cases_test.rs +0 -0
  293. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/list_rules_integration_test.rs +0 -0
  294. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md001_test.rs +0 -0
  295. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md001_unicode_test.rs +0 -0
  296. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md002_test.rs +0 -0
  297. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md003_test.rs +0 -0
  298. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md004_test.rs +0 -0
  299. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md005_test.rs +0 -0
  300. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md005_unicode_test.rs +0 -0
  301. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md006_test.rs +0 -0
  302. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md006_unicode_test.rs +0 -0
  303. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md007_test.rs +0 -0
  304. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md009_test.rs +0 -0
  305. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md010_test.rs +0 -0
  306. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md011_test.rs +0 -0
  307. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md012_test.rs +0 -0
  308. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md013_test.rs +0 -0
  309. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md014_test.rs +0 -0
  310. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md018_test.rs +0 -0
  311. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md019_test.rs +0 -0
  312. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md020_test.rs +0 -0
  313. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md021_test.rs +0 -0
  314. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md022_test.rs +0 -0
  315. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md023_extended_test.rs +0 -0
  316. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md023_test.rs +0 -0
  317. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md024_test.rs +0 -0
  318. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md025_test.rs +0 -0
  319. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md026_test.rs +0 -0
  320. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md027_test.rs +0 -0
  321. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md028_test.rs +0 -0
  322. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md029_test.rs +0 -0
  323. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md029_unicode_test.rs +0 -0
  324. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md030_test.rs +0 -0
  325. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md032_test.rs +0 -0
  326. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md033_extended_test.rs +0 -0
  327. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md033_test.rs +0 -0
  328. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md034_ipv6_test.rs +0 -0
  329. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md034_test.rs +0 -0
  330. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md035_test.rs +0 -0
  331. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md036_test.rs +0 -0
  332. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md037_test.rs +0 -0
  333. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md038_nested_backticks_test.rs +0 -0
  334. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md038_test.rs +0 -0
  335. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md039_test.rs +0 -0
  336. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md040_test.rs +0 -0
  337. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md041_test.rs +0 -0
  338. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md042_test.rs +0 -0
  339. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md044_test.rs +0 -0
  340. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md045_test.rs +0 -0
  341. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md046_test.rs +0 -0
  342. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md047_test.rs +0 -0
  343. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md048_test.rs +0 -0
  344. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md049_test.rs +0 -0
  345. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md050_test.rs +0 -0
  346. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md051_test.rs +0 -0
  347. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md051_unicode_test.rs +0 -0
  348. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md052_test.rs +0 -0
  349. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md054_test.rs +0 -0
  350. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md054_unicode_test.rs +0 -0
  351. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md055_test.rs +0 -0
  352. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md056_test.rs +0 -0
  353. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/md057_test.rs +0 -0
  354. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules/mod.rs +0 -0
  355. {rumdl-0.0.102 → rumdl-0.0.103}/tests/rules_mod_test.rs +0 -0
  356. {rumdl-0.0.102 → rumdl-0.0.103}/tests/thread_safety_tests.rs +0 -0
  357. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/blockquote_utils_test.rs +0 -0
  358. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/code_block_utils_extended_test.rs +0 -0
  359. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/code_block_utils_test.rs +0 -0
  360. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/core_utils_test.rs +0 -0
  361. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/front_matter_utils_test.rs +0 -0
  362. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/line_index_test.rs +0 -0
  363. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils/mod.rs +0 -0
  364. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils_markdown_edge_cases.rs +0 -0
  365. {rumdl-0.0.102 → rumdl-0.0.103}/tests/utils_tests.rs +0 -0
  366. {rumdl-0.0.102 → rumdl-0.0.103}/tests/vscode_test.rs +0 -0
  367. {rumdl-0.0.102 → rumdl-0.0.103}/tests/vscode_tests.rs +0 -0
@@ -1493,7 +1493,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1493
1493
 
1494
1494
  [[package]]
1495
1495
  name = "rumdl"
1496
- version = "0.0.102"
1496
+ version = "0.0.103"
1497
1497
  dependencies = [
1498
1498
  "anyhow",
1499
1499
  "assert_cmd",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.102"
3
+ version = "0.0.103"
4
4
  edition = "2024"
5
5
  rust-version = "1.88.0"
6
6
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.102
3
+ Version: 0.0.103
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -19,9 +19,7 @@ Classifier: Topic :: Software Development :: Quality Assurance
19
19
  Classifier: Topic :: Text Processing :: Markup :: Markdown
20
20
  License-File: LICENSE
21
21
  Summary: A fast Markdown linter written in Rust
22
- Keywords: markdown,linter,markdown-linter,static-analysis,documentation
23
22
  Home-Page: https://github.com/rvben/rumdl
24
- Author: Ruben J. Jongejan <ruben.jongejan@gmail.com>
25
23
  Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
26
24
  License: MIT
27
25
  Requires-Python: >=3.7
@@ -320,7 +320,7 @@ fn bench_fix_performance(c: &mut Criterion) {
320
320
 
321
321
  // MD031 - Blanks around fences
322
322
  c.bench_function("MD031 fix", |b| {
323
- let rule = MD031BlanksAroundFences;
323
+ let rule = MD031BlanksAroundFences::default();
324
324
  b.iter(|| rule.fix(black_box(&ctx)))
325
325
  });
326
326
 
@@ -0,0 +1,126 @@
1
+ use rumdl::lint_context::LintContext;
2
+ use std::time::Instant;
3
+
4
+ fn main() {
5
+ // Create test content with various markdown features
6
+ let test_content = r#"
7
+ # Heading 1
8
+
9
+ This is a **bold** text with *italic* and `code` spans.
10
+
11
+ ## Heading 2
12
+
13
+ Here's a list:
14
+ - Item 1 with [link](https://example.com)
15
+ - Item 2 with ![image](image.png)
16
+ - Nested item
17
+ - Item 3
18
+
19
+ ### Tables
20
+
21
+ | Column 1 | Column 2 | Column 3 |
22
+ |----------|:--------:|---------:|
23
+ | Cell 1 | Cell 2 | Cell 3 |
24
+ | Cell 4 | Cell 5 | Cell 6 |
25
+
26
+ > This is a blockquote
27
+ > with multiple lines
28
+
29
+ ```rust
30
+ fn main() {
31
+ println!("Hello, world!");
32
+ }
33
+ ```
34
+
35
+ Some bare URLs: https://github.com/rvben/rumdl and email@example.com
36
+
37
+ <div class="custom">
38
+ <p>HTML content</p>
39
+ </div>
40
+
41
+ More **emphasis** and _underscores_ everywhere.
42
+ "#;
43
+
44
+ println!("Testing LintContext performance enhancements...");
45
+
46
+ let iterations = 1000;
47
+
48
+ // Test LintContext creation time
49
+ let start = Instant::now();
50
+ for _ in 0..iterations {
51
+ let _ctx = LintContext::new(test_content);
52
+ }
53
+ let creation_time = start.elapsed();
54
+ println!(
55
+ "LintContext creation: {:?} per iteration ({} iterations)",
56
+ creation_time / iterations,
57
+ iterations
58
+ );
59
+
60
+ // Create a context to test accessor methods
61
+ let ctx = LintContext::new(test_content);
62
+
63
+ // Test character frequency queries
64
+ let start = Instant::now();
65
+ for _ in 0..iterations * 10 {
66
+ let _has_headings = ctx.likely_has_headings();
67
+ let _has_lists = ctx.likely_has_lists();
68
+ let _has_emphasis = ctx.likely_has_emphasis();
69
+ let _has_tables = ctx.likely_has_tables();
70
+ let _has_code = ctx.likely_has_code();
71
+ let _has_html = ctx.likely_has_html();
72
+ }
73
+ let query_time = start.elapsed();
74
+ println!(
75
+ "Character frequency queries: {:?} per 6 queries ({} iterations)",
76
+ query_time / (iterations * 10),
77
+ iterations * 10
78
+ );
79
+
80
+ // Test lazy-loaded parsing
81
+ let start = Instant::now();
82
+ let _html_tags = ctx.html_tags();
83
+ let html_parse_time = start.elapsed();
84
+ println!("HTML tag parsing (first access): {html_parse_time:?}");
85
+
86
+ let start = Instant::now();
87
+ let _html_tags = ctx.html_tags();
88
+ let html_cache_time = start.elapsed();
89
+ println!("HTML tag parsing (cached): {html_cache_time:?}");
90
+
91
+ let start = Instant::now();
92
+ let _emphasis_spans = ctx.emphasis_spans();
93
+ let emphasis_parse_time = start.elapsed();
94
+ println!("Emphasis span parsing (first access): {emphasis_parse_time:?}");
95
+
96
+ let start = Instant::now();
97
+ let _table_rows = ctx.table_rows();
98
+ let table_parse_time = start.elapsed();
99
+ println!("Table parsing (first access): {table_parse_time:?}");
100
+
101
+ let start = Instant::now();
102
+ let _bare_urls = ctx.bare_urls();
103
+ let url_parse_time = start.elapsed();
104
+ println!("Bare URL parsing (first access): {url_parse_time:?}");
105
+
106
+ // Print statistics about what was found
107
+ println!("\nContent analysis:");
108
+ println!("- Lines: {}", ctx.lines.len());
109
+ println!("- Character frequencies:");
110
+ println!(" - Hash (#): {}", ctx.char_frequency.hash_count);
111
+ println!(" - Asterisk (*): {}", ctx.char_frequency.asterisk_count);
112
+ println!(" - Underscore (_): {}", ctx.char_frequency.underscore_count);
113
+ println!(" - Hyphen (-): {}", ctx.char_frequency.hyphen_count);
114
+ println!(" - Pipe (|): {}", ctx.char_frequency.pipe_count);
115
+ println!(" - Bracket ([): {}", ctx.char_frequency.bracket_count);
116
+ println!(" - Backtick (`): {}", ctx.char_frequency.backtick_count);
117
+ println!(" - Less than (<): {}", ctx.char_frequency.lt_count);
118
+ println!("- Parsed elements:");
119
+ println!(" - Links: {}", ctx.links.len());
120
+ println!(" - Images: {}", ctx.images.len());
121
+ println!(" - HTML tags: {}", ctx.html_tags().len());
122
+ println!(" - Emphasis spans: {}", ctx.emphasis_spans().len());
123
+ println!(" - Table rows: {}", ctx.table_rows().len());
124
+ println!(" - Bare URLs: {}", ctx.bare_urls().len());
125
+ println!(" - List blocks: {}", ctx.list_blocks.len());
126
+ }