mirror of https://github.com/helix-editor/helix
Add Move language support
parent
1d23796ad1
commit
f06a166962
@ -0,0 +1,157 @@
|
||||
(ability) @keyword
|
||||
|
||||
; ---
|
||||
; Primitives
|
||||
; ---
|
||||
|
||||
(address_literal) @constant
|
||||
(bool_literal) @constant.builtin.boolean
|
||||
(num_literal) @constant.numeric
|
||||
[
|
||||
(hex_string_literal)
|
||||
(byte_string_literal)
|
||||
] @string
|
||||
; TODO: vector_literal
|
||||
|
||||
[
|
||||
(line_comment)
|
||||
(block_comment)
|
||||
] @comment
|
||||
|
||||
(annotation) @function.macro
|
||||
|
||||
(borrow_expression "&" @keyword.storage.modifier.ref)
|
||||
(borrow_expression "&mut" @keyword.storage.modifier.mut)
|
||||
|
||||
(constant_identifier) @constant
|
||||
((identifier) @constant
|
||||
(#match? @constant "^[A-Z][A-Z\\d_]*$"))
|
||||
|
||||
(function_identifier) @function
|
||||
|
||||
(struct_identifier) @type
|
||||
(pack_expression
|
||||
access: (module_access
|
||||
member: (identifier) @type))
|
||||
(apply_type
|
||||
(module_access
|
||||
member: (identifier) @type))
|
||||
(field_identifier) @variable.other.member
|
||||
|
||||
; -------
|
||||
; Functions
|
||||
; -------
|
||||
|
||||
(call_expression
|
||||
access: (module_access
|
||||
member: (identifier) @function))
|
||||
|
||||
(macro_call_expression
|
||||
access: (macro_module_access
|
||||
access: (module_access
|
||||
member: [(identifier) @function.macro])
|
||||
"!" @function.macro))
|
||||
|
||||
; -------
|
||||
; Paths
|
||||
; -------
|
||||
|
||||
(module_identifier) @namespace
|
||||
|
||||
; -------
|
||||
; Operators
|
||||
; -------
|
||||
|
||||
[
|
||||
"*"
|
||||
"="
|
||||
"!"
|
||||
] @operator
|
||||
(binary_operator) @operator
|
||||
|
||||
; ---
|
||||
; Punctuation
|
||||
; ---
|
||||
|
||||
[
|
||||
"::"
|
||||
"."
|
||||
";"
|
||||
","
|
||||
] @punctuation.delimiter
|
||||
|
||||
[
|
||||
"("
|
||||
")"
|
||||
"["
|
||||
"]"
|
||||
"{"
|
||||
"}"
|
||||
] @punctuation.bracket
|
||||
|
||||
[
|
||||
"abort"
|
||||
; "acquires"
|
||||
"as"
|
||||
"break"
|
||||
"const"
|
||||
"continue"
|
||||
"copy"
|
||||
"else"
|
||||
"false"
|
||||
"friend"
|
||||
"fun"
|
||||
"has"
|
||||
"if"
|
||||
; "invariant"
|
||||
"let"
|
||||
"loop"
|
||||
"module"
|
||||
"move"
|
||||
"native"
|
||||
"public"
|
||||
"return"
|
||||
; "script"
|
||||
"spec"
|
||||
"struct"
|
||||
"true"
|
||||
"use"
|
||||
"while"
|
||||
|
||||
"entry"
|
||||
|
||||
; "aborts_if"
|
||||
; "aborts_with"
|
||||
"address"
|
||||
"apply"
|
||||
"assume"
|
||||
; "axiom"
|
||||
; "choose"
|
||||
"decreases"
|
||||
; "emits"
|
||||
"ensures"
|
||||
"except"
|
||||
; "forall"
|
||||
"global"
|
||||
"include"
|
||||
"internal"
|
||||
"local"
|
||||
; "min"
|
||||
; "modifies"
|
||||
"mut"
|
||||
"phantom"
|
||||
"post"
|
||||
"pragma"
|
||||
; "requires"
|
||||
; "Self"
|
||||
"schema"
|
||||
"succeeds_if"
|
||||
"to"
|
||||
; "update"
|
||||
"where"
|
||||
"with"
|
||||
] @keyword
|
||||
|
||||
(primitive_type) @type.buildin
|
||||
|
||||
(identifier) @variable
|
Loading…
Reference in New Issue