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