-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathSysDefs.YAML-tmLanguage
52 lines (45 loc) · 1.5 KB
/
SysDefs.YAML-tmLanguage
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
# [PackageDev] target_format: plist, ext: tmLanguage
# http://www.geocities.jp/kosako3/oniguruma/doc/RE.txt
# http://manual.macromates.com/en/language_grammars
# http://projects.uebb.tu-berlin.de/opal/trac/wiki/MiniTutorial
---
name: Opal SysDefs
scopeName: source.opalsysdefs
fileTypes: [SysDefs]
uuid: 3da0f3f0-8b32-41c9-857c-ce9be39b99d5
patterns:
# comment
- name: comment.line.number-sign.opalsysdefs
match: (#).*$
captures:
'1': { name: punctuation.definition.comment.opalsysdefs }
# a key value pair
- name: meta.keyvaluepair.opalsysdefs
#begin: ^\s*(TOPSTRUCT|TOPCOM|OPAL_LIBS)\s*(\+?=)
begin: ^\s*([A-Z_]+)\s*(\+?=)
end: \n|(?=#)
beginCaptures:
'1': { name: variable.parameter.opalsysdefs }
'2': { name: punctuation.separator.keyvaluepair.opalsysdefs }
patterns:
- include: '#value'
# consider everything else illegal
- name: invalid.illegal.justkidding.noseriously.whoknows.opalsysdefs
match: .*
repository:
value:
patterns:
# kinda stringy dollar operator thingy
- name: meta.structure.thingy.opalsysdefs
begin: (\$)(\()
end: (\))
beginCaptures:
'1': { name: keyword.dollar.opalsysdefs }
'2': { name: punctuation.definition.parameters.begin.opalsysdefs }
endCaptures:
'1': { name: punctuation.definition.parameters.end.opalsysdefs }
contentName: string.other.opalsysdefs
# consider every other value a stringy thingy thing
- name: string.other.opalsysdefs
match: ([\w\?!\_])*
...