Supported Languages
symtrace v0.5.0 provides first-class AST parsing and structural analysis for 13 programming languages and data formats.
Language Support Matrix
Section titled “Language Support Matrix”| Language | Extensions | Key Entity Identifiers Analyzed |
|---|---|---|
| Rust | .rs (Rust 2021 & 2024 Edition) | function_item, struct_item, enum_item, impl_item, trait_item, macro_definition |
| JavaScript | .js, .jsx, .mjs, .cjs | function_declaration, class_declaration, method_definition, arrow_function |
| TypeScript / TSX | .ts, .tsx | function_declaration, class_declaration, interface_declaration, type_alias, jsx_element |
| Python | .py, .pyi | function_definition, class_definition, async_function_definition |
| Java | .java | method_declaration, class_declaration, interface_declaration, constructor_declaration |
| C | .c, .h | function_definition, struct_specifier, enum_specifier, type_definition |
| C++ | .cpp, .hpp, .cc, .cxx, .h++ | function_definition, class_specifier, namespace_definition, template_declaration |
| Go | .go | function_declaration, method_declaration, type_declaration, type_spec |
| C# | .cs | method_declaration, class_declaration, interface_declaration, property_declaration |
| Ruby | .rb | method, class, module |
| PHP | .php | method_declaration, class_declaration, function_definition |
| JSON | .json, .jsonc | pair, object, array |
Custom Query DSL Rules (.scm)
Section titled “Custom Query DSL Rules (.scm)”In addition to built-in entity node types, you can define custom AST query targets using standard Tree-Sitter .scm rules placed in .symtrace/queries/. See Custom Query DSL Guide →.
Mixed-Language Repositories
Section titled “Mixed-Language Repositories”Files with unsupported file extensions are skipped gracefully: zero errors, zero clutter. You can safely run symtrace against any repository regardless of content.
Language Detection Logic
Section titled “Language Detection Logic”Language mapping is determined strictly by file extension. There is no runtime shebang parsing or content sniffing, guaranteeing fast and deterministic detection.