Skip to content

Commit 88403e2

Browse files
committed
Unit test and bug fix Open
1 parent ce03a83 commit 88403e2

File tree

3 files changed

+111
-2
lines changed

3 files changed

+111
-2
lines changed

client/syntaxes/vba.tmLanguage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@
897897
},
898898
"openStatementFileNumber": {
899899
"name": "meta.openStatementFileNumber.vba",
900-
"begin": "(?i)(#)?(\\w+)",
900+
"begin": "(?i)(#)?([.a-z0-9]\\w*)",
901901
"end": "(?i)(?i)(?<!_)(?=\\n|:|\\s*')",
902902
"beginCaptures": {
903903
"1": {

client/syntaxes/vba.tmLanguage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ repository:
550550

551551
openStatementFileNumber:
552552
name: meta.openStatementFileNumber.vba
553-
begin: (?i)(#)?(\w+)
553+
begin: (?i)(#)?([.a-z0-9]\w*)
554554
end: (?i)(?i)(?<!_)(?=\n|:|\s*')
555555
beginCaptures:
556556
1:
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
' SYNTAX TEST "source.vba" "open statements"
2+
3+
' Normal people tests
4+
Sub Foo()
5+
' Mode: Input, Output, Binary, Random
6+
Open path For Input As #1
7+
' ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
8+
' ^^^^ ^^^ ^^ keyword.control.vba
9+
' ^^^^ meta.variable-or-property.vba
10+
' ^^^^^ storage.type.vba
11+
' ^ support.type.primitive.vba
12+
' ^ constant.numeric.vba
13+
Open "xx" For Output As #f
14+
' ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
15+
' ^^^^ ^^^ ^^ keyword.control.vba
16+
' ^^^^ string.quoted.double.vba
17+
' ^^^^^^ storage.type.vba
18+
' ^ support.type.primitive.vba
19+
' ^ meta.variable-or-property.vba
20+
Open .f.o For Binary As .f
21+
' ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
22+
' ^^^^ ^^^ ^^ keyword.control.vba
23+
' ^^^^ meta.variable-or-property.vba
24+
' ^^^^^^ storage.type.vba
25+
' ^^ meta.variable-or-property.vba
26+
27+
Open xx() For Random As #1
28+
' ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
29+
' ^^^^ ^^^ ^^ keyword.control.vba
30+
' ^^^^ meta.function.call.vba
31+
' ^^^^^^ storage.type.vba
32+
' ^ support.type.primitive.vba
33+
' ^ constant.numeric.vba
34+
35+
' Access: Read, Write
36+
Open xx() For Input Access Read As #1
37+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
38+
' ^^^^ ^^^ ^^^^^^ keyword.control.vba
39+
' ^^^^ meta.function.call.vba
40+
' ^^^^^ ^^^^ storage.type.vba
41+
42+
Open path For Input Access Write As #1
43+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
44+
' ^^^^ ^^^ ^^^^^^ keyword.control.vba
45+
' ^^^^ meta.variable-or-property.vba
46+
' ^^^^^ ^^^^^ storage.type.vba
47+
48+
49+
' Lock: Read, Write, Read Write
50+
Open path For Input Lock Read As #1
51+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
52+
' ^^^^ ^^^ ^^^^ keyword.control.vba
53+
' ^^^^ meta.variable-or-property.vba
54+
' ^^^^^ ^^^^ storage.type.vba
55+
Open path For Input Lock Write As #1
56+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
57+
' ^^^^ ^^^ ^^^^ keyword.control.vba
58+
' ^^^^ meta.variable-or-property.vba
59+
' ^^^^^ ^^^^^ storage.type.vba
60+
Open path For Input Lock Read Write As #1
61+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
62+
' ^^^^ ^^^ ^^^^ keyword.control.vba
63+
' ^^^^ meta.variable-or-property.vba
64+
' ^^^^^ ^^^^ ^^^^^ storage.type.vba
65+
66+
67+
' Access / Lock
68+
Open path For Input Access Read Lock Read As #1
69+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
70+
' ^^^^ ^^^ ^^^^^^ ^^^^ keyword.control.vba
71+
' ^^^^^ ^^^^ ^^^^ storage.type.vba
72+
73+
74+
Open path For Random As #1 Len = Len(MyRecord)
75+
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.open-statement.vba
76+
' ^^^^ ^^^ ^^ ^^^ keyword.control.vba
77+
' ^^^^^^ storage.type.vba
78+
' ^ keyword.operator.assignment.vba
79+
' ^^^^^^^^^^^^^ meta.expression.vba
80+
End Sub
81+
82+
' Crazy people tests
83+
Sub Bar()
84+
Open _
85+
' ^^^^ keyword.control.vba
86+
foo _
87+
' ^^^ meta.variable-or-property.vba
88+
For _
89+
' ^^^ keyword.control.vba
90+
Binary _
91+
' ^^^^^^ storage.type.vba
92+
Access _
93+
' ^^^^^^ keyword.control.vba
94+
Read _
95+
' ^^^^ storage.type.vba
96+
Write _
97+
' ^^^^^ storage.type.vba
98+
As _
99+
' ^^ keyword.control.vba
100+
#1 _
101+
' ^ support.type.primitive.vba
102+
' ^ constant.numeric.vba
103+
Len _
104+
' ^^^ keyword.control.vba
105+
= _
106+
' ^ keyword.operator.assignment.vba
107+
Len("abc") + 1
108+
' ^^^^^^^^^^^^^^ meta.expression.vba
109+
End Sub

0 commit comments

Comments
 (0)