diff options
author | Blaž Hrastnik | 2021-04-09 08:42:49 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-04-09 09:57:46 +0000 |
commit | 4e31d1521bf9bb59f6485954d4ada16bf853c85a (patch) | |
tree | d8d05c9303701590dee6351eea693887dbab3981 /runtime/queries/javascript/tags.scm | |
parent | c1e5733b02e4ba39b82d7b330fab0b2ded2220f2 (diff) |
Add tree-sitter queries.
Diffstat (limited to 'runtime/queries/javascript/tags.scm')
-rw-r--r-- | runtime/queries/javascript/tags.scm | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/runtime/queries/javascript/tags.scm b/runtime/queries/javascript/tags.scm new file mode 100644 index 00000000..a7bbd311 --- /dev/null +++ b/runtime/queries/javascript/tags.scm @@ -0,0 +1,88 @@ +( + (comment)* @doc + . + (method_definition + name: (property_identifier) @name) @definition.method + (#not-eq? @name "constructor") + (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") + (#select-adjacent! @doc @definition.method) +) + +( + (comment)* @doc + . + [ + (class + name: (_) @name) + (class_declaration + name: (_) @name) + ] @definition.class + (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") + (#select-adjacent! @doc @definition.class) +) + +( + (comment)* @doc + . + [ + (function + name: (identifier) @name) + (function_declaration + name: (identifier) @name) + (generator_function + name: (identifier) @name) + (generator_function_declaration + name: (identifier) @name) + ] @definition.function + (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") + (#select-adjacent! @doc @definition.function) +) + +( + (comment)* @doc + . + (lexical_declaration + (variable_declarator + name: (identifier) @name + value: [(arrow_function) (function)]) @definition.function) + (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") + (#select-adjacent! @doc @definition.function) +) + +( + (comment)* @doc + . + (variable_declaration + (variable_declarator + name: (identifier) @name + value: [(arrow_function) (function)]) @definition.function) + (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") + (#select-adjacent! @doc @definition.function) +) + +(assignment_expression + left: [ + (identifier) @name + (member_expression + property: (property_identifier) @name) + ] + right: [(arrow_function) (function)] +) @definition.function + +(pair + key: (property_identifier) @name + value: [(arrow_function) (function)]) @definition.function + +( + (call_expression + function: (identifier) @name) @reference.call + (#not-match? @name "^(require)$") +) + +(call_expression + function: (member_expression + property: (property_identifier) @name) + arguments: (_) @reference.call) + +(new_expression + constructor: (_) @name) @reference.class |