Skip to content

Commit 7c6a244

Browse files
committed
docs: update
1 parent efb68dc commit 7c6a244

1 file changed

Lines changed: 42 additions & 5 deletions

File tree

README.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,45 @@ still treated as paths.
114114

115115
---
116116

117+
## Language support
118+
119+
Two things here are language-specific, and only one of them limits you.
120+
121+
**Review itself works on any text diff** — any language, plus config files, SQL
122+
migrations, shell scripts. The model reads the hunk; the deterministic detectors
123+
and your regex rules run on added lines regardless of extension.
124+
125+
**The code graph is the part that needs a grammar.** It supplies the enclosing
126+
definition, the callers of a changed symbol, and referenced definitions —
127+
tree-sitter parsers, 13 languages:
128+
129+
| Language | Extensions |
130+
| ---------- | -------------------------------- |
131+
| Rust | `.rs` |
132+
| TypeScript | `.ts` `.mts` `.cts` |
133+
| TSX | `.tsx` |
134+
| JavaScript | `.js` `.jsx` `.mjs` `.cjs` |
135+
| Python | `.py` `.pyi` |
136+
| Go | `.go` |
137+
| Java | `.java` |
138+
| C# | `.cs` |
139+
| Ruby | `.rb` `.rake` |
140+
| PHP | `.php` |
141+
| C | `.c` `.h` |
142+
| C++ | `.cpp` `.cc` `.cxx` `.hpp` `.hh` |
143+
| Scala | `.scala` `.sc` |
144+
145+
Each gets definitions, references and callers. Files outside the table are still
146+
reviewed — with their hunk, their test file when it is conventionally named, and
147+
your rule sets — just without caller context, so a changed signature is judged on
148+
its own rather than against the code that depends on it.
149+
150+
Adding a language is one entry in the `LANGS` table in
151+
[`apps/tui-cli/src/graph/extract.rs`](apps/tui-cli/src/graph/extract.rs)
152+
contributions welcome.
153+
154+
---
155+
117156
## The gate
118157

119158
### GitHub Action
@@ -412,11 +451,9 @@ work to it.
412451
9. **Suppression** — inline directives, the baseline and `--min-confidence` are
413452
applied, then results are deduplicated and sorted.
414453

415-
The **code graph** behind step 4 is a tree-sitter symbol index over 13
416-
languages — Rust, TypeScript, TSX, JavaScript, Python, Go, Java, C#, Ruby, PHP,
417-
C, C++ and Scala — kept in `.diffmind/graph.db` and updated incrementally by
418-
mtime. Build it with `diffmind index`. Adding a language is one entry in a
419-
table; contributions welcome.
454+
The **code graph** behind step 4 is the tree-sitter symbol index from
455+
[Language support](#language-support), kept in `.diffmind/graph.db` and updated
456+
incrementally by mtime. Build it with `diffmind index`.
420457

421458
---
422459

0 commit comments

Comments
 (0)