Languages / Scheme · Edit queries/tags.scm
Tier 2 · Declarative tags.scmScheme
Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-scheme/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-scheme
- Plugin
- QueryLanguagePlugin (rgctl-lang-scheme)
- Extensions
- .scm, .ss
- Discover
- rgctl discover . -l scheme
- Function Kinds
- list
- Class / Container Kinds
- —
Capture summary
| Capture | Patterns | Graph mapping |
|---|---|---|
| @_kw | 6 | Lexical scope capture. |
| @definition.function | 2 | Emits SymbolType::Function (acts as caller scope & container). |
| @definition.module | 1 | Emits SymbolType::Module (acts as enclosing container). |
| @name | 5 | Symbol identifier or target callee/type name. |
| @reference.call | 1 | Emits RelationType::Calls from innermost enclosing function to @name. |
Query source (crates/rgctl-lang-scheme/queries/tags.scm)
; Tier-2 Scheme tags for rgctl.
(list
. (symbol) @_kw (#any-of? @_kw "define" "define-syntax")
. (symbol) @name) @definition.function
(list
. (symbol) @_kw (#eq? @_kw "define")
. (list . (symbol) @name)) @definition.function
(list
. (symbol) @_kw (#eq? @_kw "define-library")
. (list . (symbol) @name)) @definition.module
(list
. (symbol) @name
(#not-any-of? @name "define" "define-syntax" "define-library" "library" "lambda" "let" "let*" "letrec" "if" "cond" "begin" "quote" "set!" "import" "export")) @reference.call
Related: Tier 2 language support · Tier 1 language support · Discovering and indexing