Skip to main content
Version: 1.0.12

Language support

Astria registers 42 language configurations. Discovery and parser selection share the registry in crates/astria-core/src/languages.rs.

The table lists configured tree-sitter node kinds, not a promise of complete language semantics or successful resolution of every construct. None means no node kind is configured for that category. Classes include language-specific containers such as HCL blocks; parser reuse and shared AST walker rules may limit extraction. Imports and calls are syntax candidates, not guarantees of resolved dependency edges. Closure kinds indicate configured anonymous-function extraction.

LanguageDiscovered extensionsClass/container kindsFunction kindsImport kindsCall kindClosure kinds
Python.pyclass_definitionfunction_definitionimport_statement, import_from_statementcallNone
JavaScript.js, .jsx, .mjsclass_declarationfunction_declaration, generator_function_declaration, method_definition, function_expression, generator_function, arrow_functionimport_statement, import_declarationcall_expressionNone
TypeScript.ts, .tsxclass_declarationfunction_declaration, generator_function_declaration, method_definition, function_expression, generator_function, arrow_functionimport_statement, import_declarationcall_expressionNone
Rust.rsstruct_item, enum_item, trait_item, impl_itemfunction_item, function_signature_itemuse_declarationcall_expressionNone
Go.gotype_declarationfunction_declaration, method_declarationimport_declarationcall_expressionNone
Java.javaclass_declaration, interface_declaration, enum_declarationmethod_declaration, constructor_declarationimport_declarationmethod_invocationNone
C.c, .hstruct_specifier, enum_specifierfunction_definitionpreproc_includecall_expressionNone
C++.cpp, .cc, .cxx, .hppclass_specifier, struct_specifier, enum_specifierfunction_definitionpreproc_includecall_expressionNone
Ruby.rb, .rakeclass, module, singleton_classmethod, singleton_methodcallcallNone
Swift.swiftclass_declaration, struct_declaration, enum_declaration, protocol_declarationfunction_declarationimport_declarationcall_expressionNone
Kotlin.kt, .ktsclass_declaration, object_declaration, interface_declaration, enum_declarationfunction_declarationimport_headercall_expressionNone
Scala.scalaclass_definition, object_definition, trait_definition, enum_definitionfunction_definition, function_declarationimport_declarationcall_expressionNone
PHP.phpclass_declaration, interface_declaration, trait_declaration, enum_declarationfunction_definition, method_declaration, declaration_listnamespace_use_declaration, namespace_definitionfunction_call_expressionanonymous_function, arrow_function
C#.csclass_declaration, struct_declaration, interface_declaration, enum_declarationmethod_declaration, constructor_declaration, local_function_statementusing_directiveinvocation_expressionNone
Lua.luaNonefunction_declaration, function_definitionNonefunction_callNone
Haskell.hsclass, data_type, newtype, type_aliasdecl, signatureimportapplyNone
Elixir.ex, .exscallcallcallcallNone
Shell.sh, .bashNonefunction_definitionNonecommandNone
Dart.dartclass_definition, mixin_declaration, extension_declaration, enum_declarationfunction_expression, method_declarationimport_specificationcall_expressionNone
Zig.zigstruct_declaration, enum_declaration, union_declaration, opaque_declarationfunction_declaration, test_declarationusing_namespace_declarationcall_expressionNone
Terraform/HCL.tf, .tfvars, .hclblockNoneNonefunction_callNone
PowerShell.ps1, .psm1, .psd1class_statementfunction_statement, filter_statementusing_statementcommandNone
Verilog/SystemVerilog.v, .sv, .svh, .vhmodule_declaration, interface_declaration, program_declaration, class_declarationfunction_body_declaration, task_body_declarationimport_declarationsubroutine_callNone
Metal.metalstruct_specifier, class_specifierfunction_definitionpreproc_includecall_expressionNone
CSS.css, .scssrule_setNoneimport_statementcall_expressionNone
Astro.astroNoneNoneNoneNoneNone
Common Lisp.lisp, .cl, .lsp, .asdNonedefun_headerNonelist_litNone
DreamMaker.dmtype_definitionproc_definition, proc_overridepreproc_includecall_expressionNone
Fortran.f90, .f95, .f03, .f08, .f, .forderived_type_definitionfunction_statement, subroutine_statementimport_statementcall_expressionNone
Groovy.groovy, .gradleclass_declaration, interface_declaration, enum_declarationmethod_declaration, function_definition, constructor_declarationimport_declarationmethod_invocationclosure
Julia.jlmodule_definition, struct_definitionfunction_definition, macro_definitionimport_statement, using_statementcall_expressionarrow_function_expression
Luau.luauNonefunction_declaration, function_definitionNonefunction_callNone
Objective-C.m, .mmclass_implementation, class_interfacemethod_definition, function_definitionpreproc_include, module_importcall_expressionNone
OCaml.mlmodule_definition, class_definition, exception_definitionlet_bindingopen_module, include_moduleapplication_expressionNone
OCaml Interface.mlimodule_definitionvalue_specificationopen_moduleapplication_expressionNone
R.rNonefunction_definitionNonecallNone
Solidity.solcontract_declaration, interface_declaration, library_declaration, struct_declaration, enum_declarationfunction_definition, modifier_definition, constructor_definitionimport_directive, using_directivecall_expressionNone
SQL.sqlcreate_table, create_view, create_materialized_view, create_schema, create_databasecreate_function, create_trigger, create_queryNoneinvocationNone
VB.NET.vbNoneNoneNoneNoneNone
Pascal/Delphi.pas, .dpr, .dpk, .incNoneNoneNoneNoneNone
Vue.vueNoneNoneNoneNoneNone
Svelte.svelteNoneNoneNoneNoneNone

Adding a language​

  1. Add the grammar dependency and a parser config module in crates/astria-extract/src/langs/.
  2. Export the module from langs/mod.rs and add one registration in crates/astria-core/src/languages.rs. Reference that registration for the config's name and extensions.
  3. Map only AST kinds handled by the shared extraction walker.
  4. Run node scripts/generate-language-support.mjs to regenerate this table. The docs-sync guard rejects stale generated content.