1
- # yaml-language-server: $schema=../../.vscode/tmLanguage.json
1
+ # yaml-language-server: $schema=../../../. vscode/tmLanguage.json
2
2
3
3
name : ' INI (Cortex Command)'
4
4
scopeName : source.ccini
5
5
patterns :
6
6
- { include: '#comments' }
7
- - { include: '#assignments' }
7
+ - { include: '#moduleDeclarations' }
8
+ - { include: '#definitions' }
9
+ # - { include: '#assignments' }
8
10
# - { include: "#presetDefinition" }
9
11
# - { include: "#numbers" }
10
12
# - { include: "#strings" }
11
13
12
14
repository :
15
+ moduleDeclarations :
16
+ name : meta.definition.module
17
+ begin : ^(DataModule)$
18
+ beginCaptures :
19
+ ' 1 ' :
20
+ name : keyword
21
+ end : ^(?!\t+)
22
+ patterns :
23
+ - include : ' #comments'
24
+ - include : ' #assignments'
25
+
26
+ definitions :
27
+ name : meta.definition.block
28
+ begin : ^((\w+)\s+(=)\s+(?:(.+?)(?:\s*?))(?=(?:\/\*(?!.*\*\/))|\/\/|\n))
29
+ end : ^(?!\t+)
30
+ beginCaptures :
31
+ ' 0 ' :
32
+ name : meta.expression.assignment
33
+ ' 2 ' :
34
+ name : support.type.property-name
35
+ patterns :
36
+ - include : ' #presetDeclarations'
37
+ ' 3 ' :
38
+ name : keyword.operator.assignment
39
+ ' 4 ' :
40
+ patterns :
41
+ - { include: '#comments' }
42
+ - { include: '#classNames' }
43
+
44
+ patterns :
45
+ - { include: '#comments' }
46
+ - { include: '#assignments' }
47
+
13
48
assignments :
14
- match : (?:\t* )((\w+)\s+(=)\s+(?:(.+?)(?:\s*?))(?=(?:\/\*(?!.*\*\/))|\/\/|\n))
49
+ match : (?:\t+ )((\w+)\s+(=)\s+(?:(.+?)(?:\s*?))(?=(?:\/\*(?!.*\*\/))|\/\/|\n))
15
50
# match: |
16
51
# (?:\t*) # leading tabs for the line
17
52
# ( # 1: capture whole line not including leading tabs
@@ -71,15 +106,15 @@ repository:
71
106
72
107
classNames :
73
108
name : entity.name.class
74
- match : (Vector|Matrix|InputScheme|InputMapping|GenericSavedData|Entity|DataModule| ContentFile|Color|Box|Atom|Turret|ThrownDevice|TerrainObject|TerrainFrosting|TerrainDebris|TDExplosive|SoundSet|SoundContainer|SLTerrain|SLBackground|SOPlacer|SceneObject|SceneLayer|Area|Scene|Round|PieSlice|PEmitter|MovableObject|MOSRotating|MOSprite|MOSParticle|MOPixel|MetaSave|MetaPlayer|Material|Magazine|Loadout|LimbPath|Leg|Icon|HeldDevice|HDFirearm|GlobalScript|Gib|Emission|Deployment|BunkerAssemblyScheme|BunkerAssembly|Attachable|AtomGroup|Arm|AHuman|AEmitter|ADSensor|ADoor|Actor|Activity|ACRocket|Exit|ACraft|ACrab|ACDropShip|MultiplayerServerLobby|MultiplayerGame|GATutorial|GAScripted|GameActivity)(\s*?\/\*.*?\*\/\s*?)?$
109
+ match : (Vector|Matrix|InputScheme|InputMapping|GenericSavedData|Entity|ContentFile|Color|Box|Atom|Turret|ThrownDevice|TerrainObject|TerrainFrosting|TerrainDebris|TDExplosive|SoundSet|SoundContainer|SLTerrain|SLBackground|SOPlacer|SceneObject|SceneLayer|Area|Scene|Round|PieSlice|PEmitter|MovableObject|MOSRotating|MOSprite|MOSParticle|MOPixel|MetaSave|MetaPlayer|Material|Magazine|Loadout|LimbPath|Leg|Icon|HeldDevice|HDFirearm|GlobalScript|Gib|Emission|Deployment|BunkerAssemblyScheme|BunkerAssembly|Attachable|AtomGroup|Arm|AHuman|AEmitter|ADSensor|ADoor|Actor|Activity|ACRocket|Exit|ACraft|ACrab|ACDropShip|MultiplayerServerLobby|MultiplayerGame|GATutorial|GAScripted|GameActivity)(\s*?\/\*.*?\*\/\s*?)?$
75
110
captures :
76
111
' 0 ' :
77
112
patterns :
78
113
- include : ' #comments'
79
114
80
115
presetDeclarations :
81
116
name : keyword
82
- match : (AddEntity|AddEffect )
117
+ match : Add(Activity|Actor|Deployment|Device|Effect|Loadout|Material|Scene|SoundContainer|TerrainDebris )
83
118
84
119
strings :
85
120
name : string.unquoted
@@ -90,7 +125,7 @@ repository:
90
125
- include : ' #modulePath'
91
126
92
127
modulePath :
93
- match : (([A-Z][A-z0-9]*\.rte)(\/[A-z0-9]*)*(\/[A-z0-9]+\.(wav|flac|png|bmp)))(\s*?\/\*.*?\*\/\s*?)?$
128
+ match : (([A-Z][A-z0-9 ]*\.rte)(\/[A-z0-9 ]*)*(\/[A-z0-9 ]+\.(wav|flac|png|bmp|ini )))(\s*?\/\*.*?\*\/\s*?)?$
94
129
captures :
95
130
' 1 ' :
96
131
name : markup.underline.link
0 commit comments