Language support
Languages
Generated at build time from each plugin's *-ast-coverage.json (single source of truth) plus extensions from languages.toml. Handlers describe how named tree-sitter kinds map into the graph.
Contributor bar: Tier 1 language support. Manifests live under crates/rgctl-lang-*.
| Language | Extensions | Grammar | Kinds | Handled | Skip |
|---|---|---|---|---|---|
| C | .c, .h | tree-sitter-c@0.24.2 | 125 | 33 | 92 |
| C# | .cs | tree-sitter-c-sharp@0.23.5 | 215 | 49 | 166 |
| C++ | .cpp, .cc, .cxx, .hpp, .hh, .hxx | tree-sitter-cpp@0.23.4 | 206 | 42 | 164 |
| erb | .erb | tree-sitter-embedded-template@0.25.0 | 8 | 4 | 4 |
| Go | .go | tree-sitter-go@0.25.0 | 107 | 35 | 72 |
| Groovy | .groovy, .gradle | tree-sitter-groovy@0.1.2 | 150 | 70 | 80 |
| Java | .java | tree-sitter-java@0.23.5 | 142 | 45 | 97 |
| JavaScript | .js, .jsx, .mjs | tree-sitter-javascript@0.25.0 | 114 | 40 | 74 |
| Kotlin | .kt, .kts | tree-sitter-kotlin-ng@1.1.0 | 114 | 42 | 72 |
| Markdown | — | tree-sitter-md@0.5.3 | 51 | 6 | 45 |
| PHP | .php | tree-sitter-php@0.24.2 | 157 | 44 | 113 |
| Puppet | .pp | tree-sitter-puppet@1.3.0 | 58 | 44 | 14 |
| Python | .py, .pyw | tree-sitter-python@0.25.0 | 123 | 37 | 86 |
| Ruby | .rb | tree-sitter-ruby@0.23.1 | 134 | 86 | 48 |
| Rust | .rs | tree-sitter-rust@0.24.2 | 163 | 38 | 125 |
| TypeScript | .ts, .tsx | tree-sitter-typescript@0.23.2 | 177 | 47 | 130 |
Handler legend
- SymbolEmits graph symbols / nodes (functions, types, …).
- RelationEmits typed edges (calls, imports, heritage, …).
- CfgStatementFeeds CFG / control-flow construction.
- AstSkeletonKept for analysis skeleton / field-write paths.
- LiteralLeaf / literal tokens walked but not promoted to symbols.
- SkipNamed grammar kind intentionally not mapped.