@@ -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.
4124519. **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