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