Languages / Emacs Lisp · Edit queries/tags.scm

Tier 2 · Declarative tags.scm

Emacs Lisp

Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-elisp/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-elisp
Plugin
QueryLanguagePlugin (rgctl-lang-elisp)
Extensions
.el
Discover
rgctl discover . -l elisp
Function Kinds
function_definition
Class / Container Kinds
—

Capture summary

CapturePatternsGraph mapping
@_req2Lexical scope capture.
@definition.function1Emits SymbolType::Function (acts as caller scope & container).
@definition.macro1Emits SymbolType::Macro.
@import.path1Emits SymbolType::Import with normalized import_path metadata.
@name4Symbol identifier or target callee/type name.
@reference.call1Emits RelationType::Calls from innermost enclosing function to @name.

Query source (crates/rgctl-lang-elisp/queries/tags.scm)

; Tier-2 Emacs Lisp tags for rgctl.

(function_definition
  name: (symbol) @name) @definition.function

(macro_definition
  name: (symbol) @name) @definition.macro

(list
  . (symbol) @_req (#eq? @_req "require")
  . (quote (symbol) @import.path))

(list
  . (symbol) @name
  (#not-any-of? @name "let" "let*" "if" "when" "unless" "cond" "progn" "setq" "defun" "defmacro" "defvar" "defcustom" "lambda" "quote" "require" "provide")) @reference.call

Related: Tier 2 language support · Tier 1 language support · Discovering and indexing