Skip to content

Commit ef90a8e

Browse files
committed
Support for compiler directives
1 parent 9d7aba9 commit ef90a8e

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

client/src/syntaxes/vba.tmLanguage.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ repository:
200200
repository:
201201
blockIf:
202202
name: meta.block-if-else.vba
203-
begin: (?i)(if)\s+(?=[^'\n]) # Look ahead to anything other than a comment.
204-
end: (?i)if # Safe to assume this is not an open.
203+
begin: (?i)(#?if)\s+(?=[^'\n]) # Look ahead to anything other than a comment.
204+
end: (?i)#?if # Safe to assume this is not an open.
205205
beginCaptures:
206206
1:
207207
name: keyword.control.block-if.open.vba
@@ -236,7 +236,7 @@ repository:
236236

237237
blockElseIfOpen:
238238
name: meta.block-if-else-if.vba
239-
begin: (?i)(else)\s+(?=(if|_))
239+
begin: (?i)(#?else)\s+(?=(if|_))
240240
end: (?i)(?=if(?:\s*)['\n])
241241
beginCaptures:
242242
1:
@@ -256,10 +256,10 @@ repository:
256256

257257
blockElse:
258258
name: keyword.control.block-if.else.vba
259-
match: (?i)else
259+
match: (?i)#?else
260260

261261
blockEndIf:
262-
begin: (?i)(end)\s+(?=(if|_))
262+
begin: (?i)(#?end)\s+(?=(if|_))
263263
end: (?i)(?=if(?:\s*)['\n])
264264
beginCaptures:
265265
1:

test/textmate/unit/logicFlow.vba

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,38 @@ Public Sub Foo()
273273

274274
'< source.vba - meta.block-if-else.vba keyword.control.block-if.close.vba
275275

276+
' Compiler if blocks
277+
#If foo Then
278+
' ^^^ ^^^^ meta.block-if-else.vba keyword.control.block-if.open.vba
279+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if.condition.vba
280+
#If foo Then
281+
' ^^^ ^^^^ meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.open.vba
282+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if.condition.vba
283+
#If foo Then
284+
' ^^^ ^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.open.vba
285+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba meta.block-if.condition.vba
286+
#End If
287+
' ^^^^ ^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.close.vba
288+
#Else If foo Then
289+
' ^^^^^ ^^ ^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else-if.vba keyword.control.block-if.open.vba
290+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else-if.vba meta.block-if.condition.vba
291+
#If foo Then
292+
' ^^^ ^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.open.vba
293+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba meta.block-if.condition.vba
294+
#End If
295+
' ^^^^ ^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.close.vba
296+
#Else
297+
' ^^^^^ keyword.control.block-if.else.vba
298+
#If foo Then
299+
' ^^^ ^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.open.vba
300+
' ^^^^^^^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba meta.block-if.condition.vba
301+
#End If
302+
' ^^^^ ^^ meta.block-if-else.vba meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.close.vba
303+
#End If
304+
' ^^^^ ^^ meta.block-if-else.vba meta.block-if-else.vba keyword.control.block-if.close.vba
305+
#End If
306+
' ^^^^ ^^ meta.block-if-else.vba keyword.control.block-if.close.vba
307+
276308
' Line continuation stress test.
277309
If _
278310
True _

0 commit comments

Comments
 (0)