Languages / Clojure · Edit queries/tags.scm
Tier 2 · Declarative tags.scmClojure
Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-clojure/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-clojure
- Plugin
- QueryLanguagePlugin (rgctl-lang-clojure)
- Extensions
- .clj, .cljs, .cljc
- Discover
- rgctl discover . -l clojure
- Function Kinds
- list_lit
- Class / Container Kinds
- —
Capture summary
| Capture | Patterns | Graph mapping |
|---|---|---|
| @_def | 2 | Lexical scope capture. |
| @_ns | 2 | Lexical scope capture. |
| @definition.function | 1 | Emits SymbolType::Function (acts as caller scope & container). |
| @definition.module | 1 | Emits SymbolType::Module (acts as enclosing container). |
| @name | 4 | Symbol identifier or target callee/type name. |
| @reference.call | 1 | Emits RelationType::Calls from innermost enclosing function to @name. |
Query source (crates/rgctl-lang-clojure/queries/tags.scm)
; Tier-2 Clojure tags for rgctl (`handler = "queries"`).
(list_lit
. (sym_lit) @_def (#any-of? @_def "defn" "defn-" "defmacro")
. (sym_lit) @name) @definition.function
(list_lit
. (sym_lit) @_ns (#eq? @_ns "ns")
. (sym_lit) @name) @definition.module
(list_lit
. (sym_lit) @name
(#not-any-of? @name "ns" "def" "defn" "defn-" "defmacro" "defprotocol" "defrecord" "deftype" "let" "if" "when" "cond" "do" "fn" "quote" "require" "import" "use")) @reference.call
Related: Tier 2 language support · Tier 1 language support · Discovering and indexing