1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-09 15:00:04 +08:00
SpaceVim/bundle/nvim-treesitter-0.9.1/queries/v/highlights.scm

468 lines
6.3 KiB
Scheme

; Includes
[
"import"
"module"
] @include
; Keywords
[
"asm"
"assert"
"const"
"defer"
"enum"
"goto"
"interface"
"struct"
"sql"
"type"
"union"
"unsafe"
] @keyword
[
"as"
"in"
"!in"
"or"
"is"
"!is"
] @keyword.operator
[
"match"
"if"
"$if"
"else"
"$else"
"select"
] @conditional
[
"for"
"$for"
"continue"
"break"
] @repeat
"fn" @keyword.function
"return" @keyword.return
[
"__global"
"shared"
"static"
"const"
] @storageclass
[
"pub"
"mut"
] @type.qualifier
[
"go"
"spawn"
"lock"
"rlock"
] @keyword.coroutine
; Variables
(identifier) @variable
; Namespace
(module_clause
(identifier) @namespace)
(import_path
(import_name) @namespace)
(import_alias
(import_name) @namespace)
; Literals
[ (true) (false) ] @boolean
(interpreted_string_literal) @string
(string_interpolation) @none
; Types
(struct_declaration
name: (identifier) @type)
(enum_declaration
name: (identifier) @type)
(interface_declaration
name: (identifier) @type)
(type_declaration
name: (identifier) @type)
(type_reference_expression (identifier) @type)
; Labels
(label_reference) @label
; Fields
(selector_expression field: (reference_expression (identifier) @field))
(field_name) @field
(struct_field_declaration
name: (identifier) @field)
; Parameters
(parameter_declaration
name: (identifier) @parameter)
(receiver
name: (identifier) @parameter)
; Constants
((identifier) @constant
(#has-ancestor? @constant compile_time_if_expression))
(enum_fetch
(reference_expression) @constant)
(enum_field_definition
(identifier) @constant)
(const_definition
name: (identifier) @constant)
((identifier) @variable.builtin
(#any-of? @variable.builtin "err" "macos" "linux" "windows"))
; Attributes
(attribute) @attribute
; Functions
(function_declaration
name: (identifier) @function)
(function_declaration
receiver: (receiver)
name: (identifier) @method)
(call_expression
name: (selector_expression
field: (reference_expression) @method.call))
(call_expression
name: (reference_expression) @function.call)
((identifier) @function.builtin
(#any-of? @function.builtin
"eprint"
"eprintln"
"error"
"exit"
"panic"
"print"
"println"
"after"
"after_char"
"all"
"all_after"
"all_after_last"
"all_before"
"all_before_last"
"any"
"ascii_str"
"before"
"bool"
"byte"
"byterune"
"bytes"
"bytestr"
"c_error_number_str"
"capitalize"
"clear"
"clone"
"clone_to_depth"
"close"
"code"
"compare"
"compare_strings"
"contains"
"contains_any"
"contains_any_substr"
"copy"
"count"
"cstring_to_vstring"
"delete"
"delete_last"
"delete_many"
"ends_with"
"eprint"
"eprintln"
"eq_epsilon"
"error"
"error_with_code"
"exit"
"f32"
"f32_abs"
"f32_max"
"f32_min"
"f64"
"f64_max"
"fields"
"filter"
"find_between"
"first"
"flush_stderr"
"flush_stdout"
"free"
"gc_check_leaks"
"get_str_intp_u32_format"
"get_str_intp_u64_format"
"grow_cap"
"grow_len"
"hash"
"hex"
"hex2"
"hex_full"
"i16"
"i64"
"i8"
"index"
"index_after"
"index_any"
"index_byte"
"insert"
"int"
"is_alnum"
"is_bin_digit"
"is_capital"
"is_digit"
"is_hex_digit"
"is_letter"
"is_lower"
"is_oct_digit"
"is_space"
"is_title"
"is_upper"
"isnil"
"join"
"join_lines"
"keys"
"last"
"last_index"
"last_index_byte"
"length_in_bytes"
"limit"
"malloc"
"malloc_noscan"
"map"
"match_glob"
"memdup"
"memdup_noscan"
"move"
"msg"
"panic"
"panic_error_number"
"panic_lasterr"
"panic_optional_not_set"
"parse_int"
"parse_uint"
"pointers"
"pop"
"prepend"
"print"
"print_backtrace"
"println"
"proc_pidpath"
"ptr_str"
"push_many"
"realloc_data"
"reduce"
"repeat"
"repeat_to_depth"
"replace"
"replace_each"
"replace_once"
"reverse"
"reverse_in_place"
"runes"
"sort"
"sort_by_len"
"sort_ignore_case"
"sort_with_compare"
"split"
"split_any"
"split_into_lines"
"split_nth"
"starts_with"
"starts_with_capital"
"str"
"str_escaped"
"str_intp"
"str_intp_g32"
"str_intp_g64"
"str_intp_rune"
"str_intp_sq"
"str_intp_sub"
"strg"
"string_from_wide"
"string_from_wide2"
"strip_margin"
"strip_margin_custom"
"strlong"
"strsci"
"substr"
"substr_ni"
"substr_with_check"
"title"
"to_lower"
"to_upper"
"to_wide"
"tos"
"tos2"
"tos3"
"tos4"
"tos5"
"tos_clone"
"trim"
"trim_left"
"trim_pr"
"try_pop"
"try_push"
"utf32_decode_to_buffer"
"utf32_to_str"
"utf32_to_str_no_malloc"
"utf8_char_len"
"utf8_getchar"
"utf8_str_len"
"utf8_str_visible_length"
"utf8_to_utf32"
"v_realloc"
"vbytes"
"vcalloc"
"vcalloc_noscan"
"vmemcmp"
"vmemcpy"
"vmemmove"
"vmemset"
"vstring"
"vstring_literal"
"vstring_literal_with_len"
"vstring_with_len"
"vstrlen"
"vstrlen_char"
"winapi_lasterr_str"))
; Operators
[
"++"
"--"
"+"
"-"
"*"
"/"
"%"
"~"
"&"
"|"
"^"
"!"
"&&"
"||"
"!="
"<<"
">>"
"<"
">"
"<="
">="
"+="
"-="
"*="
"/="
"&="
"|="
"^="
"<<="
">>="
"="
":="
"=="
"?"
"<-"
"$"
".."
"..."
] @operator
; Punctuation
[ "." "," ":" ";" ] @punctuation.delimiter
[ "(" ")" "{" "}" "[" "]" ] @punctuation.bracket
; Literals
(int_literal) @number
(float_literal) @float
[
(c_string_literal)
(raw_string_literal)
(interpreted_string_literal)
(string_interpolation)
(rune_literal)
] @string
(string_interpolation
(braced_interpolation_opening) @punctuation.bracket
(interpolated_expression) @none
(braced_interpolation_closing) @punctuation.bracket)
(escape_sequence) @string.escape
[
(true)
(false)
] @boolean
(nil) @constant.builtin
(none) @variable.builtin
; Comments
(comment) @comment @spell
(_
(comment)+ @comment.documentation
[(function_declaration) (type_declaration) (enum_declaration)])
; Errors
(ERROR) @error