summaryrefslogtreecommitdiff
path: root/queries
diff options
context:
space:
mode:
authorSal Bakraa <SalBakraa@gmail.com>2022-01-06 02:19:44 +0300
committerStephan Seitz <stephan.seitz@fau.de>2022-01-08 20:01:00 +0100
commit886ae5b87eb4ab3a153c6e9feb3c05e91ee47619 (patch)
tree1d79e86e07388fad7d79ff8d50526aafbea15759 /queries
parent5cfc96effe8427870adf561f564a9170778b6e4d (diff)
fix(kotlin): include regex in injections query
Diffstat (limited to 'queries')
-rw-r--r--queries/kotlin/injections.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/queries/kotlin/injections.scm b/queries/kotlin/injections.scm
index 4bb7d675..371345cf 100644
--- a/queries/kotlin/injections.scm
+++ b/queries/kotlin/injections.scm
@@ -1 +1,32 @@
(comment) @comment
+
+; There are 3 ways to define a regex
+; - "[abc]?".toRegex()
+(call_expression
+ (navigation_expression
+ ([(line_string_literal) (multi_line_string_literal)] @regex)
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "toRegex")))))
+
+; - Regex("[abc]?")
+(call_expression
+ ((simple_identifier) @_function
+ (#eq? @_function "Regex"))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ [ (line_string_literal) (multi_line_string_literal) ] @regex))))
+
+; - Regex.fromLiteral("[abc]?")
+(call_expression
+ (navigation_expression
+ ((simple_identifier) @_class
+ (#eq? @_class "Regex"))
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "fromLiteral"))))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ [ (line_string_literal) (multi_line_string_literal) ] @regex))))