mirror of https://github.com/helix-editor/helix
104 lines
1.4 KiB
Scheme
104 lines
1.4 KiB
Scheme
; Comments
|
|
(comment) @comment
|
|
|
|
; Literals
|
|
[
|
|
(int_lit)
|
|
(uint_lit)
|
|
] @constant.numeric.integer
|
|
|
|
[
|
|
(bool_lit)
|
|
(none_lit)
|
|
] @constant.builtin
|
|
|
|
[
|
|
(ascii_string_lit)
|
|
(utf8_string_lit)
|
|
] @string
|
|
|
|
[
|
|
(buffer_lit)
|
|
(standard_principal_lit)
|
|
(contract_principal_lit)
|
|
] @string.special
|
|
|
|
; Types
|
|
[
|
|
(native_type)
|
|
(trait_type)
|
|
] @type
|
|
|
|
; Punctuation
|
|
[
|
|
"("
|
|
")"
|
|
"{"
|
|
"}"
|
|
"<"
|
|
">"
|
|
] @punctuation.bracket
|
|
|
|
[
|
|
","
|
|
] @punctuation.delimiter
|
|
|
|
; Keywords
|
|
(list_lit_token) @keyword
|
|
(some_lit ("some") @keyword)
|
|
(response_lit [
|
|
"ok"
|
|
"err"
|
|
] @keyword)
|
|
|
|
[
|
|
"+"
|
|
"-"
|
|
"*"
|
|
"/"
|
|
"mod"
|
|
"pow"
|
|
"<"
|
|
"<="
|
|
">"
|
|
">="
|
|
"and"
|
|
"or"
|
|
"xor"
|
|
] @keyword.operator
|
|
|
|
; Functions
|
|
(function_signature (identifier) @function)
|
|
(function_signature_for_trait (identifier) @function)
|
|
(contract_function_call operator: (identifier) @function)
|
|
|
|
(basic_native_form operator: (native_identifier) @function.builtin)
|
|
[
|
|
"let"
|
|
] @function.builtin
|
|
|
|
[
|
|
"impl-trait"
|
|
"use-trait"
|
|
"define-trait"
|
|
"define-read-only"
|
|
"define-private"
|
|
"define-public"
|
|
"define-data-var"
|
|
"define-fungible-token"
|
|
"define-non-fungible-token"
|
|
"define-constant"
|
|
"define-map"
|
|
] @function.special
|
|
|
|
; Variables and parameters
|
|
(function_parameter) @variable.parameter
|
|
(trait_usage trait_alias: (identifier) @type.parameter)
|
|
|
|
(tuple_lit key: (identifier) @variable)
|
|
(tuple_type key: (identifier) @variable)
|
|
(tuple_type_for_trait key: (identifier) @variable)
|
|
|
|
(global) @variable.builtin
|
|
|