mirror of
https://github.com/penpot/penpot.git
synced 2026-08-01 19:06:18 +00:00
1.2 KiB
1.2 KiB
Paren-Repair
scripts/paren-repair fixes mismatched parentheses, brackets, and braces in
Clojure/ClojureScript files, then reformats them with cljfmt.
When to use
- After LLM edits introduce broken delimiters — proactively run it on files you just touched.
- When lint (clj-kondo), the Clojure compiler, or shadow-cljs report syntax errors mentioning mismatched/unclosed delimiters, reader errors, or unexpected EOF.
- Before running lint/format checks — delimiter errors make linter output misleading. Fix them first, then lint.
How to use (CLI)
# File mode (in-place fix + format)
bb scripts/paren-repair path/to/file.clj
# Pipe mode (stdin → fixed code to stdout)
echo '(def x 1' | bb scripts/paren-repair
# Help
bb scripts/paren-repair --help
bb must be invoked from the repo root so the path scripts/paren-repair resolves.
Native Tool Available (opencode)
A native opencode tool paren-repair is available at .opencode/scripts/paren-repair.ts.
The LLM can call it directly with:
files: Array of file paths to fixcode: Code string to fix via stdin
Example usage by the LLM:
paren-repair(files="src/foo.clj, src/bar.cljs")
paren-repair(code="(defn foo [x")