Constant tree_sitter_ocaml::TAGGING_QUERY
source · pub const TAGGING_QUERY: &'static str = "; Modules\n;--------\n\n(\n (comment)? @doc .\n (module_definition (module_binding (module_name) @name) @definition.module)\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n(module_path (module_name) @name) @reference.module\n\n; Module types\n;--------------\n\n(\n (comment)? @doc .\n (module_type_definition (module_type_name) @name) @definition.interface\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n(module_type_path (module_type_name) @name) @reference.implementation\n\n; Functions\n;----------\n\n(\n (comment)? @doc .\n (value_definition\n [\n (let_binding\n pattern: (value_name) @name\n (parameter))\n (let_binding\n pattern: (value_name) @name\n body: [(fun_expression) (function_expression)])\n ] @definition.function\n )\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n(\n (comment)? @doc .\n (external (value_name) @name) @definition.function\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n(application_expression\n function: (value_path (value_name) @name)) @reference.call\n\n(infix_expression\n left: (value_path (value_name) @name)\n operator: (concat_operator) @reference.call\n (#eq? @reference.call \"@@\"))\n\n(infix_expression\n operator: (rel_operator) @reference.call\n right: (value_path (value_name) @name)\n (#eq? @reference.call \"|>\"))\n\n; Operator\n;---------\n\n(\n (comment)? @doc .\n (value_definition\n (let_binding\n pattern: (parenthesized_operator (_) @name)) @definition.function)\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n[\n (prefix_operator)\n (sign_operator)\n (pow_operator)\n (mult_operator)\n (add_operator)\n (concat_operator)\n (rel_operator)\n (and_operator)\n (or_operator)\n (assign_operator)\n (hash_operator)\n (indexing_operator)\n (let_operator)\n (let_and_operator)\n (match_operator)\n] @name @reference.call\n\n; Classes\n;--------\n\n(\n (comment)? @doc .\n [\n (class_definition (class_binding (class_name) @name) @definition.class)\n (class_type_definition (class_type_binding (class_type_name) @name) @definition.class)\n ]\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n[\n (class_path (class_name) @name)\n (class_type_path (class_type_name) @name)\n] @reference.class\n\n; Methods\n;--------\n\n(\n (comment)? @doc .\n (method_definition (method_name) @name) @definition.method\n (#strip! @doc \"^\\\\(\\\\*\\\\*?\\\\s*|\\\\s\\\\*\\\\)$\")\n)\n\n(method_invocation (method_name) @name) @reference.call\n";
Expand description
The symbol tagging query for OCaml.