summaryrefslogtreecommitdiff
path: root/runtime/queries/r/highlights.scm
blob: 4b931a0539f46bd0f191c03179fbf7054f60a94e (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
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
124
125
126
127
128
; highlights.scm


; Literals

(integer) @constant.numeric.integer

(float) @constant.numeric.float

(complex) @constant.numeric.integer

(string) @string
(string (escape_sequence) @constant.character.escape)

(comment) @comment

(formal_parameters (identifier) @variable.parameter)
(formal_parameters (default_parameter (identifier) @variable.parameter))

; Operators
[
 "="
 "<-"
 "<<-"
 "->>"
 "->"
] @operator

(unary operator: [
  "-"
  "+"
  "!"
  "~"
] @operator)

(binary operator: [
  "-"
  "+"
  "*"
  "/"
  "^"
  "<"
  ">"
  "<="
  ">="
  "=="
  "!="
  "||"
  "|"
  "&&"
  "&"
  ":"
  "~"
] @operator)

[
  "|>"
  (special)
] @operator

(lambda_function "\\" @operator)

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

(dollar "$" @operator)

(subset2
 [
  "[["
  "]]"
 ] @punctuation.bracket)

[
 "in"
 (dots)
 (break)
 (next)
 (inf)
] @keyword

[
  (nan)
  (na)
  (null)
] @type.builtin

[
  "if"
  "else"
  "switch"
] @keyword.control.conditional

[
  "while"
  "repeat"
  "for"
] @keyword.control.repeat

[
  (true)
  (false)
] @constant.builtin.boolean

"function" @keyword.function

(call function: (identifier) @function)
(default_argument name: (identifier) @variable.parameter)


(namespace_get namespace: (identifier) @namespace
 "::" @operator)
(namespace_get_internal namespace: (identifier) @namespace
 ":::" @operator)

(namespace_get function: (identifier) @function.method)
(namespace_get_internal function: (identifier) @function.method)

(identifier) @variable

; Error
(ERROR) @error