1
+ > // / SYNTAX TEST "source.scala"
2
+ #^^ source .scala comment .line .double - slash .scala punctuation .definition .comment .scala
3
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source .scala comment .line .double - slash .scala
4
+ > // From: https://dotty.epfl.ch/docs/reference/other-new-features/indentation.html
5
+ #^^ source .scala comment .line .double - slash .scala punctuation .definition .comment .scala
6
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source .scala comment .line .double - slash .scala
7
+ >
8
+ > package p1 .p2 :
9
+ #^^^^^^^ source .scala meta .package .scala keyword .other .import .scala
10
+ # ^ source .scala meta .package .scala
11
+ # ^^ source .scala meta .package .scala entity .name .package .scala
12
+ # ^ source .scala meta .package .scala punctuation .definition .package
13
+ # ^^ source .scala meta .package .scala entity .name .package .scala
14
+ # ^ source .scala meta .package .scala entity .name .package .scala
15
+ >
16
+ > abstract class C () with
17
+ #^^^ source .scala
18
+ # ^^^^^^^^ source .scala storage .modifier .other
19
+ # ^ source .scala
20
+ # ^^^^^ source .scala keyword .declaration .scala
21
+ # ^ source .scala
22
+ # ^ source .scala entity .name .class .declaration
23
+ # ^^ source .scala meta .parentheses .scala meta .bracket .scala
24
+ # ^ source .scala
25
+ # ^^^^ source .scala keyword .declaration .scala
26
+ >
27
+ > def this (x : Int ) =
28
+ #^^^^^^ source .scala
29
+ # ^^^ source .scala keyword .declaration .scala
30
+ # ^ source .scala
31
+ # ^^^^ source .scala entity .name .function .declaration
32
+ # ^ source .scala meta .bracket .scala
33
+ # ^ source .scala variable .parameter .scala
34
+ # ^ source .scala meta .colon .scala
35
+ # ^ source .scala
36
+ # ^^^ source .scala entity .name .class
37
+ # ^ source .scala meta .bracket .scala
38
+ # ^ source .scala
39
+ # ^ source .scala keyword .operator .comparison .scala
40
+ > this ()
41
+ #^^^^^^^^^ source .scala
42
+ # ^^^^ source .scala variable .language .scala
43
+ # ^^ source .scala meta .parentheses .scala meta .bracket .scala
44
+ > if x > 0 then
45
+ #^^^^^^^^^ source .scala
46
+ # ^^ source .scala keyword .control .flow .scala
47
+ # ^^^ source .scala
48
+ # ^ source .scala keyword .operator .comparison .scala
49
+ # ^ source .scala
50
+ # ^ source .scala constant .numeric .scala
51
+ # ^ source .scala
52
+ # ^^^^ source .scala keyword .control .flow .scala
53
+ > val a :: b =
54
+ #^^^^^^^^^^^^ source .scala
55
+ # ^^^ source .scala keyword .declaration .stable .scala
56
+ # ^ source .scala
57
+ # ^ source .scala variable .other .declaration .scala
58
+ # ^ source .scala
59
+ # ^^ source .scala keyword .operator .scala
60
+ # ^^^ source .scala
61
+ # ^ source .scala keyword .operator .comparison .scala
62
+ > x :: Nil
63
+ #^^^^^^^^^^^^^^^^^ source .scala
64
+ # ^^ source .scala keyword .operator .scala
65
+ # ^ source .scala
66
+ # ^^^ source .scala entity .name .class
67
+ > end val
68
+ #^^^^^^^^^^^^^^^^^^^ source .scala keyword .declaration .stable .end .scala
69
+ > var y =
70
+ #^^^^^^^^^^^^ source .scala
71
+ # ^^^ source .scala keyword .declaration .volatile .scala
72
+ # ^ source .scala
73
+ # ^ source .scala variable .other .declaration .scala
74
+ # ^ source .scala
75
+ # ^ source .scala keyword .operator .comparison .scala
76
+ > x
77
+ #^^^^^^^^^^^^^^^^^ source .scala
78
+ > end y
79
+ #^^^^^^^^^^^^ source .scala
80
+ # ^^^ source .scala keyword .declaration .end .scala
81
+ # ^ source .scala
82
+ # ^ source .scala entity .name .declaration
83
+ > while y > 0 do
84
+ #^^^^^^^^^^^^ source .scala
85
+ # ^^^^^ source .scala keyword .control .flow .scala
86
+ # ^^^ source .scala
87
+ # ^ source .scala keyword .operator .comparison .scala
88
+ # ^ source .scala
89
+ # ^ source .scala constant .numeric .scala
90
+ # ^ source .scala
91
+ # ^^ source .scala keyword .control .flow .scala
92
+ > println (y )
93
+ #^^^^^^^^^^^^^^^^^^^^^^ source .scala
94
+ # ^ source .scala meta .bracket .scala
95
+ # ^ source .scala
96
+ # ^ source .scala meta .bracket .scala
97
+ > y -= 1
98
+ #^^^^^^^^^^^^^^^^^ source .scala
99
+ # ^ source .scala keyword .operator .arithmetic .scala
100
+ # ^ source .scala keyword .operator .comparison .scala
101
+ # ^ source .scala
102
+ # ^ source .scala constant .numeric .scala
103
+ > end while
104
+ #^^^^^^^^^^^^^^^^^^^^^ source .scala keyword .control .flow .end .scala
105
+ > try
106
+ #^^^^^^^^^^^^ source .scala
107
+ # ^^^ source .scala keyword .control .exception .scala
108
+ > x match
109
+ #^^^^^^^^^^^^^^^^^ source .scala
110
+ # ^^^^^ source .scala keyword .control .flow .scala
111
+ > case 0 => println ("0")
112
+ #^^^^^^^^^^^^^^^^^^ source .scala
113
+ # ^^^^ source .scala keyword .control .flow .scala
114
+ # ^ source .scala
115
+ # ^ source .scala constant .numeric .scala
116
+ # ^ source .scala
117
+ # ^ source .scala keyword .operator .comparison .scala
118
+ # ^ source .scala keyword .operator .comparison .scala
119
+ # ^^^^^^^^ source .scala
120
+ # ^ source .scala meta .bracket .scala
121
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .begin .scala
122
+ # ^ source .scala string .quoted .double .scala
123
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .end .scala
124
+ # ^ source .scala meta .bracket .scala
125
+ > case _ =>
126
+ #^^^^^^^^^^^^^^^^^^ source .scala
127
+ # ^^^^ source .scala keyword .control .flow .scala
128
+ # ^^^ source .scala
129
+ # ^ source .scala keyword .operator .comparison .scala
130
+ # ^ source .scala keyword .operator .comparison .scala
131
+ > end match
132
+ #^^^^^^^^^^^^^^^^^^^^^^^^ source .scala keyword .control .flow .end .scala
133
+ > finally
134
+ #^^^^^^^^^^^^ source .scala
135
+ # ^^^^^^^ source .scala keyword .control .exception .scala
136
+ > println ("done ")
137
+ #^^^^^^^^^^^^^^^^^^^^^^ source .scala
138
+ # ^ source .scala meta .bracket .scala
139
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .begin .scala
140
+ # ^^^^ source .scala string .quoted .double .scala
141
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .end .scala
142
+ # ^ source .scala meta .bracket .scala
143
+ > end try
144
+ #^^^^^^^^^^^^ source .scala
145
+ # ^^^ source .scala keyword .declaration .end .scala
146
+ # ^ source .scala
147
+ # ^^^ source .scala entity .name .declaration
148
+ > end if
149
+ #^^^^^^^^^^^^^^^ source .scala keyword .control .flow .end .scala
150
+ > end this
151
+ #^^^^^^ source .scala
152
+ # ^^^ source .scala keyword .declaration .end .scala
153
+ # ^ source .scala
154
+ # ^^^^ source .scala entity .name .declaration
155
+ >
156
+ > def f : String
157
+ #^^^^^^ source .scala
158
+ # ^^^ source .scala keyword .declaration .scala
159
+ # ^ source .scala
160
+ # ^ source .scala entity .name .function .declaration
161
+ # ^ source .scala keyword .operator .scala
162
+ # ^ source .scala
163
+ # ^^^^^^ source .scala entity .name .class
164
+ > end C
165
+ #^^^ source .scala
166
+ # ^^^ source .scala keyword .declaration .end .scala
167
+ # ^ source .scala
168
+ # ^ source .scala entity .name .type .declaration
169
+ >
170
+ > object C with
171
+ #^^^ source .scala
172
+ # ^^^^^^ source .scala keyword .declaration .scala
173
+ # ^ source .scala
174
+ # ^ source .scala entity .name .class .declaration
175
+ # ^ source .scala
176
+ # ^^^^ source .scala keyword .declaration .scala
177
+ > given C =
178
+ #^^^^^^ source .scala
179
+ # ^^^^^ source .scala keyword .declaration .scala
180
+ # ^ source .scala
181
+ # ^ source .scala entity .name .class
182
+ # ^ source .scala
183
+ # ^ source .scala keyword .operator .comparison .scala
184
+ > new C :
185
+ #^^^^^^^^^ source .scala
186
+ # ^^^ source .scala keyword .declaration .scala
187
+ # ^ source .scala
188
+ # ^ source .scala entity .name .class
189
+ # ^ source .scala keyword .operator .scala
190
+ > def f = "!"
191
+ #^^^^^^^^^^^^ source .scala
192
+ # ^^^ source .scala keyword .declaration .scala
193
+ # ^ source .scala
194
+ # ^ source .scala entity .name .function .declaration
195
+ # ^ source .scala
196
+ # ^ source .scala keyword .operator .comparison .scala
197
+ # ^ source .scala
198
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .begin .scala
199
+ # ^ source .scala string .quoted .double .scala
200
+ # ^ source .scala string .quoted .double .scala punctuation .definition .string .end .scala
201
+ > end f
202
+ #^^^^^^^^^^^^ source .scala
203
+ # ^^^ source .scala keyword .declaration .end .scala
204
+ # ^ source .scala
205
+ # ^ source .scala entity .name .declaration
206
+ > end new
207
+ #^^^^^^^^^ source .scala
208
+ # ^^^ source .scala keyword .declaration .end .scala
209
+ # ^ source .scala
210
+ # ^^^ source .scala keyword .declaration .end .scala
211
+ > end given
212
+ #^^^^^^ source .scala
213
+ # ^^^ source .scala keyword .declaration .end .scala
214
+ # ^ source .scala
215
+ # ^^^^^ source .scala entity .name .declaration
216
+ > end C
217
+ #^^^ source .scala
218
+ # ^^^ source .scala keyword .declaration .end .scala
219
+ # ^ source .scala
220
+ # ^ source .scala entity .name .type .declaration
221
+ >
222
+ > extension (x : C )
223
+ #^^^ source .scala
224
+ # ^^^^^^^^^ source .scala keyword .declaration .scala
225
+ # ^ source .scala
226
+ # ^ source .scala meta .bracket .scala
227
+ # ^ source .scala variable .parameter .scala
228
+ # ^ source .scala meta .colon .scala
229
+ # ^ source .scala
230
+ # ^ source .scala entity .name .class
231
+ # ^ source .scala meta .bracket .scala
232
+ > def ff : String = x .f ++ x .f
233
+ #^^^^^^ source .scala
234
+ # ^^^ source .scala keyword .declaration .scala
235
+ # ^ source .scala
236
+ # ^^ source .scala entity .name .function .declaration
237
+ # ^ source .scala keyword .operator .scala
238
+ # ^ source .scala
239
+ # ^^^^^^ source .scala entity .name .class
240
+ # ^ source .scala
241
+ # ^ source .scala keyword .operator .comparison .scala
242
+ # ^^^^^ source .scala
243
+ # ^ source .scala keyword .operator .arithmetic .scala
244
+ # ^ source .scala keyword .operator .arithmetic .scala
245
+ # ^^^^^ source .scala
246
+ > end extension
247
+ #^^^ source .scala
248
+ # ^^^ source .scala keyword .declaration .end .scala
249
+ # ^ source .scala
250
+ # ^^^^^^^^^ source .scala keyword .declaration .end .scala
251
+ >
252
+ >end p2
253
+ #^^^ source .scala keyword .declaration .end .scala
254
+ # ^ source .scala
255
+ # ^^ source .scala entity .name .declaration
256
+ >
0 commit comments