Languages / OCaml · Edit queries/tags.scm

Tier 2 · Declarative tags.scm

OCaml

Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-ocaml/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-ocaml
Plugin
QueryLanguagePlugin (rgctl-lang-ocaml)
Extensions
.ml, .mli
Discover
rgctl discover . -l ocaml
Function Kinds
value_definition
Class / Container Kinds
class_definition

Capture summary

CapturePatternsGraph mapping
@definition.class1Emits SymbolType::Class (acts as enclosing container).
@definition.function2Emits SymbolType::Function (acts as caller scope & container).
@definition.method1Emits SymbolType::Method (acts as caller scope & container).
@definition.module1Emits SymbolType::Module (acts as enclosing container).
@name6Symbol identifier or target callee/type name.
@reference.call1Emits RelationType::Calls from innermost enclosing function to @name.

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

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

(module_definition
  (module_binding (module_name) @name)) @definition.module

(value_definition
  (let_binding
    pattern: (value_name) @name
    body: [(fun_expression) (function_expression)])) @definition.function

(value_definition
  (let_binding pattern: (value_name) @name (parameter))) @definition.function

(application_expression
  function: (value_path (value_name) @name)) @reference.call

(class_definition
  (class_binding (class_name) @name)) @definition.class

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

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