Languages / Verilog / SystemVerilog · Edit queries/tags.scm
Tier 2 · Declarative tags.scmVerilog / SystemVerilog
Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-verilog/queries/tags.scm. Compiles once at startup, validates captures against the Tier-2 vocabulary gate, and extracts symbols, container hierarchy (Container::member), imports, and call edges.
- Grammar Crate
- tree-sitter-verilog
- Plugin
- QueryLanguagePlugin (rgctl-lang-verilog)
- Extensions
- .v, .sv, .svh
- Discover
- rgctl discover . -l verilog
- Function Kinds
- function_declaration, task_declaration
- Class / Container Kinds
- class_declaration, module_declaration
Capture summary
| Capture | Patterns | Graph mapping |
|---|---|---|
| @definition.class | 1 | Emits SymbolType::Class (acts as enclosing container). |
| @definition.function | 2 | Emits SymbolType::Function (acts as caller scope & container). |
| @definition.module | 1 | Emits SymbolType::Module (acts as enclosing container). |
| @name | 6 | Symbol identifier or target callee/type name. |
| @reference.call | 1 | Emits RelationType::Calls from innermost enclosing function to @name. |
| @reference.class | 1 | Emits RelationType::References to @name. |
Query source (crates/rgctl-lang-verilog/queries/tags.scm)
; Tier-2 Verilog/SystemVerilog tags for rgctl (`handler = "queries"`).
(module_declaration
(module_header (simple_identifier) @name)) @definition.module
(function_declaration
(function_body_declaration
(function_identifier (simple_identifier) @name))) @definition.function
(task_declaration
(task_body_declaration
(task_identifier (simple_identifier) @name))) @definition.function
(class_declaration
(class_identifier (simple_identifier) @name)) @definition.class
(tf_call
(simple_identifier) @name) @reference.call
(module_instantiation
.
(simple_identifier) @name) @reference.class
Related: Tier 2 language support · Tier 1 language support · Discovering and indexing