blockwatch-cli 0.14.2__tar.gz → 0.15.0__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.
Files changed (269) hide show
  1. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.pre-commit-config.yaml +8 -0
  2. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/AGENTS.md +9 -8
  3. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/CHANGELOG.md +19 -0
  4. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/CLAUDE.md +9 -8
  5. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/Cargo.lock +1 -12
  6. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/Cargo.toml +1 -2
  7. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/PKG-INFO +1 -1
  8. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/README.md +1 -1
  9. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/ci.md +2 -2
  10. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/cli.md +3 -3
  11. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/setup.py +1 -1
  12. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/markdown.rs +306 -154
  13. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/mdx.rs +4 -13
  14. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.agents/.claude-plugin/plugin.json +0 -0
  15. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.agents/skills/blockwatch/SKILL.md +0 -0
  16. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.claude-plugin/marketplace.json +0 -0
  17. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/dependabot.yml +0 -0
  18. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/blockwatch.yml +0 -0
  19. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/codeql.yml +0 -0
  20. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/markdownlint.yml +0 -0
  21. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/pypi.yml +0 -0
  22. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/release.yml +0 -0
  23. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/rust.yml +0 -0
  24. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.github/workflows/trusted-checks.yml +0 -0
  25. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.gitignore +0 -0
  26. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.markdownlint-cli2.yaml +0 -0
  27. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/.pre-commit-hooks.yaml +0 -0
  28. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/LICENSE +0 -0
  29. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/SECURITY.md +0 -0
  30. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/blockwatch.toml +0 -0
  31. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/clippy.toml +0 -0
  32. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/codecov.yml +0 -0
  33. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/demo.gif +0 -0
  34. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/dist-workspace.toml +0 -0
  35. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/agents.md +0 -0
  36. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/symbols.md +0 -0
  37. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/README.md +0 -0
  38. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/affects.md +0 -0
  39. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/check-ai.md +0 -0
  40. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/check-lua.md +0 -0
  41. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/keep-sorted.md +0 -0
  42. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/keep-unique.md +0 -0
  43. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/line-count.md +0 -0
  44. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/line-pattern.md +0 -0
  45. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/docs/validators/same-as.md +0 -0
  46. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/pypi/pyproject.toml +0 -0
  47. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/pyproject.toml +0 -0
  48. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/release.toml +0 -0
  49. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/scripts/check_language_count.lua +0 -0
  50. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/scripts/check_latest_gpt_nano_model.lua +0 -0
  51. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/block_parser.rs +0 -0
  52. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/blocks.rs +0 -0
  53. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/cli.rs +0 -0
  54. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/config.rs +0 -0
  55. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/diff_parser.rs +0 -0
  56. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/explain.rs +0 -0
  57. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/flags.rs +0 -0
  58. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/fs.rs +0 -0
  59. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/bash.rs +0 -0
  60. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/c.rs +0 -0
  61. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/c_sharp.rs +0 -0
  62. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/cmake.rs +0 -0
  63. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/cpp.rs +0 -0
  64. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/css.rs +0 -0
  65. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/dart.rs +0 -0
  66. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/dockerfile.rs +0 -0
  67. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/elixir.rs +0 -0
  68. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/go.rs +0 -0
  69. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/graphql.rs +0 -0
  70. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/groovy.rs +0 -0
  71. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/hcl.rs +0 -0
  72. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/html.rs +0 -0
  73. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/java.rs +0 -0
  74. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/javascript.rs +0 -0
  75. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/json.rs +0 -0
  76. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/json.scm +0 -0
  77. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/kotlin.rs +0 -0
  78. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/lean.rs +0 -0
  79. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/lua.rs +0 -0
  80. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/makefile.rs +0 -0
  81. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/mod.rs +0 -0
  82. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/nix.rs +0 -0
  83. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/ocaml.rs +0 -0
  84. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/php.rs +0 -0
  85. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/proto.rs +0 -0
  86. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/python.rs +0 -0
  87. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/ruby.rs +0 -0
  88. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/rust.rs +0 -0
  89. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/scala.rs +0 -0
  90. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/sql.rs +0 -0
  91. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/starlark.rs +0 -0
  92. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/swift.rs +0 -0
  93. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/toml.rs +0 -0
  94. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/tsx.rs +0 -0
  95. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/typescript.rs +0 -0
  96. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/xml.rs +0 -0
  97. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/language_parsers/yaml.rs +0 -0
  98. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/lib.rs +0 -0
  99. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/main.rs +0 -0
  100. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/path_arguments.rs +0 -0
  101. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/paths_glob.rs +0 -0
  102. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/repo_path.rs +0 -0
  103. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/report.rs +0 -0
  104. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/sarif.rs +0 -0
  105. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/scan.rs +0 -0
  106. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/settings.rs +0 -0
  107. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/skill.md +0 -0
  108. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/symbol_path.rs +0 -0
  109. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/symbols.rs +0 -0
  110. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/tag_parser.rs +0 -0
  111. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/target_reference.rs +0 -0
  112. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/affects.rs +0 -0
  113. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/check_ai.rs +0 -0
  114. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/check_lua.rs +0 -0
  115. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/keep_sorted.rs +0 -0
  116. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/keep_unique.rs +0 -0
  117. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/line_count.rs +0 -0
  118. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/line_pattern.rs +0 -0
  119. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/mod.rs +0 -0
  120. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/validators/same_as.rs +0 -0
  121. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/violation_address.rs +0 -0
  122. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/src/virtual_blocks.rs +0 -0
  123. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/affects.rs +0 -0
  124. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/check_ai.rs +0 -0
  125. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/check_lua.rs +0 -0
  126. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/common/empty.toml +0 -0
  127. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/common/mod.rs +0 -0
  128. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/config.rs +0 -0
  129. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/encoding.rs +0 -0
  130. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/explain.rs +0 -0
  131. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/general.rs +0 -0
  132. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/keep_sorted.rs +0 -0
  133. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/keep_unique.rs +0 -0
  134. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/line_count.rs +0 -0
  135. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/line_pattern.rs +0 -0
  136. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/list.rs +0 -0
  137. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/path_arguments.rs +0 -0
  138. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/repository_root.rs +0 -0
  139. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/same_as.rs +0 -0
  140. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/sarif.rs +0 -0
  141. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/skill.rs +0 -0
  142. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/suppressions.rs +0 -0
  143. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/symbol_references.rs +0 -0
  144. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/cross_file_source.rs +0 -0
  145. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/cross_file_target.md +0 -0
  146. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/custom_ext_source.javascript +0 -0
  147. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/custom_ext_target.javascript +0 -0
  148. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/dangling.md +0 -0
  149. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/missing_symbol.rs +0 -0
  150. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/more_added_than_deleted.py +0 -0
  151. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/multiline_tag_source.rs +0 -0
  152. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/multiline_tag_target.rs +0 -0
  153. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/nested_mapping_source.rs +0 -0
  154. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/nested_mapping_target.yaml +0 -0
  155. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/sibling.md +0 -0
  156. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/symbol_source.rs +0 -0
  157. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/symbol_target.json +0 -0
  158. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/table_source.rs +0 -0
  159. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/table_target.toml +0 -0
  160. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/tag_and_content_source.ts +0 -0
  161. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/tag_and_content_target.ts +0 -0
  162. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/whole_file_source.rs +0 -0
  163. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/affects/whole_file_target.json +0 -0
  164. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_ai/two_blocks.py +0 -0
  165. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/affects.lua +0 -0
  166. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/affects.py +0 -0
  167. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/affects_drift.py +0 -0
  168. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/blocking_io.lua +0 -0
  169. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/blocking_io.py +0 -0
  170. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/echo.lua +0 -0
  171. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/fail.lua +0 -0
  172. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/mode.py +0 -0
  173. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/os.lua +0 -0
  174. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/pathfmt/report_path.lua +0 -0
  175. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/pathfmt/source.py +0 -0
  176. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/pattern.py +0 -0
  177. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/pattern_many_matches.py +0 -0
  178. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/pattern_no_match.py +0 -0
  179. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/success.lua +0 -0
  180. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/check_lua/success_and_failure.py +0 -0
  181. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/config/glob_target/config.toml +0 -0
  182. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/config/glob_target/package.json +0 -0
  183. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/config/glob_target/plugins/blue/package.json +0 -0
  184. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/config/glob_target/plugins/green/package.json +0 -0
  185. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/config/glob_target/plugins/red/package.json +0 -0
  186. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/explain/a.py +0 -0
  187. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/explain/check.lua +0 -0
  188. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/block_selection.py +0 -0
  189. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/custom_file_extension.javascript +0 -0
  190. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/custom_file_extension.python +0 -0
  191. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/disable_enable.py +0 -0
  192. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/paths/invalid.py +0 -0
  193. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/paths/subdir/nested_invalid.py +0 -0
  194. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/paths/valid.py +0 -0
  195. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/general/severity.py +0 -0
  196. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/hidden/.github/workflows/ci.yml +0 -0
  197. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/keep_sorted/orderings.py +0 -0
  198. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/keep_unique/basic_and_pattern.py +0 -0
  199. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/line_count/equality_and_greater_than.py +0 -0
  200. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/line_pattern/forbidden_text.py +0 -0
  201. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/line_pattern/hex_and_word_patterns.py +0 -0
  202. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/list/.hg/.gitkeep +0 -0
  203. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/list/a.py +0 -0
  204. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/list/b.py +0 -0
  205. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/positions/unicode_columns.py +0 -0
  206. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/custom_ext_source.javascript +0 -0
  207. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/custom_ext_target.javascript +0 -0
  208. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/package.json +0 -0
  209. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/paths/alpha/item.txt +0 -0
  210. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/paths/beta/item.txt +0 -0
  211. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/paths_and_block_source.md +0 -0
  212. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/paths_source.md +0 -0
  213. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/sibling.rs +0 -0
  214. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/source.rs +0 -0
  215. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/split_table_source.rs +0 -0
  216. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/split_table_target.toml +0 -0
  217. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/symbol_mismatch_source.rs +0 -0
  218. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/symbol_source.rs +0 -0
  219. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/target.md +0 -0
  220. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/whole_file_mismatch_source.rs +0 -0
  221. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/whole_file_source.rs +0 -0
  222. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/same_as/whole_file_target.json +0 -0
  223. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/sarif/advisory.py +0 -0
  224. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/sarif/clean.py +0 -0
  225. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/sarif/sorted.py +0 -0
  226. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/sarif/unnamed.py +0 -0
  227. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg.txt +0 -0
  228. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg_gone_a.txt +0 -0
  229. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg_gone_b.txt +0 -0
  230. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg_lowercase_trailer.txt +0 -0
  231. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg_malformed.txt +0 -0
  232. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/commit_msg_with_noise.txt +0 -0
  233. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/dangling.py +0 -0
  234. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/sorted.py +0 -0
  235. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/symbol.py +0 -0
  236. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/symbol_target.json +0 -0
  237. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/two_rules.py +0 -0
  238. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/suppressions/unnamed.py +0 -0
  239. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/escapes_source.rs +0 -0
  240. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/escapes_target.json +0 -0
  241. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/filter_source.rs +0 -0
  242. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/filter_target.yaml +0 -0
  243. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/json_source.rs +0 -0
  244. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/json_target.json +0 -0
  245. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/jsonc_source.rs +0 -0
  246. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/jsonc_target.jsonc +0 -0
  247. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/markdown_source.rs +0 -0
  248. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/markdown_target.markdown +0 -0
  249. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/md_source.rs +0 -0
  250. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/md_target.md +0 -0
  251. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/mdx_source.rs +0 -0
  252. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/mdx_target.mdx +0 -0
  253. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/mixed_list_source.rs +0 -0
  254. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/mixed_list_target.json +0 -0
  255. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/toml_source.rs +0 -0
  256. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/toml_target.toml +0 -0
  257. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/yaml_source.rs +0 -0
  258. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/yaml_target.yaml +0 -0
  259. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/yml_source.rs +0 -0
  260. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/symbol_references/yml_target.yml +0 -0
  261. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/affects/pair.py +0 -0
  262. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/clean/counted.py +0 -0
  263. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/clean/noop.py +0 -0
  264. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/clean/notes.txt +0 -0
  265. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/clean/sorted.py +0 -0
  266. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/diff/two_blocks.py +0 -0
  267. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/failing/unsorted.py +0 -0
  268. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/testdata/verbosity/mixed/both_kinds.py +0 -0
  269. {blockwatch_cli-0.14.2 → blockwatch_cli-0.15.0}/tests/verbosity.rs +0 -0
@@ -43,6 +43,14 @@ repos:
43
43
  types: [ rust ]
44
44
  stages: [ pre-commit ]
45
45
  pass_filenames: false
46
+ - id: cargo-test
47
+ name: cargo test
48
+ description: Run the unit, integration and doc tests.
49
+ entry: cargo test --quiet
50
+ language: system
51
+ types: [ rust ]
52
+ stages: [ pre-commit ]
53
+ pass_filenames: false
46
54
 
47
55
  # Rules and the set of files linted live in `.markdownlint-cli2.yaml`, which the tool picks up
48
56
  # from the repository root. The hook passes only the staged Markdown files, so a commit is judged
@@ -65,9 +65,9 @@ For example:
65
65
  - *Always* handle the variants of an enum with an exhaustive `match`. A `let ... else`, or an `if` that handles one
66
66
  variant and sends the rest to a single branch, quietly gives any new variant whatever that branch does. With a
67
67
  `match`, the compiler makes you decide what to do with each new variant. One exception: a `match` on another
68
- crate's enum can end with `_` when it only asks whether a value is one variant, and no new variant could be that
69
- one. For example, every Markdown heading is `mdast::Node::Heading`, so the other node types can go to `_ => None`.
70
- Say why in a comment next to the `_`.
68
+ crate's enum can end with `_` when it only picks out one or a few variants, and no new variant could be one of
69
+ them. For example, every Markdown heading is `mdast::Node::Heading`, so the other node types can go to
70
+ `_ => None`. Say why in a comment next to the `_`.
71
71
  - *Always* give an item the narrowest visibility that compiles: private, then `pub(super)`, then `pub(crate)`.
72
72
  blockwatch is a program, not a library. Only `run` and `count_rust_blocks` in `lib.rs` are `pub`, for `main.rs` and
73
73
  the fuzz target. The `unreachable_pub` lint makes `cargo clippy -- -D warnings` fail on any other `pub`.
@@ -173,8 +173,9 @@ The whole pipeline is in `src/cli.rs`. `src/main.rs` only calls `blockwatch::run
173
173
  from the command line select, and that don't match the settings' ignore globs. `PathArguments::resolve` turns an
174
174
  existing file or directory into a glob first, so `src` selects `src/**`. Pick each file's language by its
175
175
  extension, using the settings' extension mappings too.
176
- 6. For each file, the matching `language_parsers::<lang>` (a tree-sitter grammar) finds the comments. `tag_parser` and
177
- `block_parser` turn the comment text into `Block` values, with their attributes and their byte and line ranges.
176
+ 6. For each file, the matching `language_parsers::<lang>` (usually a tree-sitter grammar) finds the comments.
177
+ `tag_parser` and `block_parser` turn the comment text into `Block` values, with their attributes and their byte and
178
+ line ranges.
178
179
  `VirtualBlock::resolve` finds each virtual block in the file, by its `Locator`, and adds it as a `Block` too. A file
179
180
  without a grammar is read as plain text: it has no tags, only its virtual blocks. A target that does not resolve
180
181
  stops the run. `--only-changed` also parses the file of a virtual block whose entry the diff
@@ -224,7 +225,8 @@ The main modules:
224
225
  - `src/repo_path.rs` — `RepoPath`, the one way to write a path relative to the repository root. A diff header
225
226
  (`b/src/main.rs`), a path found in the walk and a `file:name` attribute all become a `RepoPath`. So the same file is
226
227
  always the same map key.
227
- - `src/language_parsers/` — one tree-sitter grammar for each language. Each language has a `parser()` that returns a
228
+ - `src/language_parsers/` — one parser for each language, most of them a tree-sitter grammar. Markdown and MDX use
229
+ the `markdown` crate, and Lean has its own scanner. Each language has a `parser()` that returns a
228
230
  `LanguageParser`, which knows which syntax nodes are comments. `src/block_parser.rs` turns those comments into
229
231
  blocks. `language_parsers()` in `language_parsers/mod.rs` returns `LanguageParsers`: the parser of each extension.
230
232
  Its `parser_for` picks the parser of a file, using the settings' extension mappings too. **To add a language, add a
@@ -238,8 +240,7 @@ The main modules:
238
240
  syntax tree is nested.
239
241
  - YAML walks its syntax tree itself. An alias has a position in a sequence but can't be addressed, and a query can't
240
242
  express that.
241
- - Markdown finds its sections with the `markdown` crate. The `section` nodes of `tree-sitter-md` don't end at a
242
- heading underlined with `---`.
243
+ - Markdown finds its sections with the `markdown` crate, the same parser that finds its comments.
243
244
 
244
245
  Each language's tests list every symbol it finds. When you give a language symbols, also document its paths in
245
246
  `docs/symbols.md` and in the "Symbols" section of the skill, `src/skill.md`. A test in `language_parsers/mod.rs` and the
@@ -12,6 +12,25 @@ Releases up to and including v0.3.11 predate this file. Their notes live on the
12
12
 
13
13
  ## [Unreleased] - ReleaseDate
14
14
 
15
+ ## [0.15.0] - 2026-10-21
16
+
17
+ ### Changed
18
+
19
+ - In Markdown, a `<!--` is a comment only where HTML is kept as it is: in an HTML block or in raw HTML in a line of
20
+ text. These were read as comments before and are not now:
21
+ - the alt text of an image: `![Logo <!-- x -->](logo.png)`;
22
+ - the title of a link: `[Docs](docs.md "<!-- x -->")`;
23
+ - an escaped `<`: `\<!-- x -->`.
24
+
25
+ In a line of text, `<!-->` is now a whole comment, so a tag after it on that line is not read.
26
+
27
+ ### Fixed
28
+
29
+ - In Markdown, blockwatch skipped every tag after a fenced code block that holds a line like `` ``` `` indented by 4
30
+ spaces or a tab, or `` echo x``` ``. Such a line closed the code block too early, so the rest of the file became
31
+ code. The run gave no error. Now such a line stays in the code block, as CommonMark says
32
+ ([#176](https://github.com/mennanov/blockwatch/issues/176)).
33
+
15
34
  ## [0.14.2] - 2026-10-21
16
35
 
17
36
  ### Added
@@ -65,9 +65,9 @@ For example:
65
65
  - *Always* handle the variants of an enum with an exhaustive `match`. A `let ... else`, or an `if` that handles one
66
66
  variant and sends the rest to a single branch, quietly gives any new variant whatever that branch does. With a
67
67
  `match`, the compiler makes you decide what to do with each new variant. One exception: a `match` on another
68
- crate's enum can end with `_` when it only asks whether a value is one variant, and no new variant could be that
69
- one. For example, every Markdown heading is `mdast::Node::Heading`, so the other node types can go to `_ => None`.
70
- Say why in a comment next to the `_`.
68
+ crate's enum can end with `_` when it only picks out one or a few variants, and no new variant could be one of
69
+ them. For example, every Markdown heading is `mdast::Node::Heading`, so the other node types can go to
70
+ `_ => None`. Say why in a comment next to the `_`.
71
71
  - *Always* give an item the narrowest visibility that compiles: private, then `pub(super)`, then `pub(crate)`.
72
72
  blockwatch is a program, not a library. Only `run` and `count_rust_blocks` in `lib.rs` are `pub`, for `main.rs` and
73
73
  the fuzz target. The `unreachable_pub` lint makes `cargo clippy -- -D warnings` fail on any other `pub`.
@@ -173,8 +173,9 @@ The whole pipeline is in `src/cli.rs`. `src/main.rs` only calls `blockwatch::run
173
173
  from the command line select, and that don't match the settings' ignore globs. `PathArguments::resolve` turns an
174
174
  existing file or directory into a glob first, so `src` selects `src/**`. Pick each file's language by its
175
175
  extension, using the settings' extension mappings too.
176
- 6. For each file, the matching `language_parsers::<lang>` (a tree-sitter grammar) finds the comments. `tag_parser` and
177
- `block_parser` turn the comment text into `Block` values, with their attributes and their byte and line ranges.
176
+ 6. For each file, the matching `language_parsers::<lang>` (usually a tree-sitter grammar) finds the comments.
177
+ `tag_parser` and `block_parser` turn the comment text into `Block` values, with their attributes and their byte and
178
+ line ranges.
178
179
  `VirtualBlock::resolve` finds each virtual block in the file, by its `Locator`, and adds it as a `Block` too. A file
179
180
  without a grammar is read as plain text: it has no tags, only its virtual blocks. A target that does not resolve
180
181
  stops the run. `--only-changed` also parses the file of a virtual block whose entry the diff
@@ -224,7 +225,8 @@ The main modules:
224
225
  - `src/repo_path.rs` — `RepoPath`, the one way to write a path relative to the repository root. A diff header
225
226
  (`b/src/main.rs`), a path found in the walk and a `file:name` attribute all become a `RepoPath`. So the same file is
226
227
  always the same map key.
227
- - `src/language_parsers/` — one tree-sitter grammar for each language. Each language has a `parser()` that returns a
228
+ - `src/language_parsers/` — one parser for each language, most of them a tree-sitter grammar. Markdown and MDX use
229
+ the `markdown` crate, and Lean has its own scanner. Each language has a `parser()` that returns a
228
230
  `LanguageParser`, which knows which syntax nodes are comments. `src/block_parser.rs` turns those comments into
229
231
  blocks. `language_parsers()` in `language_parsers/mod.rs` returns `LanguageParsers`: the parser of each extension.
230
232
  Its `parser_for` picks the parser of a file, using the settings' extension mappings too. **To add a language, add a
@@ -238,8 +240,7 @@ The main modules:
238
240
  syntax tree is nested.
239
241
  - YAML walks its syntax tree itself. An alias has a position in a sequence but can't be addressed, and a query can't
240
242
  express that.
241
- - Markdown finds its sections with the `markdown` crate. The `section` nodes of `tree-sitter-md` don't end at a
242
- heading underlined with `---`.
243
+ - Markdown finds its sections with the `markdown` crate, the same parser that finds its comments.
243
244
 
244
245
  Each language's tests list every symbol it finds. When you give a language symbols, also document its paths in
245
246
  `docs/symbols.md` and in the "Symbols" section of the skill, `src/skill.md`. A test in `language_parsers/mod.rs` and the
@@ -274,7 +274,7 @@ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
274
274
 
275
275
  [[package]]
276
276
  name = "blockwatch"
277
- version = "0.14.2"
277
+ version = "0.15.0"
278
278
  dependencies = [
279
279
  "anyhow",
280
280
  "assert-json-diff",
@@ -327,7 +327,6 @@ dependencies = [
327
327
  "tree-sitter-kotlin-ng",
328
328
  "tree-sitter-lua",
329
329
  "tree-sitter-make",
330
- "tree-sitter-md",
331
330
  "tree-sitter-nix",
332
331
  "tree-sitter-ocaml",
333
332
  "tree-sitter-php",
@@ -2637,16 +2636,6 @@ dependencies = [
2637
2636
  "tree-sitter-language",
2638
2637
  ]
2639
2638
 
2640
- [[package]]
2641
- name = "tree-sitter-md"
2642
- version = "0.5.3"
2643
- source = "registry+https://github.com/rust-lang/crates.io-index"
2644
- checksum = "2efd398be546456c814598ee56c0f51769a77241511b4a58077815d120afa882"
2645
- dependencies = [
2646
- "cc",
2647
- "tree-sitter-language",
2648
- ]
2649
-
2650
2639
  [[package]]
2651
2640
  name = "tree-sitter-nix"
2652
2641
  version = "0.3.0"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "blockwatch"
3
- version = "0.14.2"
3
+ version = "0.15.0"
4
4
  edition = "2024"
5
5
  repository = "https://github.com/mennanov/blockwatch"
6
6
  description = "Language agnostic linter that keeps your code and documentation in sync and valid"
@@ -62,7 +62,6 @@ tree-sitter-json = "0.24.8"
62
62
  tree-sitter-kotlin-ng = "1.1"
63
63
  tree-sitter-lua = "0.5"
64
64
  tree-sitter-make = "1.1"
65
- tree-sitter-md = "0.5"
66
65
  tree-sitter-nix = "0.3.0"
67
66
  tree-sitter-ocaml = "0.26"
68
67
  tree-sitter-php = "0.25"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: blockwatch-cli
3
- Version: 0.14.2
3
+ Version: 0.15.0
4
4
  Summary: Language agnostic linter that keeps your code and documentation in sync and valid
5
5
  Keywords: linter,sync,drift,comments,agents
6
6
  Home-Page: https://github.com/mennanov/blockwatch
@@ -218,7 +218,7 @@ exclusions, and custom extension mappings.
218
218
 
219
219
  ```yaml
220
220
  - repo: https://github.com/mennanov/blockwatch
221
- rev: v0.14.2 # Use latest release
221
+ rev: v0.15.0 # Use latest release
222
222
  hooks:
223
223
  - id: blockwatch
224
224
  ```
@@ -19,7 +19,7 @@ To use [pre-commit](https://pre-commit.com), add the hook to `.pre-commit-config
19
19
 
20
20
  ```yaml
21
21
  - repo: https://github.com/mennanov/blockwatch
22
- rev: v0.14.2 # Use latest release
22
+ rev: v0.15.0 # Use latest release
23
23
  hooks:
24
24
  - id: blockwatch
25
25
  ```
@@ -59,7 +59,7 @@ The `blockwatch` hook runs before the commit message exists, so it cannot see a
59
59
 
60
60
  ```yaml
61
61
  - repo: https://github.com/mennanov/blockwatch
62
- rev: v0.14.2 # Use latest release
62
+ rev: v0.15.0 # Use latest release
63
63
  hooks:
64
64
  - id: blockwatch-commit-msg
65
65
  ```
@@ -557,15 +557,15 @@ Nothing else about the run changes: the same violations are found, and the exit
557
557
  "tool": {
558
558
  "driver": {
559
559
  "name": "blockwatch",
560
- "version": "0.14.2",
561
- "semanticVersion": "0.14.2",
560
+ "version": "0.15.0",
561
+ "semanticVersion": "0.15.0",
562
562
  "informationUri": "https://github.com/mennanov/blockwatch",
563
563
  "rules": [
564
564
  {
565
565
  "id": "keep-sorted",
566
566
  "name": "keep-sorted",
567
567
  "shortDescription": { "text": "Requires the lines of a block to stay in order." },
568
- "helpUri": "https://github.com/mennanov/blockwatch/blob/v0.14.2/docs/validators/keep-sorted.md"
568
+ "helpUri": "https://github.com/mennanov/blockwatch/blob/v0.15.0/docs/validators/keep-sorted.md"
569
569
  }
570
570
  ]
571
571
  }
@@ -6,7 +6,7 @@ setup(
6
6
  name='blockwatch-pre-commit-placeholder',
7
7
  version='0.0.0',
8
8
  # <block name="blockwatch-cli-version" same-as-pattern="blockwatch-cli==(?P<value>\d+\.\d+\.\d+)">
9
- install_requires=['blockwatch-cli==0.14.2'],
9
+ install_requires=['blockwatch-cli==0.15.0'],
10
10
  # </block>
11
11
  # Without it, setuptools takes the directories under src/ for Python packages.
12
12
  packages=[],