aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/gren
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/gren
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/gren')
-rw-r--r--runtime/queries/gren/highlights.scm121
-rw-r--r--runtime/queries/gren/injections.scm5
2 files changed, 126 insertions, 0 deletions
diff --git a/runtime/queries/gren/highlights.scm b/runtime/queries/gren/highlights.scm
new file mode 100644
index 000000000..030cf7fad
--- /dev/null
+++ b/runtime/queries/gren/highlights.scm
@@ -0,0 +1,121 @@
+; Keywords
+[
+ (as)
+ (port)
+ (exposing)
+ (alias)
+ (infix)
+] @keyword
+
+; Keywords - Conditionals
+[
+ "if"
+ "then"
+ "else"
+ "let"
+ "in"
+ (when)
+ (is)
+] @keyword.conditional
+
+; Keywords - Imports
+[
+ (import)
+ (module)
+] @keyword.import
+
+; Operators
+[
+ (arrow)
+ (backslash)
+ (colon)
+ (operator_identifier)
+ (eq)
+] @operator
+
+; Punctuation
+[
+ "("
+ ")"
+ "{"
+ "}"
+ "["
+ "]"
+] @punctuation.bracket
+
+[
+ ","
+ "|"
+ (dot)
+] @punctuation.delimiter
+
+; Comments
+[
+ (block_comment)
+ (line_comment)
+] @comment
+
+; Strings
+[
+ (close_quote)
+ (open_quote)
+ (regular_string_part)
+] @string
+
+; Strings - Escape
+(string_escape) @string.escape
+
+; Characters
+[
+ (open_char)
+ (close_char)
+] @character
+
+(type_annotation
+ (lower_case_identifier) @function)
+
+(port_annotation
+ (lower_case_identifier) @function)
+
+(function_declaration_left
+ (lower_case_identifier) @function)
+
+(function_call_expr
+ target: (value_expr) @function)
+
+(field_access_expr
+ (value_expr
+ (value_qid) @variable.member))
+
+(lower_pattern) @variable.parameter
+
+(record_base_identifier) @variable
+
+(number_constant_expr) @number
+
+(type) @keyword.type
+
+(type_declaration
+ (upper_case_identifier) @type)
+
+(type_ref) @type
+
+(type_alias_declaration
+ name: (upper_case_identifier) @type)
+
+(union_variant
+ (upper_case_identifier) @type)
+
+(union_pattern
+ constructor: (upper_case_qid
+ (upper_case_identifier) @label
+ (dot)
+ (upper_case_identifier) @type))
+
+(union_pattern
+ constructor: (upper_case_qid
+ (upper_case_identifier) @type))
+
+(value_expr
+ (upper_case_qid
+ (upper_case_identifier)) @type)
diff --git a/runtime/queries/gren/injections.scm b/runtime/queries/gren/injections.scm
new file mode 100644
index 000000000..3cd6aac8e
--- /dev/null
+++ b/runtime/queries/gren/injections.scm
@@ -0,0 +1,5 @@
+([
+ (line_comment)
+ (block_comment)
+] @injection.content
+ (#set! injection.language "comment"))