Skip to content

Commit 8ccc07f

Browse files
committed
support clauses
1 parent b8d80f7 commit 8ccc07f

File tree

1 file changed

+211
-1
lines changed

1 file changed

+211
-1
lines changed

trale.tmLanguage

+211-1
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,12 @@
147147
<key>name</key>
148148
<string>punctuation.section.parameters</string>
149149
</dict>
150+
<dict>
151+
<key>match</key>
152+
<string>(\,)</string>
153+
<key>name</key>
154+
<string>punctuation.separator.list.trale</string>
155+
</dict>
150156
<dict>
151157
<key>match</key>
152158
<string>(\w*)</string>
@@ -178,6 +184,146 @@
178184
</array>
179185
</dict>
180186

187+
188+
<!-- clauses definition -->
189+
<dict>
190+
<key>begin</key>
191+
<string>([\w\_]+)(\()</string>
192+
<key>beginCaptures</key>
193+
<dict>
194+
<key>1</key>
195+
<dict>
196+
<key>name</key>
197+
<string>meta.function-call.trale</string>
198+
</dict>
199+
<key>2</key>
200+
<dict>
201+
<key>name</key>
202+
<string>punctuation.section.arguments.begin.trale</string>
203+
</dict>
204+
</dict>
205+
<key>end</key>
206+
<string>(\.)</string>
207+
<key>endCaptures</key>
208+
<dict>
209+
<key>1</key>
210+
<dict>
211+
<key>name</key>
212+
<string>punctuation.section.arguments.end.trale</string>
213+
</dict>
214+
</dict>
215+
<key>name</key>
216+
<string>meta.function.trale</string>
217+
<key>patterns</key>
218+
<array>
219+
<dict>
220+
<key>begin</key>
221+
<string>%</string>
222+
<key>end</key>
223+
<string>$</string>
224+
<key>name</key>
225+
<string>comment.line.trale</string>
226+
<key>patterns</key>
227+
<array/>
228+
</dict>
229+
230+
<dict>
231+
<key>match</key>
232+
<string>\bif\b</string>
233+
<key>name</key>
234+
<string>keyword.control.trale</string>
235+
</dict>
236+
237+
<dict>
238+
<key>match</key>
239+
<string>([\[\]\(\)])</string>
240+
<key>name</key>
241+
<string>punctuation.section.parameters</string>
242+
</dict>
243+
<!-- <dict>
244+
<key>match</key>
245+
<string>(\w*)</string>
246+
<key>name</key>
247+
<string>meta.function-call.arguments.trale</string>
248+
</dict> -->
249+
<dict>
250+
<key>match</key>
251+
<string>([\,\|])</string>
252+
<key>name</key>
253+
<string>punctuation.separator.list.trale</string>
254+
</dict>
255+
256+
257+
<dict>
258+
<key>begin</key>
259+
<string>(\w+)(\()</string>
260+
<key>beginCaptures</key>
261+
<dict>
262+
<key>1</key>
263+
<dict>
264+
<key>name</key>
265+
<string>meta.function-call.trale</string>
266+
</dict>
267+
<key>2</key>
268+
<dict>
269+
<key>name</key>
270+
<string>punctuation.section.arguments.begin</string>
271+
</dict>
272+
<key>3</key>
273+
<dict>
274+
<key>name</key>
275+
<string>punctuation.section.arguments.begin</string>
276+
</dict>
277+
</dict>
278+
<key>end</key>
279+
<string>(\))</string>
280+
<key>endCaptures</key>
281+
<dict>
282+
<key>1</key>
283+
<dict>
284+
<key>name</key>
285+
<string>punctuation.section.arguments.end.trale</string>
286+
</dict>
287+
</dict>
288+
<key>name</key>
289+
<string>meta.function.trale</string>
290+
<key>patterns</key>
291+
<array>
292+
293+
<dict>
294+
<key>match</key>
295+
<string>([\[\]])</string>
296+
<key>name</key>
297+
<string>punctuation.section.parameters</string>
298+
</dict>
299+
<dict>
300+
<key>match</key>
301+
<string>(\w*)</string>
302+
<key>name</key>
303+
<string>meta.function-call.arguments.trale</string>
304+
</dict>
305+
<dict>
306+
<key>match</key>
307+
<string>([\,\|])</string>
308+
<key>name</key>
309+
<string>punctuation.separator.list.trale</string>
310+
</dict>
311+
</array>
312+
</dict>
313+
314+
<dict>
315+
<key>match</key>
316+
<string>(true)</string>
317+
<key>name</key>
318+
<string>constant.language.trale</string>
319+
</dict>
320+
321+
</array>
322+
</dict>
323+
324+
325+
326+
181327
<!-- rules -->
182328
<dict>
183329
<key>begin</key>
@@ -225,6 +371,70 @@
225371
<key>name</key>
226372
<string>keyword.control.trale</string>
227373
</dict>
374+
375+
<!-- clause -->
376+
<dict>
377+
<key>begin</key>
378+
<string>(\w+)(\()</string>
379+
<key>beginCaptures</key>
380+
<dict>
381+
<key>1</key>
382+
<dict>
383+
<key>name</key>
384+
<string>meta.function-call.trale</string>
385+
</dict>
386+
<key>2</key>
387+
<dict>
388+
<key>name</key>
389+
<string>punctuation.section.arguments.begin</string>
390+
</dict>
391+
<key>3</key>
392+
<dict>
393+
<key>name</key>
394+
<string>punctuation.section.arguments.begin</string>
395+
</dict>
396+
</dict>
397+
<key>end</key>
398+
<string>(\))</string>
399+
<key>endCaptures</key>
400+
<dict>
401+
<key>1</key>
402+
<dict>
403+
<key>name</key>
404+
<string>punctuation.section.arguments.end.trale</string>
405+
</dict>
406+
</dict>
407+
<key>name</key>
408+
<string>meta.function.trale</string>
409+
<key>patterns</key>
410+
<array>
411+
412+
<dict>
413+
<key>match</key>
414+
<string>([\[\]])</string>
415+
<key>name</key>
416+
<string>punctuation.section.parameters</string>
417+
</dict>
418+
<dict>
419+
<key>match</key>
420+
<string>(\w*)</string>
421+
<key>name</key>
422+
<string>meta.function-call.arguments.trale</string>
423+
</dict>
424+
<dict>
425+
<key>match</key>
426+
<string>([\,\|])</string>
427+
<key>name</key>
428+
<string>punctuation.separator.list.trale</string>
429+
</dict>
430+
</array>
431+
</dict>
432+
433+
434+
435+
436+
437+
228438
<dict>
229439
<key>match</key>
230440
<string>(\,)</string>
@@ -233,7 +443,7 @@
233443
</dict>
234444
<dict>
235445
<key>match</key>
236-
<string>(cat)(>)</string>
446+
<string>(cat|goal)(>)</string>
237447
<key>captures</key>
238448
<dict>
239449
<key>1</key>

0 commit comments

Comments
 (0)