summaryrefslogtreecommitdiff
path: root/runtime/queries/cairo/highlights.scm
blob: c10ce5e074fbf0f0672153472f9b8f00d00fd716 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(ERROR) @error

((identifier) @constant
 (#match? @constant "^[A-Z][A-Z\\d_]+$"))
((identifier_def) @constant
 (#match? @constant "^[A-Z][A-Z\\d_]+$"))

((identifier) @namespace
  (#match? @namespace "^[A-Z]"))
((identifier_def) @namespace
  (#match? @namespace "^[A-Z]"))

(identifier "." @punctuation)
(function_call (identifier) @function)
(func (identifier_def) @function)

(string) @string
(atom_short_string) @string

(code_element_directive) @keyword.directive
"return" @keyword

(number) @constant.numeric
(atom_hex_number) @constant.numeric

(comment) @comment

"*" @special
(type) @type

[
  "felt"
  ; "codeoffset"
] @type.builtin

[
  "if"
  "else"
  "assert"
  "with"
  "with_attr"
] @keyword.control

[
  "from"
  "import"
  "func"
  "namespace"
] @keyword ; keyword.declaration

[
  "let"
  "const"
  "local"
  "struct"
  "alloc_locals"
  "tempvar"
] @keyword

(decorator) @attribute

[
  "="
  "+"
  "-"
  "*"
  "/"
  ; "%"
  ; "!"
  ; ">"
  ; "<"
  ; "\\"
  ; "&"
  ; "?"
  ; "^"
  ; "~"
  "=="
  "!="
  "new"
] @operator

[
  "("
  ")"
  "["
  "]"
  "{"
  "}"
] @punctuation.bracket

[
  ","
  ":"
] @punctuation.delimiter