aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/kotlin/injections.scm
diff options
context:
space:
mode:
authorMichael Daffin2022-02-23 14:25:44 +0000
committerGitHub2022-02-23 14:25:44 +0000
commitf83843ceba65f7719d8b208eda0ebf15fae77603 (patch)
tree3048637d7fcc28e48eb564f9f4058d58e109925c /runtime/queries/kotlin/injections.scm
parent40eb1268c72b60f1249389c58892e7c45d268cff (diff)
Add kotlin language (#1689)
* Add kotlin language Queries taken from https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/kotlin seem to work well enough for my needs though I don't use kotlin heavily. * Update lang-support doc * Updates the kotlin highlight query to use helixs scopes * Updates the queries from PR feedback * Adds 'shallow = true' to gitmodules * Removes kotlin locals.scm * Remove blank line Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
Diffstat (limited to 'runtime/queries/kotlin/injections.scm')
-rw-r--r--runtime/queries/kotlin/injections.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/runtime/queries/kotlin/injections.scm b/runtime/queries/kotlin/injections.scm
new file mode 100644
index 00000000..abdc2050
--- /dev/null
+++ b/runtime/queries/kotlin/injections.scm
@@ -0,0 +1,36 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
+
+; There are 3 ways to define a regex
+; - "[abc]?".toRegex()
+((call_expression
+ (navigation_expression
+ ([(line_string_literal) (multi_line_string_literal)] @injection.content)
+ (navigation_suffix
+ ((simple_identifier) @_function
+ (#eq? @_function "toRegex")))))
+ (#set! injection.language "regex"))
+
+; - Regex("[abc]?")
+((call_expression
+ ((simple_identifier) @_function
+ (#eq? @_function "Regex"))
+ (call_suffix
+ (value_arguments
+ (value_argument
+ [ (line_string_literal) (multi_line_string_literal) ] @injection.content))))
+ (#set! injection.language "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) ] @injection.content))))
+ (#set! injection.language "regex"))