rumdl 0.0.84__tar.gz → 0.0.86__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 (319) hide show
  1. rumdl-0.0.86/.config/nextest.toml +46 -0
  2. rumdl-0.0.86/.mise.toml +107 -0
  3. {rumdl-0.0.84 → rumdl-0.0.86}/CHANGELOG.md +7 -1
  4. {rumdl-0.0.84 → rumdl-0.0.86}/Cargo.lock +1 -1
  5. {rumdl-0.0.84 → rumdl-0.0.86}/Cargo.toml +2 -1
  6. {rumdl-0.0.84 → rumdl-0.0.86}/Makefile +65 -2
  7. {rumdl-0.0.84 → rumdl-0.0.86}/PKG-INFO +34 -1
  8. {rumdl-0.0.84 → rumdl-0.0.86}/README.md +33 -0
  9. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md051.md +4 -1
  10. rumdl-0.0.86/docs/vscode-extension.md +94 -0
  11. rumdl-0.0.86/rust-toolchain.toml +10 -0
  12. rumdl-0.0.86/src/inline_config.rs +363 -0
  13. {rumdl-0.0.84 → rumdl-0.0.86}/src/lib.rs +8 -4
  14. {rumdl-0.0.84 → rumdl-0.0.86}/src/lint_context.rs +3 -4
  15. {rumdl-0.0.84 → rumdl-0.0.86}/src/main.rs +79 -2
  16. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md051_link_fragments.rs +84 -14
  17. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/ast_utils.rs +3 -4
  18. rumdl-0.0.86/src/vscode.rs +127 -0
  19. rumdl-0.0.86/tests/inline_config_test.rs +261 -0
  20. rumdl-0.0.86/tests/markdownlintignore_test.rs +181 -0
  21. rumdl-0.0.86/tests/rules/md051_test.rs +1128 -0
  22. rumdl-0.0.86/tests/vscode_test.rs +38 -0
  23. rumdl-0.0.84/tests/rules/md051_test.rs +0 -581
  24. {rumdl-0.0.84 → rumdl-0.0.86}/.rumdl.toml +0 -0
  25. {rumdl-0.0.84 → rumdl-0.0.86}/MANIFEST.in +0 -0
  26. {rumdl-0.0.84 → rumdl-0.0.86}/assets/logo.png +0 -0
  27. {rumdl-0.0.84 → rumdl-0.0.86}/benches/fix_performance.rs +0 -0
  28. {rumdl-0.0.84 → rumdl-0.0.86}/benches/range_performance.rs +0 -0
  29. {rumdl-0.0.84 → rumdl-0.0.86}/benches/range_utils_benchmark.rs +0 -0
  30. {rumdl-0.0.84 → rumdl-0.0.86}/benches/rule_performance.rs +0 -0
  31. {rumdl-0.0.84 → rumdl-0.0.86}/benches/simple_fix_bench.rs +0 -0
  32. {rumdl-0.0.84 → rumdl-0.0.86}/docs/RULES.md +0 -0
  33. {rumdl-0.0.84 → rumdl-0.0.86}/docs/global-settings.md +0 -0
  34. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md001.md +0 -0
  35. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md002.md +0 -0
  36. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md003.md +0 -0
  37. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md004.md +0 -0
  38. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md005.md +0 -0
  39. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md006.md +0 -0
  40. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md007.md +0 -0
  41. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md009.md +0 -0
  42. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md010.md +0 -0
  43. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md011.md +0 -0
  44. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md012.md +0 -0
  45. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md013.md +0 -0
  46. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md014.md +0 -0
  47. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md018.md +0 -0
  48. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md019.md +0 -0
  49. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md020.md +0 -0
  50. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md021.md +0 -0
  51. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md022.md +0 -0
  52. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md023.md +0 -0
  53. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md024.md +0 -0
  54. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md025.md +0 -0
  55. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md026.md +0 -0
  56. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md027.md +0 -0
  57. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md028.md +0 -0
  58. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md029.md +0 -0
  59. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md030.md +0 -0
  60. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md031.md +0 -0
  61. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md032.md +0 -0
  62. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md033.md +0 -0
  63. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md034.md +0 -0
  64. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md035.md +0 -0
  65. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md036.md +0 -0
  66. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md037.md +0 -0
  67. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md038.md +0 -0
  68. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md039.md +0 -0
  69. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md040.md +0 -0
  70. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md041.md +0 -0
  71. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md042.md +0 -0
  72. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md043.md +0 -0
  73. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md044.md +0 -0
  74. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md045.md +0 -0
  75. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md046.md +0 -0
  76. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md047.md +0 -0
  77. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md048.md +0 -0
  78. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md049.md +0 -0
  79. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md050.md +0 -0
  80. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md052.md +0 -0
  81. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md053.md +0 -0
  82. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md054.md +0 -0
  83. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md055.md +0 -0
  84. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md056.md +0 -0
  85. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md057.md +0 -0
  86. {rumdl-0.0.84 → rumdl-0.0.86}/docs/md058.md +0 -0
  87. {rumdl-0.0.84 → rumdl-0.0.86}/issues/plan-rule-parity-with-markdownlint.md +0 -0
  88. {rumdl-0.0.84 → rumdl-0.0.86}/parity_check.py +0 -0
  89. {rumdl-0.0.84 → rumdl-0.0.86}/pyproject.toml +0 -0
  90. {rumdl-0.0.84 → rumdl-0.0.86}/python/MANIFEST.in +0 -0
  91. {rumdl-0.0.84 → rumdl-0.0.86}/python/PYTHON-README.md +0 -0
  92. {rumdl-0.0.84 → rumdl-0.0.86}/python/rumdl/__init__.py +0 -0
  93. {rumdl-0.0.84 → rumdl-0.0.86}/python/rumdl/__main__.py +0 -0
  94. {rumdl-0.0.84 → rumdl-0.0.86}/python/rumdl/py.typed +0 -0
  95. {rumdl-0.0.84 → rumdl-0.0.86}/rumdl.toml.example +0 -0
  96. {rumdl-0.0.84 → rumdl-0.0.86}/scripts/extract-changelog.sh +0 -0
  97. {rumdl-0.0.84 → rumdl-0.0.86}/scripts/prepare-release.sh +0 -0
  98. {rumdl-0.0.84 → rumdl-0.0.86}/src/config.rs +0 -0
  99. {rumdl-0.0.84 → rumdl-0.0.86}/src/init.rs +0 -0
  100. {rumdl-0.0.84 → rumdl-0.0.86}/src/lsp/mod.rs +0 -0
  101. {rumdl-0.0.84 → rumdl-0.0.86}/src/lsp/server.rs +0 -0
  102. {rumdl-0.0.84 → rumdl-0.0.86}/src/lsp/types.rs +0 -0
  103. {rumdl-0.0.84 → rumdl-0.0.86}/src/markdownlint_config.rs +0 -0
  104. {rumdl-0.0.84 → rumdl-0.0.86}/src/parallel.rs +0 -0
  105. {rumdl-0.0.84 → rumdl-0.0.86}/src/performance.rs +0 -0
  106. {rumdl-0.0.84 → rumdl-0.0.86}/src/profiling.rs +0 -0
  107. {rumdl-0.0.84 → rumdl-0.0.86}/src/python.rs +0 -0
  108. {rumdl-0.0.84 → rumdl-0.0.86}/src/rule.rs +0 -0
  109. {rumdl-0.0.84 → rumdl-0.0.86}/src/rule_config.rs +0 -0
  110. {rumdl-0.0.84 → rumdl-0.0.86}/src/rule_config_serde.rs +0 -0
  111. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/blockquote_utils.rs +0 -0
  112. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/code_block_utils.rs +0 -0
  113. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/code_fence_utils.rs +0 -0
  114. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/emphasis_style.rs +0 -0
  115. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/front_matter_utils.rs +0 -0
  116. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/heading_utils.rs +0 -0
  117. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/list_utils.rs +0 -0
  118. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md001_heading_increment.rs +0 -0
  119. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md002_first_heading_h1/md002_config.rs +0 -0
  120. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md002_first_heading_h1.rs +0 -0
  121. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md003_heading_style/md003_config.rs +0 -0
  122. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md003_heading_style.rs +0 -0
  123. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md004_unordered_list_style/md004_config.rs +0 -0
  124. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md004_unordered_list_style.rs +0 -0
  125. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md005_list_indent.rs +0 -0
  126. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md006_start_bullets.rs +0 -0
  127. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md007_ul_indent/md007_config.rs +0 -0
  128. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md007_ul_indent.rs +0 -0
  129. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md009_trailing_spaces/md009_config.rs +0 -0
  130. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md009_trailing_spaces.rs +0 -0
  131. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md010_no_hard_tabs/md010_config.rs +0 -0
  132. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md010_no_hard_tabs.rs +0 -0
  133. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md011_no_reversed_links.rs +0 -0
  134. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md012_no_multiple_blanks/md012_config.rs +0 -0
  135. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md012_no_multiple_blanks.rs +0 -0
  136. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md013_line_length/md013_config.rs +0 -0
  137. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md013_line_length.rs +0 -0
  138. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md014_commands_show_output/md014_config.rs +0 -0
  139. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md014_commands_show_output.rs +0 -0
  140. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md018_no_missing_space_atx.rs +0 -0
  141. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md019_no_multiple_space_atx.rs +0 -0
  142. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md020_no_missing_space_closed_atx.rs +0 -0
  143. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md021_no_multiple_space_closed_atx.rs +0 -0
  144. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md022_blanks_around_headings/md022_config.rs +0 -0
  145. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md022_blanks_around_headings.rs +0 -0
  146. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md023_heading_start_left.rs +0 -0
  147. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md024_no_duplicate_heading/md024_config.rs +0 -0
  148. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md024_no_duplicate_heading.rs +0 -0
  149. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md025_single_title/md025_config.rs +0 -0
  150. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md025_single_title.rs +0 -0
  151. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md026_no_trailing_punctuation/md026_config.rs +0 -0
  152. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md026_no_trailing_punctuation.rs +0 -0
  153. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md027_multiple_spaces_blockquote.rs +0 -0
  154. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md028_no_blanks_blockquote.rs +0 -0
  155. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md029_ordered_list_prefix.rs +0 -0
  156. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md030_list_marker_space/md030_config.rs +0 -0
  157. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md030_list_marker_space.rs +0 -0
  158. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md031_blanks_around_fences.rs +0 -0
  159. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md032_blanks_around_lists.rs +0 -0
  160. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md033_no_inline_html/md033_config.rs +0 -0
  161. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md033_no_inline_html.rs +0 -0
  162. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md034_no_bare_urls.rs +0 -0
  163. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md035_hr_style/md035_config.rs +0 -0
  164. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md035_hr_style.rs +0 -0
  165. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md036_no_emphasis_only_first/md036_config.rs +0 -0
  166. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md036_no_emphasis_only_first.rs +0 -0
  167. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md037_spaces_around_emphasis.rs +0 -0
  168. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md038_no_space_in_code.rs +0 -0
  169. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md039_no_space_in_links.rs +0 -0
  170. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md040_fenced_code_language.rs +0 -0
  171. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md041_first_line_heading.rs +0 -0
  172. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md042_no_empty_links.rs +0 -0
  173. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md043_required_headings.rs +0 -0
  174. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md044_proper_names/md044_config.rs +0 -0
  175. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md044_proper_names.rs +0 -0
  176. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md045_no_alt_text.rs +0 -0
  177. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md046_code_block_style/md046_config.rs +0 -0
  178. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md046_code_block_style.rs +0 -0
  179. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md047_single_trailing_newline.rs +0 -0
  180. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md048_code_fence_style/md048_config.rs +0 -0
  181. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md048_code_fence_style.rs +0 -0
  182. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md049_emphasis_style/md049_config.rs +0 -0
  183. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md049_emphasis_style.rs +0 -0
  184. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md050_strong_style/md050_config.rs +0 -0
  185. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md050_strong_style.rs +0 -0
  186. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md052_reference_links_images.rs +0 -0
  187. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md053_link_image_reference_definitions.rs +0 -0
  188. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md054_link_image_style/md054_config.rs +0 -0
  189. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md054_link_image_style.rs +0 -0
  190. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md055_table_pipe_style/md055_config.rs +0 -0
  191. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md055_table_pipe_style.rs +0 -0
  192. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md056_table_column_count.rs +0 -0
  193. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md057_existing_relative_links/md057_config.rs +0 -0
  194. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md057_existing_relative_links.rs +0 -0
  195. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/md058_blanks_around_tables.rs +0 -0
  196. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/mod.rs +0 -0
  197. {rumdl-0.0.84 → rumdl-0.0.86}/src/rules/strong_style.rs +0 -0
  198. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/code_block_utils.rs +0 -0
  199. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/document_structure.rs +0 -0
  200. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/early_returns.rs +0 -0
  201. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/element_cache.rs +0 -0
  202. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/fix_utils.rs +0 -0
  203. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/markdown_elements.rs +0 -0
  204. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/mod.rs +0 -0
  205. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/range_utils.rs +0 -0
  206. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/regex_cache.rs +0 -0
  207. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/string_interner.rs +0 -0
  208. {rumdl-0.0.84 → rumdl-0.0.86}/src/utils/table_utils.rs +0 -0
  209. {rumdl-0.0.84 → rumdl-0.0.86}/tests/advanced_integration_tests.rs +0 -0
  210. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/additional_tests.rs +0 -0
  211. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/basic_tests.rs +0 -0
  212. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/comprehensive_tests.rs +0 -0
  213. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/extended_tests.rs +0 -0
  214. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/mod.rs +0 -0
  215. {rumdl-0.0.84 → rumdl-0.0.86}/tests/character_ranges/unicode_utils.rs +0 -0
  216. {rumdl-0.0.84 → rumdl-0.0.86}/tests/cli_duplication_test.rs +0 -0
  217. {rumdl-0.0.84 → rumdl-0.0.86}/tests/cli_integration_tests.rs +0 -0
  218. {rumdl-0.0.84 → rumdl-0.0.86}/tests/cli_lsp_fix_consistency.rs +0 -0
  219. {rumdl-0.0.84 → rumdl-0.0.86}/tests/commonmark_compliance_tests.rs +0 -0
  220. {rumdl-0.0.84 → rumdl-0.0.86}/tests/comprehensive_integration_tests.rs +0 -0
  221. {rumdl-0.0.84 → rumdl-0.0.86}/tests/config_application_tests.rs +0 -0
  222. {rumdl-0.0.84 → rumdl-0.0.86}/tests/config_file_command_test.rs +0 -0
  223. {rumdl-0.0.84 → rumdl-0.0.86}/tests/config_tests.rs +0 -0
  224. {rumdl-0.0.84 → rumdl-0.0.86}/tests/configuration_inheritance_tests.rs +0 -0
  225. {rumdl-0.0.84 → rumdl-0.0.86}/tests/consistency_regression_tests.rs +0 -0
  226. {rumdl-0.0.84 → rumdl-0.0.86}/tests/cross_platform_compatibility_tests.rs +0 -0
  227. {rumdl-0.0.84 → rumdl-0.0.86}/tests/final_confidence_assessment.rs +0 -0
  228. {rumdl-0.0.84 → rumdl-0.0.86}/tests/init_command_test.rs +0 -0
  229. {rumdl-0.0.84 → rumdl-0.0.86}/tests/init_tests.rs +0 -0
  230. {rumdl-0.0.84 → rumdl-0.0.86}/tests/integration_tests.rs +0 -0
  231. {rumdl-0.0.84 → rumdl-0.0.86}/tests/json_output_test.rs +0 -0
  232. {rumdl-0.0.84 → rumdl-0.0.86}/tests/lib.rs +0 -0
  233. {rumdl-0.0.84 → rumdl-0.0.86}/tests/lsp_editor_integration_tests.rs +0 -0
  234. {rumdl-0.0.84 → rumdl-0.0.86}/tests/lsp_integration_tests.rs +0 -0
  235. {rumdl-0.0.84 → rumdl-0.0.86}/tests/lsp_memory_leak_tests.rs +0 -0
  236. {rumdl-0.0.84 → rumdl-0.0.86}/tests/lsp_tests.rs +0 -0
  237. {rumdl-0.0.84 → rumdl-0.0.86}/tests/malformed_markdown_stress_tests.rs +0 -0
  238. {rumdl-0.0.84 → rumdl-0.0.86}/tests/markdownlint_cli_integration.rs +0 -0
  239. {rumdl-0.0.84 → rumdl-0.0.86}/tests/markdownlint_config_test.rs +0 -0
  240. {rumdl-0.0.84 → rumdl-0.0.86}/tests/md030_edge_cases.md +0 -0
  241. {rumdl-0.0.84 → rumdl-0.0.86}/tests/output_format_tests.rs +0 -0
  242. {rumdl-0.0.84 → rumdl-0.0.86}/tests/perf_check.rs +0 -0
  243. {rumdl-0.0.84 → rumdl-0.0.86}/tests/performance_validation_tests.rs +0 -0
  244. {rumdl-0.0.84 → rumdl-0.0.86}/tests/pyproject_config_tests.rs +0 -0
  245. {rumdl-0.0.84 → rumdl-0.0.86}/tests/real_world_repository_tests.rs +0 -0
  246. {rumdl-0.0.84 → rumdl-0.0.86}/tests/regression_prevention_tests.rs +0 -0
  247. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md001_test.rs +0 -0
  248. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md001_unicode_test.rs +0 -0
  249. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md002_test.rs +0 -0
  250. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md003_test.rs +0 -0
  251. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md004_test.rs +0 -0
  252. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md005_test.rs +0 -0
  253. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md006_test.rs +0 -0
  254. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md006_unicode_test.rs +0 -0
  255. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md007_test.rs +0 -0
  256. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md009_test.rs +0 -0
  257. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md010_test.rs +0 -0
  258. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md011_test.rs +0 -0
  259. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md012_test.rs +0 -0
  260. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md013_test.rs +0 -0
  261. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md014_test.rs +0 -0
  262. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md018_test.rs +0 -0
  263. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md019_test.rs +0 -0
  264. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md020_test.rs +0 -0
  265. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md021_test.rs +0 -0
  266. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md022_test.rs +0 -0
  267. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md023_extended_test.rs +0 -0
  268. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md023_test.rs +0 -0
  269. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md024_test.rs +0 -0
  270. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md025_test.rs +0 -0
  271. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md026_test.rs +0 -0
  272. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md027_test.rs +0 -0
  273. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md028_test.rs +0 -0
  274. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md029_test.rs +0 -0
  275. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md030_test.rs +0 -0
  276. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md031_test.rs +0 -0
  277. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md032_test.rs +0 -0
  278. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md033_extended_test.rs +0 -0
  279. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md033_test.rs +0 -0
  280. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md034_test.rs +0 -0
  281. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md035_test.rs +0 -0
  282. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md036_test.rs +0 -0
  283. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md037_test.rs +0 -0
  284. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md038_test.rs +0 -0
  285. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md039_test.rs +0 -0
  286. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md040_test.rs +0 -0
  287. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md041_test.rs +0 -0
  288. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md042_test.rs +0 -0
  289. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md043_test.rs +0 -0
  290. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md044_test.rs +0 -0
  291. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md045_test.rs +0 -0
  292. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md046_test.rs +0 -0
  293. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md047_test.rs +0 -0
  294. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md048_test.rs +0 -0
  295. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md049_test.rs +0 -0
  296. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md050_test.rs +0 -0
  297. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md052_test.rs +0 -0
  298. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md053_additional_test.rs +0 -0
  299. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md053_proptest.rs +0 -0
  300. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md053_test.rs +0 -0
  301. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md054_test.rs +0 -0
  302. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md054_unicode_test.rs +0 -0
  303. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md055_test.rs +0 -0
  304. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md056_test.rs +0 -0
  305. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md057_test.rs +0 -0
  306. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/md058_test.rs +0 -0
  307. {rumdl-0.0.84 → rumdl-0.0.86}/tests/rules/mod.rs +0 -0
  308. {rumdl-0.0.84 → rumdl-0.0.86}/tests/thread_safety_tests.rs +0 -0
  309. {rumdl-0.0.84 → rumdl-0.0.86}/tests/unicode_edge_case_tests.rs +0 -0
  310. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/blockquote_utils_test.rs +0 -0
  311. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/code_block_utils_extended_test.rs +0 -0
  312. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/code_block_utils_test.rs +0 -0
  313. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/core_utils_test.rs +0 -0
  314. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/front_matter_utils_test.rs +0 -0
  315. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/line_index_test.rs +0 -0
  316. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils/mod.rs +0 -0
  317. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils_markdown_edge_cases.rs +0 -0
  318. {rumdl-0.0.84 → rumdl-0.0.86}/tests/utils_tests.rs +0 -0
  319. {rumdl-0.0.84 → rumdl-0.0.86}/tests/vscode_extension_fixes.rs +0 -0
@@ -0,0 +1,46 @@
1
+ # Nextest configuration
2
+ # https://nexte.st/book/configuration
3
+
4
+ [profile.default]
5
+ # Detect flaky tests and retry them
6
+ retries = { backoff = "exponential", count = 2, delay = "1s", max-delay = "10s" }
7
+
8
+ # Run tests with 2x the number of CPUs
9
+ test-threads = "num-cpus"
10
+
11
+ # Fail fast on first failure in CI
12
+ fail-fast = false
13
+
14
+ # Show failed tests immediately
15
+ failure-output = "immediate"
16
+
17
+ # Show successful tests at the end
18
+ success-output = "final"
19
+
20
+ # Status output level
21
+ status-level = "pass"
22
+
23
+ [profile.ci]
24
+
25
+ # More conservative in CI
26
+ test-threads = "num-cpus"
27
+
28
+ # Always show all output in CI
29
+ failure-output = "immediate"
30
+ success-output = "immediate"
31
+ status-level = "all"
32
+
33
+ # No retries in CI to catch flaky tests
34
+ retries = 0
35
+
36
+ # Quick profile for development
37
+ [profile.quick]
38
+
39
+ # Skip slow tests
40
+ default-filter = 'not test(/memory/) and not test(/stress/) and not test(/large/)'
41
+
42
+ # Even more parallel execution locally
43
+ test-threads = "num-cpus"
44
+
45
+ # Less verbose output
46
+ status-level = "fail"
@@ -0,0 +1,107 @@
1
+ # mise configuration for rumdl development environment
2
+ # This file manages development tools and their versions
3
+
4
+ [env]
5
+ # Environment variables for the project
6
+ RUST_BACKTRACE = "1"
7
+
8
+ [tools]
9
+ # Rust toolchain - version matches rust-toolchain.toml
10
+ rust = "1.87.0"
11
+
12
+ # Python for maturin/python bindings
13
+ python = "3.12"
14
+
15
+ # UV - Fast Python package and tool manager
16
+ uv = "latest"
17
+
18
+ # Development tools installed via cargo
19
+ "cargo:cargo-nextest" = "latest"
20
+ "cargo:cargo-watch" = "latest"
21
+ "cargo:maturin" = "latest"
22
+ "cargo:cargo-binstall" = "latest"
23
+
24
+ # Zig for cross-compilation (used by maturin)
25
+ zig = "0.13"
26
+
27
+ # Optional: Additional useful Rust development tools
28
+ # Uncomment to enable
29
+ # "cargo:cargo-edit" = "latest" # For cargo add/rm/upgrade commands
30
+ # "cargo:cargo-outdated" = "latest" # Check for outdated dependencies
31
+ # "cargo:cargo-audit" = "latest" # Security audit dependencies
32
+ # "cargo:cargo-deny" = "latest" # Lint dependencies
33
+
34
+ # Note: Python packages like maturin, cffi, and twine are installed
35
+ # separately. maturin is already installed via cargo above.
36
+
37
+ [settings]
38
+ # Use cargo-binstall when available for faster installations
39
+ cargo_binstall = true
40
+
41
+ # Experimental features
42
+ experimental = true
43
+
44
+ # Enable idiomatic version files (like rust-toolchain.toml)
45
+ idiomatic_version_file_enable_tools = ["rust"]
46
+
47
+ # Configure rust/cargo homes if you want isolation from system rust
48
+ # rust_cache_dir = "./.mise/rust"
49
+ # cargo_home = "./.mise/cargo"
50
+
51
+ [tasks.setup]
52
+ description = "Set up the complete development environment"
53
+ run = """
54
+ echo "Setting up rumdl development environment..."
55
+ echo "Installing Rust toolchain and tools..."
56
+ mise install
57
+ echo "Installing Python tools with uv..."
58
+ uv tool install twine
59
+ echo "Development environment setup complete!"
60
+ echo ""
61
+ echo "Installed tools:"
62
+ mise list
63
+ echo ""
64
+ echo "Python tools:"
65
+ uv tool list
66
+ """
67
+
68
+ [tasks.verify]
69
+ description = "Verify all tools are installed correctly"
70
+ run = """
71
+ echo "Verifying development environment..."
72
+ echo "Rust version: $(rustc --version)"
73
+ echo "Cargo version: $(cargo --version)"
74
+ echo "Python version: $(python --version)"
75
+ echo "cargo-nextest version: $(cargo nextest --version)"
76
+ echo "maturin version: $(maturin --version)"
77
+ echo ""
78
+ echo "Running quick test to verify setup..."
79
+ make test-quick
80
+ """
81
+
82
+ [tasks.ci]
83
+ description = "Run CI checks"
84
+ run = """
85
+ echo "Running CI checks..."
86
+ make fmt
87
+ make lint
88
+ make test-quick
89
+ """
90
+
91
+ # CI environment variables (set these in CI workflow)
92
+ # Example for GitHub Actions:
93
+ # env:
94
+ # RUST_BACKTRACE: "full"
95
+ # CARGO_INCREMENTAL: "0"
96
+ # CARGO_NET_RETRY: "10"
97
+ # RUSTFLAGS: "-D warnings"
98
+
99
+ # Platform-specific tool versions (optional)
100
+ # [tools.linux]
101
+ # rust = "1.87.0"
102
+ #
103
+ # [tools.macos]
104
+ # rust = "1.87.0"
105
+ #
106
+ # [tools.windows]
107
+ # rust = "1.87.0"
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.0.86] - 2025-06-14
11
+
12
+ ## [0.0.85] - 2025-06-11
13
+
10
14
  ## [0.0.84] - 2025-06-10
11
15
 
12
16
  ## [0.0.84] - 2025-06-10
@@ -55,7 +59,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
55
59
  ### Added
56
60
  - Initial implementation of remaining rules for markdownlint parity
57
61
 
58
- [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.84...HEAD
62
+ [Unreleased]: https://github.com/rvben/rumdl/compare/v0.0.86...HEAD
63
+ [0.0.86]: https://github.com/rvben/rumdl/compare/v0.0.85...v0.0.86
64
+ [0.0.85]: https://github.com/rvben/rumdl/compare/v0.0.84...v0.0.85
59
65
  [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
60
66
  [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
61
67
  [0.0.84]: https://github.com/rvben/rumdl/compare/v0.0.83...v0.0.84
@@ -1753,7 +1753,7 @@ dependencies = [
1753
1753
 
1754
1754
  [[package]]
1755
1755
  name = "rumdl"
1756
- version = "0.0.84"
1756
+ version = "0.0.86"
1757
1757
  dependencies = [
1758
1758
  "anyhow",
1759
1759
  "assert_cmd",
@@ -1,7 +1,8 @@
1
1
  [package]
2
2
  name = "rumdl"
3
- version = "0.0.84"
3
+ version = "0.0.86"
4
4
  edition = "2021"
5
+ rust-version = "1.87.0"
5
6
  description = "A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)"
6
7
  authors = ["Ruben J. Jongejan <ruben.jongejan@gmail.com>"]
7
8
  license = "MIT"
@@ -1,4 +1,61 @@
1
- .PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install
1
+ .PHONY: build test clean fmt check doc version-major version-minor version-patch build-python build-wheel dev-install setup-mise dev-setup dev-verify
2
+
3
+ # Development environment setup
4
+ setup-mise:
5
+ @echo "Checking if mise is installed..."
6
+ @command -v mise >/dev/null 2>&1 || { \
7
+ echo "mise is not installed. Installing mise..."; \
8
+ curl https://mise.run | sh; \
9
+ echo 'eval "$$(~/.local/bin/mise activate bash)"' >> ~/.bashrc; \
10
+ echo 'eval "$$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc; \
11
+ echo ""; \
12
+ echo "mise installed! Please run:"; \
13
+ echo " source ~/.bashrc # or source ~/.zshrc"; \
14
+ echo "Then run 'make dev-setup' to continue"; \
15
+ exit 1; \
16
+ }
17
+ @echo "mise is installed at: $$(which mise)"
18
+
19
+ dev-setup: setup-mise
20
+ @echo "Installing development environment with mise..."
21
+ mise install
22
+ @echo ""
23
+ @echo "Development environment setup complete!"
24
+ @echo "Run 'make dev-verify' to verify the installation"
25
+
26
+ dev-verify:
27
+ @echo "Verifying development environment..."
28
+ @echo "===================="
29
+ @echo "Rust version: $$(rustc --version)"
30
+ @echo "Cargo version: $$(cargo --version)"
31
+ @echo "Python version: $$(python --version)"
32
+ @echo "cargo-nextest: $$(cargo nextest --version 2>/dev/null || echo 'not installed')"
33
+ @echo "maturin: $$(maturin --version 2>/dev/null || echo 'not installed')"
34
+ @echo "cargo-binstall: $$(cargo binstall --version 2>/dev/null || echo 'not installed')"
35
+ @echo "===================="
36
+
37
+ # CI-specific setup (uses mise if available, falls back to direct installation)
38
+ ci-setup:
39
+ @if command -v mise >/dev/null 2>&1; then \
40
+ echo "Using mise for CI setup..."; \
41
+ mise install; \
42
+ else \
43
+ echo "mise not found, using direct installation..."; \
44
+ if ! command -v cargo-nextest >/dev/null 2>&1; then \
45
+ echo "Installing cargo-nextest..."; \
46
+ curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C $${CARGO_HOME:-~/.cargo}/bin; \
47
+ fi; \
48
+ if ! command -v cargo-binstall >/dev/null 2>&1; then \
49
+ echo "Installing cargo-binstall..."; \
50
+ curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash; \
51
+ fi; \
52
+ fi
53
+
54
+ # Install mise in CI environment
55
+ ci-install-mise:
56
+ @echo "Installing mise for CI..."
57
+ @curl https://mise.run | MISE_INSTALL_PATH=/usr/local/bin/mise sh
58
+ @echo "mise installed at: $$(which mise)"
2
59
 
3
60
  build:
4
61
  cargo build --release
@@ -6,8 +63,14 @@ build:
6
63
  test:
7
64
  cargo test
8
65
 
66
+ test-nextest:
67
+ cargo nextest run
68
+
9
69
  test-quick:
10
- cargo test -- --skip test_lsp_memory_usage_over_time --skip test_lsp_memory_stress_with_large_files --skip test_lsp_concurrent_document_handling --skip test_memory_usage_with_large_content
70
+ cargo nextest run --profile quick
71
+
72
+ test-ci:
73
+ cargo nextest run --profile ci
11
74
 
12
75
  clean:
13
76
  cargo clean
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rumdl
3
- Version: 0.0.84
3
+ Version: 0.0.86
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -58,6 +58,7 @@ Project-URL: Repository, https://github.com/rvben/rumdl.git
58
58
  - [Using Cargo (Rust)](#using-cargo-rust)
59
59
  - [Using pip (Python)](#using-pip-python)
60
60
  - [Download binary](#download-binary)
61
+ - [VS Code Extension](#vs-code-extension)
61
62
  - [Usage](#usage)
62
63
  - [Pre-commit Integration](#pre-commit-integration)
63
64
  - [Rules](#rules)
@@ -137,6 +138,30 @@ Invoke-WebRequest -Uri "https://github.com/rvben/rumdl/releases/latest/download/
137
138
  Expand-Archive -Path "rumdl.zip" -DestinationPath "$env:USERPROFILE\.rumdl"
138
139
  ```
139
140
 
141
+ ### VS Code Extension
142
+
143
+ For the best development experience, install the rumdl VS Code extension directly from the command line:
144
+
145
+ ```bash
146
+ # Install the VS Code extension
147
+ rumdl vscode
148
+
149
+ # Check if the extension is installed
150
+ rumdl vscode --status
151
+
152
+ # Force reinstall the extension
153
+ rumdl vscode --force
154
+ ```
155
+
156
+ The extension provides:
157
+ - 🔍 Real-time linting as you type
158
+ - 💡 Quick fixes for common issues
159
+ - 🎨 Code formatting on save
160
+ - 📋 Hover tooltips with rule documentation
161
+ - ⚡ Lightning-fast performance with zero lag
162
+
163
+ The CLI will automatically detect VS Code, Cursor, or Windsurf and install the appropriate extension. See the [VS Code extension documentation](https://github.com/rvben/rumdl/blob/main/docs/vscode-extension.md) for more details.
164
+
140
165
  ## Usage
141
166
 
142
167
  Getting started with rumdl is simple:
@@ -303,6 +328,14 @@ Start the Language Server Protocol server for editor integration
303
328
  - `--stdio`: Use stdio for communication (default)
304
329
  - `-v, --verbose`: Enable verbose logging
305
330
 
331
+ #### `vscode [OPTIONS]`
332
+
333
+ Install the rumdl VS Code extension
334
+
335
+ **Options:**
336
+ - `--force`: Force reinstall even if already installed
337
+ - `--status`: Show installation status without installing
338
+
306
339
  #### `version`
307
340
 
308
341
  Show version information
@@ -28,6 +28,7 @@
28
28
  - [Using Cargo (Rust)](#using-cargo-rust)
29
29
  - [Using pip (Python)](#using-pip-python)
30
30
  - [Download binary](#download-binary)
31
+ - [VS Code Extension](#vs-code-extension)
31
32
  - [Usage](#usage)
32
33
  - [Pre-commit Integration](#pre-commit-integration)
33
34
  - [Rules](#rules)
@@ -107,6 +108,30 @@ Invoke-WebRequest -Uri "https://github.com/rvben/rumdl/releases/latest/download/
107
108
  Expand-Archive -Path "rumdl.zip" -DestinationPath "$env:USERPROFILE\.rumdl"
108
109
  ```
109
110
 
111
+ ### VS Code Extension
112
+
113
+ For the best development experience, install the rumdl VS Code extension directly from the command line:
114
+
115
+ ```bash
116
+ # Install the VS Code extension
117
+ rumdl vscode
118
+
119
+ # Check if the extension is installed
120
+ rumdl vscode --status
121
+
122
+ # Force reinstall the extension
123
+ rumdl vscode --force
124
+ ```
125
+
126
+ The extension provides:
127
+ - 🔍 Real-time linting as you type
128
+ - 💡 Quick fixes for common issues
129
+ - 🎨 Code formatting on save
130
+ - 📋 Hover tooltips with rule documentation
131
+ - ⚡ Lightning-fast performance with zero lag
132
+
133
+ The CLI will automatically detect VS Code, Cursor, or Windsurf and install the appropriate extension. See the [VS Code extension documentation](https://github.com/rvben/rumdl/blob/main/docs/vscode-extension.md) for more details.
134
+
110
135
  ## Usage
111
136
 
112
137
  Getting started with rumdl is simple:
@@ -273,6 +298,14 @@ Start the Language Server Protocol server for editor integration
273
298
  - `--stdio`: Use stdio for communication (default)
274
299
  - `-v, --verbose`: Enable verbose logging
275
300
 
301
+ #### `vscode [OPTIONS]`
302
+
303
+ Install the rumdl VS Code extension
304
+
305
+ **Options:**
306
+ - `--force`: Force reinstall even if already installed
307
+ - `--status`: Show installation status without installing
308
+
276
309
  #### `version`
277
310
 
278
311
  Show version information
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## What this rule does
4
4
 
5
- Ensures that links to sections within the same document (like `#introduction`) point to actual headings that exist.
5
+ Ensures that links to sections within the same document (like `#introduction`) point to actual headings that exist. Cross-file fragment links (like `file.md#heading`) are not validated by this rule.
6
6
 
7
7
  ## Why this matters
8
8
 
@@ -26,6 +26,9 @@ Jump to [Getting Started](#getting-started) to begin.
26
26
  # Working with **bold** and *italic*
27
27
 
28
28
  Link to [formatted heading](#working-with-bold-and-italic)
29
+
30
+ <!-- Cross-file links are ignored by MD051 -->
31
+ See [external documentation](README.md#setup) for setup instructions.
29
32
  ```
30
33
 
31
34
  ### ❌ Incorrect
@@ -0,0 +1,94 @@
1
+ # Rumdl VS Code Extension
2
+
3
+ The rumdl VS Code extension provides real-time Markdown linting directly in your editor, powered by the same fast Rust-based engine as the rumdl CLI. With the new `rumdl vscode` command, you can install and manage the extension directly from your terminal.
4
+
5
+ ## Installation
6
+
7
+ ### Method 1: Using the rumdl CLI (Recommended)
8
+
9
+ If you have rumdl installed, you can install the VS Code extension directly from the command line:
10
+
11
+ ```bash
12
+ # Install the extension
13
+ rumdl vscode
14
+
15
+ # Check installation status
16
+ rumdl vscode --status
17
+
18
+ # Force reinstall if needed
19
+ rumdl vscode --force
20
+ ```
21
+
22
+ ### Method 2: From VS Code Marketplace
23
+
24
+ 1. Open VS Code
25
+ 2. Go to Extensions (Ctrl/Cmd+Shift+X)
26
+ 3. Search for "rumdl"
27
+ 4. Click Install
28
+
29
+ ### Method 3: From Command Line
30
+
31
+ ```bash
32
+ code --install-extension rvben.rumdl
33
+ ```
34
+
35
+ ## Features
36
+
37
+ - **Real-time Linting**: Get instant feedback on Markdown issues as you type
38
+ - **Quick Fixes**: One-click fixes for auto-fixable violations
39
+ - **Full Rule Coverage**: All 50+ rumdl rules with proper categorization
40
+ - **High Performance**: 5x faster than markdownlint
41
+ - **Configuration Support**: Respects your `.rumdl.toml` configuration files
42
+ - **Easy Installation**: Install directly from the CLI with `rumdl vscode`
43
+ - **Multiple Editor Support**: Works with VS Code, Cursor, and Windsurf
44
+
45
+ ## Requirements
46
+
47
+ - VS Code 1.74.0 or higher
48
+ - rumdl CLI (optional, but recommended for full functionality)
49
+
50
+ ## Configuration
51
+
52
+ The extension will automatically detect and use your project's `.rumdl.toml` configuration file. You can also configure the extension through VS Code settings:
53
+
54
+ ```json
55
+ {
56
+ "rumdl.enable": true,
57
+ "rumdl.configPath": ".rumdl.toml",
58
+ "rumdl.server.logLevel": "info"
59
+ }
60
+ ```
61
+
62
+ ## Troubleshooting
63
+
64
+ ### Extension Not Working
65
+
66
+ 1. Check if the extension is installed:
67
+ ```bash
68
+ rumdl vscode --status
69
+ ```
70
+
71
+ 2. Ensure VS Code's `code` command is in your PATH:
72
+ - On macOS: Open VS Code, press Cmd+Shift+P, and run "Shell Command: Install 'code' command in PATH"
73
+ - On Windows: This should be automatic during VS Code installation
74
+ - On Linux: Add VS Code's bin directory to your PATH
75
+
76
+ 3. Check the extension logs:
77
+ - Open VS Code's Output panel (View → Output)
78
+ - Select "rumdl" from the dropdown
79
+
80
+ ### VS Code Not Found
81
+
82
+ If you get a "VS Code not found" error, make sure:
83
+
84
+ 1. VS Code is installed
85
+ 2. The `code` command is available in your terminal:
86
+ ```bash
87
+ code --version
88
+ ```
89
+
90
+ ## Related Links
91
+
92
+ - [rumdl GitHub Repository](https://github.com/rvben/rumdl)
93
+ - [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=rumdl.rumdl)
94
+ - [Configuration Guide](./global-settings.md)
@@ -0,0 +1,10 @@
1
+ [toolchain]
2
+ channel = "1.87.0"
3
+ components = ["rustfmt", "clippy"]
4
+ targets = [
5
+ "x86_64-unknown-linux-gnu",
6
+ "aarch64-unknown-linux-gnu",
7
+ "x86_64-pc-windows-msvc",
8
+ "x86_64-apple-darwin",
9
+ "aarch64-apple-darwin"
10
+ ]