Languages / Objective-C · Edit queries/tags.scm

Tier 2 · Declarative tags.scm

Objective-C

Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-objc/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-objc
Plugin
QueryLanguagePlugin (rgctl-lang-objc)
Extensions
.m, .mm
Discover
rgctl discover . -l objc
Function Kinds
function_definition, method_definition
Class / Container Kinds
class_interface, class_implementation

Capture summary

CapturePatternsGraph mapping
@definition.class2Emits SymbolType::Class (acts as enclosing container).
@definition.function1Emits SymbolType::Function (acts as caller scope & container).
@definition.method2Emits SymbolType::Method (acts as caller scope & container).
@name7Symbol identifier or target callee/type name.
@reference.call2Emits RelationType::Calls from innermost enclosing function to @name.

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

; Tier-2 Objective-C tags for rgctl (`handler = "queries"`).

(function_definition
  declarator: (function_declarator
    declarator: (identifier) @name)) @definition.function

(method_definition
  (identifier) @name) @definition.method

(method_definition
  (keyword_declarator
    .
    (identifier) @name)) @definition.method

(class_interface
  .
  (identifier) @name) @definition.class

(class_implementation
  .
  (identifier) @name) @definition.class

(call_expression
  function: (identifier) @name) @reference.call

(message_expression
  method: (identifier) @name) @reference.call

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