@@ -0,0 +1,67 @@
1+(line_comment) @comment.line
2+(block_comment) @comment.block
3+(ty (ident) @type)
4+
5+(item_type name: (ident) @type)
6+(item_record name: (ident) @type)
7+(item_variant name: (ident) @type)
8+(item_flags name: (ident) @type)
9+(item_enum name: (ident) @type)
10+(item_union name: (ident) @type)
11+(item_resource name: (ident) @type)
12+
13+(item_use from: (ident) @namespace)
14+(use_item name: (ident) @type)
15+(item_func name: (ident) @function)
16+(method name: (ident) @function.method)
17+(fields (named_ty name: (ident) @variable.other.member))
18+(input (args (named_ty name: (ident) @variable.parameter)))
19+(output (args (named_ty name: (ident) @variable.other.member)))
20+(flags (ident) @constant)
21+(enum_items (ident) @constant)
22+(variant_item tag: (ident) @type.enum.variant)
23+
24+[
25+ (unit)
26+
27+ "u8" "u16" "u32" "u64"
28+ "s8" "s16" "s32" "s64"
29+ "float32" "float64"
30+ "char" "bool" "string"
31+] @type.builtin
32+
33+[
34+ "list"
35+ "option"
36+ "result"
37+ "tuple"
38+ "future"
39+ "stream"
40+] @function.macro
41+
42+[ "," ":" ] @punctuation.delimiter
43+[ "(" ")" "{" "}" "<" ">" ] @punctuation.bracket
44+[ "=" "->" ] @operator
45+
46+[
47+ "record"
48+ "flags"
49+ "variant"
50+ "enum"
51+ "union"
52+ "type"
53+ "resource"
54+] @keyword.storage.type
55+
56+"func" @keyword
57+
58+[
59+ "static"
60+] @keyword.storage.modifier
61+
62+[
63+ (star)
64+ "use"
65+ "as"
66+ "from"
67+] @keyword.control.import