Unnamed repository; edit this file 'description' to name the repository.
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
; hightlights.scm

[
  "."
  "@"
  "**"
  "+"
  "-"
  "~"
  "*"
  "/"
  "//"
  "/<"
  "/>"
  "div"
  "mod"
  "rem"
  ">>"
  "<<"
  "/\\"
  "^"
  "\\/"
  ".."
  "++"
  "="
  "!="
  ":="
  "=="
  "!=="
  "=:="
  "<"
  "=<"
  "<="
  ">"
  ">="
  "::"
  "in"
  "notin"
  "=.."
  "#="
  "#!="
  "#<"
  "#=<"
  "#<="
  "#>"
  "#>="
  "@<"
  "@=<"
  "@<="
  "@>"
  "@>="
  "#~"
  "#/\\"
  "#^"
  "#\\/"
  "#=>"
  "#<=>"
  "not"
  "once"
  "\\+"
  "&&"
  ";"
  "||"
] @operator

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


[
  "do"
  "else"
  "end"
  "foreach"
  "if"
  "import"
  "in"
  "index"
  "module"
  "private"
  "table"
  "then"
  "while"
  "throw"
  "true"
  "false"
  "fail"
] @keyword

(predicate_definition (predicate_rule name: (atom) @function))
(predicate_definition (predicate_fact name: (atom) @function))
(function_definition (function_rule name: (atom) @function))
(function_definition (function_fact name: (atom) @function))
(actor_definition (action_rule name: (atom) @function))
(actor_definition (nonbacktrackable_predicate_rule name: (atom) @function))

(integer) @constant.numeric.integer
(real) @constant.numeric.float
(string) @string
(comment) @comment

[
  "=>"
  "->"
  "$"
] @punctuation.special


(parameters
  [(variable) @variable.parameter
   (atom) @variable.parameter
   (array_expression [(variable) @variable.parameter (atom) @variable.parameter])
   (list_expression [(variable) @variable.parameter (atom) @variable.parameter])
   (as_pattern_expression left: [(variable) @variable.parameter (atom) @variable.parameter])])

(function_call function: (atom) @function)
(dot_expression right: (atom) @function)