mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
highlights(elm): improve highlights
This commit is contained in:
parent
b019eb3032
commit
4f3aa2af44
1 changed files with 146 additions and 44 deletions
|
|
@ -1,12 +1,18 @@
|
|||
[(line_comment) (block_comment)] @comment
|
||||
[
|
||||
(line_comment)
|
||||
(block_comment)
|
||||
] @comment
|
||||
|
||||
|
||||
; Keywords
|
||||
;---------
|
||||
|
||||
[
|
||||
"if"
|
||||
"then"
|
||||
"else"
|
||||
(case)
|
||||
(of)
|
||||
"if"
|
||||
"then"
|
||||
"else"
|
||||
(case)
|
||||
(of)
|
||||
] @conditional
|
||||
|
||||
[
|
||||
|
|
@ -14,18 +20,28 @@
|
|||
"in"
|
||||
(as)
|
||||
(port)
|
||||
(exposing)
|
||||
(alias)
|
||||
(infix)
|
||||
(module)
|
||||
(type)
|
||||
] @keyword
|
||||
|
||||
[
|
||||
(import)
|
||||
(exposing)
|
||||
] @include
|
||||
|
||||
|
||||
; Punctuation
|
||||
;------------
|
||||
|
||||
[
|
||||
(double_dot)
|
||||
"|"
|
||||
] @punctuation.special
|
||||
|
||||
[
|
||||
","
|
||||
"|"
|
||||
(dot)
|
||||
] @punctuation.delimiter
|
||||
|
||||
|
|
@ -34,65 +50,151 @@
|
|||
")"
|
||||
"{"
|
||||
"}"
|
||||
"["
|
||||
"]"
|
||||
] @punctuation.bracket
|
||||
|
||||
|
||||
; Variables
|
||||
;----------
|
||||
|
||||
(value_qid
|
||||
(lower_case_identifier) @variable)
|
||||
(value_declaration
|
||||
(function_declaration_left (lower_case_identifier) @variable))
|
||||
(type_annotation
|
||||
(lower_case_identifier) @function)
|
||||
(lower_case_identifier) @variable)
|
||||
(port_annotation
|
||||
(lower_case_identifier) @function)
|
||||
(lower_case_identifier) @variable)
|
||||
(anything_pattern
|
||||
(underscore) @variable)
|
||||
(record_base_identifier
|
||||
(lower_case_identifier) @variable)
|
||||
(lower_pattern
|
||||
(lower_case_identifier) @variable)
|
||||
(exposed_value
|
||||
(lower_case_identifier) @variable)
|
||||
|
||||
(value_qid
|
||||
((dot) (lower_case_identifier) @field))
|
||||
(field_access_expr
|
||||
((dot) (lower_case_identifier) @field))
|
||||
|
||||
(function_declaration_left
|
||||
(lower_case_identifier) @function)
|
||||
(anything_pattern (underscore) @parameter))
|
||||
(function_declaration_left
|
||||
(lower_pattern (lower_case_identifier) @parameter))
|
||||
|
||||
|
||||
; Functions
|
||||
;----------
|
||||
|
||||
(value_declaration
|
||||
functionDeclarationLeft:
|
||||
(function_declaration_left
|
||||
(lower_case_identifier) @function
|
||||
(pattern)))
|
||||
(value_declaration
|
||||
functionDeclarationLeft:
|
||||
(function_declaration_left
|
||||
(lower_case_identifier) @function
|
||||
pattern: (_)))
|
||||
(value_declaration
|
||||
functionDeclarationLeft:
|
||||
(function_declaration_left
|
||||
(lower_case_identifier) @function)
|
||||
body: (anonymous_function_expr))
|
||||
(type_annotation
|
||||
name: (lower_case_identifier) @function
|
||||
typeExpression: (type_expression (arrow)))
|
||||
(port_annotation
|
||||
name: (lower_case_identifier) @function
|
||||
typeExpression: (type_expression (arrow)))
|
||||
|
||||
(function_call_expr
|
||||
target: (value_expr) @function)
|
||||
target: (value_expr
|
||||
(value_qid (lower_case_identifier) @function.call)))
|
||||
|
||||
(value_qid (upper_case_identifier) @constructor)
|
||||
(value_qid ((dot) (lower_case_identifier) @field))
|
||||
(field_access_expr ((dot) (lower_case_identifier) @field))
|
||||
|
||||
(lower_pattern) @parameter
|
||||
(record_base_identifier) @method
|
||||
|
||||
[
|
||||
(backslash)
|
||||
(underscore)
|
||||
] @function
|
||||
; Operators
|
||||
;----------
|
||||
|
||||
[
|
||||
(operator_identifier)
|
||||
(eq)
|
||||
(colon)
|
||||
(arrow)
|
||||
(backslash)
|
||||
"::"
|
||||
] @operator
|
||||
|
||||
(import) @include
|
||||
|
||||
(number_constant_expr) @number
|
||||
|
||||
(type) @keyword
|
||||
; Modules
|
||||
;--------
|
||||
|
||||
(module_declaration
|
||||
(upper_case_qid (upper_case_identifier)) @constructor)
|
||||
(type_declaration
|
||||
(upper_case_identifier) @constructor)
|
||||
(type_ref) @type
|
||||
(type_alias_declaration
|
||||
name: (upper_case_identifier) @type.definition)
|
||||
(field_type name:
|
||||
(lower_case_identifier) @property)
|
||||
|
||||
(union_variant
|
||||
(upper_case_identifier) @symbol)
|
||||
(union_pattern) @symbol
|
||||
(upper_case_qid (upper_case_identifier) @namespace))
|
||||
(import_clause
|
||||
(upper_case_qid (upper_case_identifier) @namespace))
|
||||
(as_clause
|
||||
(upper_case_identifier) @namespace)
|
||||
(value_expr
|
||||
(upper_case_qid (upper_case_identifier)) @symbol)
|
||||
(value_qid (upper_case_identifier) @namespace))
|
||||
|
||||
; strings
|
||||
(string_escape) @string
|
||||
(open_quote) @string
|
||||
(close_quote) @string
|
||||
(regular_string_part) @string
|
||||
|
||||
; Types
|
||||
;------
|
||||
|
||||
(type_declaration
|
||||
(upper_case_identifier) @type)
|
||||
(type_ref
|
||||
(upper_case_qid (upper_case_identifier) @type))
|
||||
(type_variable
|
||||
(lower_case_identifier) @type)
|
||||
(lower_type_name
|
||||
(lower_case_identifier) @type)
|
||||
(exposed_type
|
||||
(upper_case_identifier) @type)
|
||||
|
||||
(type_alias_declaration
|
||||
(upper_case_identifier) @type.definition)
|
||||
|
||||
(field_type
|
||||
name: (lower_case_identifier) @property)
|
||||
(field
|
||||
name: (lower_case_identifier) @property)
|
||||
|
||||
(type_declaration
|
||||
(union_variant (upper_case_identifier) @constructor))
|
||||
(union_pattern
|
||||
(upper_case_qid (upper_case_identifier) @constructor))
|
||||
(value_expr
|
||||
(upper_case_qid (upper_case_identifier)) @constructor)
|
||||
|
||||
|
||||
; Literals
|
||||
;---------
|
||||
|
||||
(number_constant_expr
|
||||
(number_literal) @number)
|
||||
|
||||
(upper_case_qid
|
||||
((upper_case_identifier) @_bool (#match? @_bool "(True|False)")) @boolean)
|
||||
|
||||
[
|
||||
(open_quote)
|
||||
(close_quote)
|
||||
] @string
|
||||
(string_constant_expr
|
||||
(string_escape) @string)
|
||||
(string_constant_expr
|
||||
(regular_string_part) @string)
|
||||
|
||||
[
|
||||
(open_char)
|
||||
(close_char)
|
||||
] @character
|
||||
(char_constant_expr
|
||||
(string_escape) @character)
|
||||
(char_constant_expr
|
||||
(regular_string_part) @character)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue