Skip to content

Commit 7e80c47

Browse files
committed
Add "metadata" and "property" syntax; add storage modifier to "variable"
1 parent cc36029 commit 7e80c47

1 file changed

Lines changed: 33 additions & 4 deletions

File tree

grammars/lcb.cson

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@
3535
{
3636
'include': '#define-constant'
3737
}
38+
{
39+
'include': '#define-metadata'
40+
}
41+
{
42+
'include': '#define-property'
43+
}
3844
{
3945
'include': '#define-variable'
4046
}
@@ -139,16 +145,39 @@
139145
}
140146
]
141147

142-
'define-variable':
143-
'match': '^\\s*(variable)(?:\\s+(\\w*)(?:\\s+(as(?:\\soptional)?)(?:\\s+(\\w*))?)?)?'
148+
'define-metadata':
149+
'begin': '^\\s*metadata\\b'
150+
'end': '\\bis\\b'
151+
'captures':
152+
'0':
153+
'name': 'keyword.control.lcb'
154+
'patterns': [
155+
{
156+
'match': '\\b\\w+\\b'
157+
'name': 'entity.name.metadata.lcb'
158+
}
159+
]
160+
161+
'define-property':
162+
'match': '^\\s*(property)(\\s*\\w*)?'
144163
'captures':
145164
'1':
146165
'name': 'keyword.control.lcb'
147166
'2':
148-
'name': 'variable.lcb'
167+
'name': 'entity.name.property.lcb'
168+
169+
'define-variable':
170+
'match': '^\\s*((?:public|private)\\s+)?(variable)(?:\\s+(\\w*)(?:\\s+(as(?:\\soptional)?)(?:\\s+(\\w*))?)?)?'
171+
'captures':
172+
'1':
173+
'name': 'storage.modifier.lcb'
174+
'2':
175+
'name': 'storage.type.lcb'
149176
'3':
150-
'name': 'keyword.control.lcb'
177+
'name': 'variable.lcb'
151178
'4':
179+
'name': 'keyword.control.lcb'
180+
'5':
152181
'name': 'storage.type.lcb'
153182

154183
'define-handler':

0 commit comments

Comments
 (0)