Docs / languages · Edit on GitHub

Languages

rgctl indexes source through Tier 1 custom language plugins (LanguagePlugin + tree-sitter). Each guide below documents what a language extracts, how to discover it, and the GQL probes from the gql-verification-smoke scripts.

Metadata source of truth: languages.toml · Contributor bar: tier-1-language-support.md

Tier 1 languages

LanguageExtensionsSmoke script
C.c, .hverify-extraction-gql-c.sh
C++.cpp, .hpp, …verify-extraction-gql-cpp.sh
C#.csverify-extraction-gql-csharp.sh
Go.goverify-extraction-gql-go.sh
Java.javaverify-extraction-gql-java.sh
JavaScript.js, .jsx, .mjsverify-extraction-gql-javascript.sh
PHP.phpverify-extraction-gql-php.sh
Python.py, .pywverify-extraction-gql-python.sh
Ruby.rb, .rake, …verify-extraction-gql-ruby.sh
Rust.rsverify-extraction-gql-rust.sh
TypeScript.ts, .tsxverify-extraction-gql-typescript.sh

Tiers

TierHandlerIndexingCFG / PDG / taint
Tier 1Custom LanguagePluginRich symbols + CallsFull when --with-cfg / taint enabled
Tier 2Generic tree-sitterFrom LanguageConfigLimited
Tier 3RegexPattern symbolsNone

All guides in this section are Tier 1.

Discover depth

FlagsUse
(default)Fast graph + metrics
--with-cfgCFG/PDG for slice, inspect, cpg
--with-taintDiscover-time taint (with CFG)
--fullFull pipeline (used on large Java example corpora)
rgctl discover . -l python,go,rust,ruby
rgctl discover . -e node_modules,target,.git,vendor,tmp

Run all smoke tests

cargo build --release --bin rgctl
RGCTL_SKIP_EXAMPLE=1 ./rgctl-tests/gql-verification-smoke/run-all-extraction-gql.sh

Related