blob: 88dfb58aaeeccf8d4e84b92e6dac64aca5683c44 [file] [log] [blame]
Doug Kearns1aa287e2025-02-10 22:00:27 +01001vim9script
2
3# Vim9 variable highlighting
4
5# Declarations
6
7var foo = expr
8
9b:foo = expr
10g:foo = expr
11t:foo = expr
12w:foo = expr
13
14v:foo = expr
15
16$FOO = expr
17
18var [foo, bar] = expr
19var [foo,
20 \ bar] = expr
21var [$foo, $bar] = expr
22var [$foo,
23 \ $bar] = expr
24
25var [foo, bar; baz] = expr
26var [foo,
27 \ bar;
28 \ baz] = expr
29var [$foo, $bar; $baz] = expr
30var [$foo,
31 \ $bar;
32 \ $baz] = expr
33
34var foo =<< END
35...
36END
37var foo =<< trim END
38...
39END
40var foo =<< eval END
41...
42END
43var foo =<< trim eval END
44...
45END
46var foo =<< eval trim END
47...
48END
49
50# Assignments
51
52foo = expr
53
54foo[0] = expr
55
56foo[1:2] = expr
57foo[:2] = expr
58foo[1:] = expr
59foo[:] = expr
60
61foo += expr
62foo -= expr
63foo *= expr
64foo /= expr
65foo %= expr
66foo ..= expr
67
68b:foo = expr
69g:foo = expr
70t:foo = expr
71w:foo = expr
72
73b:foo += expr
74g:foo += expr
75t:foo += expr
76w:foo += expr
77
78b:foo -= expr
79g:foo -= expr
80t:foo -= expr
81w:foo -= expr
82
83b:foo *= expr
84g:foo *= expr
85t:foo *= expr
86w:foo *= expr
87
88b:foo /= expr
89g:foo /= expr
90t:foo /= expr
91w:foo /= expr
92
93b:foo %= expr
94g:foo %= expr
95t:foo %= expr
96w:foo %= expr
97
98b:foo ..= expr
99g:foo ..= expr
100t:foo ..= expr
101w:foo ..= expr
102
103$FOO = expr
104$FOO ..= expr
105
106@f = expr
107@f ..= expr
108
109&foo = expr
110
111&t_k1 = "\<Esc>[234;"
112
113&foo ..= expr
114
115&foo += expr
116&foo -= expr
117
118&l:foo = expr
119
120&l:foo ..= expr
121&l:foo += expr
122&l:foo -= expr
123
124&g:foo = expr
125
126&g:foo ..= expr
127&g:foo += expr
128&g:foo -= expr
129
130[foo, bar] = expr
131[foo,
132 \ bar] = expr
133[v:foo, v:bar] = expr
134[v:foo,
135 \ v:bar] = expr
136[&foo, &bar] = expr
137[&foo,
138 \ &bar] = expr
139[$foo, $bar] = expr
140[$foo,
141 \ $bar] = expr
142[@a, @b] = expr
143[@a,
144 \ @a] = expr
145
146[foo, bar] ..= expr
147[foo, bar] += expr
148[foo, bar] -= expr
149[foo, bar] *= expr
150[foo, bar] /= expr
151[foo, bar] %= expr
152
153[foo, bar; baz] = expr
154[foo,
155 \ bar;
156 \ baz] = expr
157[v:foo, v:bar; v:baz] = expr
158[v:foo,
159 \ v:bar;
160 \ v:baz] = expr
161[$foo, $bar; $baz] = expr
162[$foo,
163 \ $bar;
164 \ $baz] = expr
165[&foo, &bar; &baz] = expr
166[&foo,
167 \ &bar;
168 \ &baz] = expr
169[@a, @b; @c] = expr
170[@a,
171 \ @b;
172 \ @c] = expr
173
174foo =<< END
175...
176END
177foo =<< trim END
178...
179END
180foo =<< eval END
181...
182END
183foo =<< trim eval END
184...
185END
186foo =<< eval trim END
187...
188END
189
190# :for
191
192for foo in expr
193endfor
194
195for [foo, bar] in expr
196endfor
197