mirror of
https://github.com/ribru17/ts_query_ls.git
synced 2025-12-23 05:36:52 +00:00
989 B
989 B
Quantification Operators
You can match a repeating sequence of sibling nodes using the postfix + and
* repetition operators, which work analogously to the + and * operators
in regular expressions. The + operator matches one or more
repetitions of a pattern, and the * operator matches zero or more.
For example, this pattern would match a sequence of one or more comments:
(comment)+
This pattern would match a class declaration, capturing all of the decorators if any were present:
(class_declaration
(decorator)* @the-decorator
name: (identifier) @the-name)
You can also mark a node as optional using the ? operator. For example, this
pattern would match all function calls, capturing a string argument if one was
present:
(call_expression
function: (identifier) @the-function
arguments: (arguments (string)? @the-string-arg))