blob: 3ff80b1ebed41b665b0a61a34b95d0080685fe16 [file] [log] [blame]
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00001" Vim syntax file
Bram Moolenaarb6b046b2011-12-30 13:11:27 +01002" Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2
3" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00004" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
Bram Moolenaar9b451252012-08-15 17:43:31 +02005" Last Change: 2012 Aug 12
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00006" Options: lua_version = 4 or 5
Bram Moolenaarb6b046b2011-12-30 13:11:27 +01007" lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2)
8" default 5.2
Bram Moolenaarfc1421e2006-04-20 22:17:20 +00009
10" For version 5.x: Clear all syntax items
11" For version 6.x: Quit when a syntax file was already loaded
12if version < 600
13 syntax clear
14elseif exists("b:current_syntax")
15 finish
16endif
17
Bram Moolenaar5dc62522012-02-13 00:05:22 +010018let s:cpo_save = &cpo
19set cpo&vim
20
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000021if !exists("lua_version")
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010022 " Default is lua 5.2
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000023 let lua_version = 5
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010024 let lua_subversion = 2
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000025elseif !exists("lua_subversion")
26 " lua_version exists, but lua_subversion doesn't. So, set it to 0
27 let lua_subversion = 0
28endif
29
30syn case match
31
32" syncing method
33syn sync minlines=100
34
35" Comments
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010036syn keyword luaTodo contained TODO FIXME XXX
37syn match luaComment "--.*$" contains=luaTodo,@Spell
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000038if lua_version == 5 && lua_subversion == 0
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010039 syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell
40 syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000041elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
42 " Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010043 syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000044endif
45
46" First line may start with #!
47syn match luaComment "\%^#!.*"
48
49" catch errors caused by wrong parenthesis and wrong curly brackets or
50" keywords placed outside their respective blocks
Bram Moolenaar9b451252012-08-15 17:43:31 +020051syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
52syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000053
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010054syn match luaParenError ")"
Bram Moolenaar9b451252012-08-15 17:43:31 +020055syn match luaBraceError "}"
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000056syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
57
Bram Moolenaar9b451252012-08-15 17:43:31 +020058" function ... end
59syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000060
61" if ... then
Bram Moolenaar9b451252012-08-15 17:43:31 +020062syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty
63
64" then ... end
65syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn
66
67" elseif ... then
68syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
69
70" else
71syn keyword luaElse contained else
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000072
73" do ... end
Bram Moolenaar9b451252012-08-15 17:43:31 +020074syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
75
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000076" repeat ... until
Bram Moolenaar9b451252012-08-15 17:43:31 +020077syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000078
79" while ... do
Bram Moolenaar9b451252012-08-15 17:43:31 +020080syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaIn nextgroup=luaBlock skipwhite skipempty
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000081
82" for ... do and for ... in ... do
Bram Moolenaar9b451252012-08-15 17:43:31 +020083syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd nextgroup=luaBlock skipwhite skipempty
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000084
Bram Moolenaar9b451252012-08-15 17:43:31 +020085syn keyword luaIn contained in
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000086
87" other keywords
88syn keyword luaStatement return local break
Bram Moolenaarb6b046b2011-12-30 13:11:27 +010089if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
90 syn keyword luaStatement goto
91 syn match luaLabel "::\I\i*::"
92endif
93syn keyword luaOperator and or not
94syn keyword luaConstant nil
Bram Moolenaarfc1421e2006-04-20 22:17:20 +000095if lua_version > 4
96 syn keyword luaConstant true false
97endif
98
99" Strings
100if lua_version < 5
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100101 syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\[[:digit:]]\{,3}"
102elseif lua_version == 5
103 if lua_subversion == 0
104 syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
105 syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
106 else
107 if lua_subversion == 1
108 syn match luaSpecial contained #\\[\\abfnrtv'"]\|\\[[:digit:]]\{,3}#
109 else " Lua 5.2
110 syn match luaSpecial contained #\\[\\abfnrtvz'"]\|\\x[[:xdigit:]]\{2}\|\\[[:digit:]]\{,3}#
111 endif
112 syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
113 endif
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000114endif
Bram Moolenaar9964e462007-05-05 17:54:07 +0000115syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell
116syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000117
118" integer number
Bram Moolenaar9964e462007-05-05 17:54:07 +0000119syn match luaNumber "\<\d\+\>"
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000120" floating point number, with dot, optional exponent
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100121syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=\>"
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000122" floating point number, starting with a dot, optional exponent
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100123syn match luaNumber "\.\d\+\%([eE][-+]\=\d\+\)\=\>"
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000124" floating point number, without dot, with exponent
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100125syn match luaNumber "\<\d\+[eE][-+]\=\d\+\>"
Bram Moolenaar9964e462007-05-05 17:54:07 +0000126
127" hex numbers
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100128if lua_version >= 5
129 if lua_subversion == 1
130 syn match luaNumber "\<0[xX]\x\+\>"
131 elseif lua_subversion >= 2
132 syn match luaNumber "\<0[xX][[:xdigit:].]\+\%([pP][-+]\=\d\+\)\=\>"
133 endif
Bram Moolenaar9964e462007-05-05 17:54:07 +0000134endif
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000135
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000136syn keyword luaFunc assert collectgarbage dofile error next
137syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
138
139if lua_version == 4
140 syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo
141 syn keyword luaFunc call copytagmethods dostring
142 syn keyword luaFunc foreach foreachi getglobal getn
143 syn keyword luaFunc gettagmethod globals newtag
144 syn keyword luaFunc setglobal settag settagmethod sort
145 syn keyword luaFunc tag tinsert tremove
146 syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
147 syn keyword luaFunc openfile closefile flush seek
148 syn keyword luaFunc setlocale execute remove rename tmpname
149 syn keyword luaFunc getenv date clock exit
150 syn keyword luaFunc readfrom writeto appendto read write
151 syn keyword luaFunc PI abs sin cos tan asin
152 syn keyword luaFunc acos atan atan2 ceil floor
153 syn keyword luaFunc mod frexp ldexp sqrt min max log
154 syn keyword luaFunc log10 exp deg rad random
155 syn keyword luaFunc randomseed strlen strsub strlower strupper
156 syn keyword luaFunc strchar strrep ascii strbyte
157 syn keyword luaFunc format strfind gsub
158 syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
159elseif lua_version == 5
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100160 syn keyword luaFunc getmetatable setmetatable
161 syn keyword luaFunc ipairs pairs
162 syn keyword luaFunc pcall xpcall
163 syn keyword luaFunc _G loadfile rawequal require
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000164 if lua_subversion == 0
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100165 syn keyword luaFunc getfenv setfenv
166 syn keyword luaFunc loadstring unpack
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000167 syn keyword luaFunc gcinfo loadlib LUA_PATH _LOADED _REQUIREDNAME
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100168 else
169 syn keyword luaFunc load select
170 syn match luaFunc /\<package\.cpath\>/
171 syn match luaFunc /\<package\.loaded\>/
172 syn match luaFunc /\<package\.loadlib\>/
173 syn match luaFunc /\<package\.path\>/
174 if lua_subversion == 1
175 syn keyword luaFunc getfenv setfenv
176 syn keyword luaFunc loadstring module unpack
177 syn match luaFunc /\<package\.loaders\>/
178 syn match luaFunc /\<package\.preload\>/
179 syn match luaFunc /\<package\.seeall\>/
180 elseif lua_subversion == 2
181 syn keyword luaFunc _ENV rawlen
182 syn match luaFunc /\<package\.config\>/
183 syn match luaFunc /\<package\.preload\>/
184 syn match luaFunc /\<package\.searchers\>/
185 syn match luaFunc /\<package\.searchpath\>/
186 syn match luaFunc /\<bit32\.arshift\>/
187 syn match luaFunc /\<bit32\.band\>/
188 syn match luaFunc /\<bit32\.bnot\>/
189 syn match luaFunc /\<bit32\.bor\>/
190 syn match luaFunc /\<bit32\.btest\>/
191 syn match luaFunc /\<bit32\.bxor\>/
192 syn match luaFunc /\<bit32\.extract\>/
193 syn match luaFunc /\<bit32\.lrotate\>/
194 syn match luaFunc /\<bit32\.lshift\>/
195 syn match luaFunc /\<bit32\.replace\>/
196 syn match luaFunc /\<bit32\.rrotate\>/
197 syn match luaFunc /\<bit32\.rshift\>/
198 endif
199 syn match luaFunc /\<coroutine\.running\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000200 endif
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100201 syn match luaFunc /\<coroutine\.create\>/
202 syn match luaFunc /\<coroutine\.resume\>/
203 syn match luaFunc /\<coroutine\.status\>/
204 syn match luaFunc /\<coroutine\.wrap\>/
205 syn match luaFunc /\<coroutine\.yield\>/
206 syn match luaFunc /\<string\.byte\>/
207 syn match luaFunc /\<string\.char\>/
208 syn match luaFunc /\<string\.dump\>/
209 syn match luaFunc /\<string\.find\>/
210 syn match luaFunc /\<string\.format\>/
211 syn match luaFunc /\<string\.gsub\>/
212 syn match luaFunc /\<string\.len\>/
213 syn match luaFunc /\<string\.lower\>/
214 syn match luaFunc /\<string\.rep\>/
215 syn match luaFunc /\<string\.sub\>/
216 syn match luaFunc /\<string\.upper\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000217 if lua_subversion == 0
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100218 syn match luaFunc /\<string\.gfind\>/
219 else
220 syn match luaFunc /\<string\.gmatch\>/
221 syn match luaFunc /\<string\.match\>/
222 syn match luaFunc /\<string\.reverse\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000223 endif
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000224 if lua_subversion == 0
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100225 syn match luaFunc /\<table\.getn\>/
226 syn match luaFunc /\<table\.setn\>/
227 syn match luaFunc /\<table\.foreach\>/
228 syn match luaFunc /\<table\.foreachi\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000229 elseif lua_subversion == 1
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100230 syn match luaFunc /\<table\.maxn\>/
231 elseif lua_subversion == 2
232 syn match luaFunc /\<table\.pack\>/
233 syn match luaFunc /\<table\.unpack\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000234 endif
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100235 syn match luaFunc /\<table\.concat\>/
236 syn match luaFunc /\<table\.sort\>/
237 syn match luaFunc /\<table\.insert\>/
238 syn match luaFunc /\<table\.remove\>/
239 syn match luaFunc /\<math\.abs\>/
240 syn match luaFunc /\<math\.acos\>/
241 syn match luaFunc /\<math\.asin\>/
242 syn match luaFunc /\<math\.atan\>/
243 syn match luaFunc /\<math\.atan2\>/
244 syn match luaFunc /\<math\.ceil\>/
245 syn match luaFunc /\<math\.sin\>/
246 syn match luaFunc /\<math\.cos\>/
247 syn match luaFunc /\<math\.tan\>/
248 syn match luaFunc /\<math\.deg\>/
249 syn match luaFunc /\<math\.exp\>/
250 syn match luaFunc /\<math\.floor\>/
251 syn match luaFunc /\<math\.log\>/
252 syn match luaFunc /\<math\.max\>/
253 syn match luaFunc /\<math\.min\>/
254 if lua_subversion == 0
255 syn match luaFunc /\<math\.mod\>/
256 syn match luaFunc /\<math\.log10\>/
257 else
258 if lua_subversion == 1
259 syn match luaFunc /\<math\.log10\>/
260 endif
261 syn match luaFunc /\<math\.huge\>/
262 syn match luaFunc /\<math\.fmod\>/
263 syn match luaFunc /\<math\.modf\>/
264 syn match luaFunc /\<math\.cosh\>/
265 syn match luaFunc /\<math\.sinh\>/
266 syn match luaFunc /\<math\.tanh\>/
267 endif
268 syn match luaFunc /\<math\.pow\>/
269 syn match luaFunc /\<math\.rad\>/
270 syn match luaFunc /\<math\.sqrt\>/
271 syn match luaFunc /\<math\.frexp\>/
272 syn match luaFunc /\<math\.ldexp\>/
273 syn match luaFunc /\<math\.random\>/
274 syn match luaFunc /\<math\.randomseed\>/
275 syn match luaFunc /\<math\.pi\>/
276 syn match luaFunc /\<io\.close\>/
277 syn match luaFunc /\<io\.flush\>/
278 syn match luaFunc /\<io\.input\>/
279 syn match luaFunc /\<io\.lines\>/
280 syn match luaFunc /\<io\.open\>/
281 syn match luaFunc /\<io\.output\>/
282 syn match luaFunc /\<io\.popen\>/
283 syn match luaFunc /\<io\.read\>/
284 syn match luaFunc /\<io\.stderr\>/
285 syn match luaFunc /\<io\.stdin\>/
286 syn match luaFunc /\<io\.stdout\>/
287 syn match luaFunc /\<io\.tmpfile\>/
288 syn match luaFunc /\<io\.type\>/
289 syn match luaFunc /\<io\.write\>/
290 syn match luaFunc /\<os\.clock\>/
291 syn match luaFunc /\<os\.date\>/
292 syn match luaFunc /\<os\.difftime\>/
293 syn match luaFunc /\<os\.execute\>/
294 syn match luaFunc /\<os\.exit\>/
295 syn match luaFunc /\<os\.getenv\>/
296 syn match luaFunc /\<os\.remove\>/
297 syn match luaFunc /\<os\.rename\>/
298 syn match luaFunc /\<os\.setlocale\>/
299 syn match luaFunc /\<os\.time\>/
300 syn match luaFunc /\<os\.tmpname\>/
301 syn match luaFunc /\<debug\.debug\>/
302 syn match luaFunc /\<debug\.gethook\>/
303 syn match luaFunc /\<debug\.getinfo\>/
304 syn match luaFunc /\<debug\.getlocal\>/
305 syn match luaFunc /\<debug\.getupvalue\>/
306 syn match luaFunc /\<debug\.setlocal\>/
307 syn match luaFunc /\<debug\.setupvalue\>/
308 syn match luaFunc /\<debug\.sethook\>/
309 syn match luaFunc /\<debug\.traceback\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000310 if lua_subversion == 1
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100311 syn match luaFunc /\<debug\.getfenv\>/
312 syn match luaFunc /\<debug\.setfenv\>/
313 syn match luaFunc /\<debug\.getmetatable\>/
314 syn match luaFunc /\<debug\.setmetatable\>/
315 syn match luaFunc /\<debug\.getregistry\>/
316 elseif lua_subversion == 2
317 syn match luaFunc /\<debug\.getmetatable\>/
318 syn match luaFunc /\<debug\.setmetatable\>/
319 syn match luaFunc /\<debug\.getregistry\>/
320 syn match luaFunc /\<debug\.getuservalue\>/
321 syn match luaFunc /\<debug\.setuservalue\>/
322 syn match luaFunc /\<debug\.upvalueid\>/
323 syn match luaFunc /\<debug\.upvaluejoin\>/
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000324 endif
325endif
326
327" Define the default highlighting.
328" For version 5.7 and earlier: only when not done already
329" For version 5.8 and later: only when an item doesn't have highlighting yet
330if version >= 508 || !exists("did_lua_syntax_inits")
331 if version < 508
332 let did_lua_syntax_inits = 1
333 command -nargs=+ HiLink hi link <args>
334 else
335 command -nargs=+ HiLink hi def link <args>
336 endif
337
338 HiLink luaStatement Statement
339 HiLink luaRepeat Repeat
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100340 HiLink luaFor Repeat
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000341 HiLink luaString String
342 HiLink luaString2 String
343 HiLink luaNumber Number
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000344 HiLink luaOperator Operator
Bram Moolenaar9b451252012-08-15 17:43:31 +0200345 HiLink luaIn Operator
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000346 HiLink luaConstant Constant
347 HiLink luaCond Conditional
Bram Moolenaar9b451252012-08-15 17:43:31 +0200348 HiLink luaElse Conditional
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000349 HiLink luaFunction Function
350 HiLink luaComment Comment
351 HiLink luaTodo Todo
352 HiLink luaTable Structure
353 HiLink luaError Error
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100354 HiLink luaParenError Error
Bram Moolenaar9b451252012-08-15 17:43:31 +0200355 HiLink luaBraceError Error
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000356 HiLink luaSpecial SpecialChar
357 HiLink luaFunc Identifier
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100358 HiLink luaLabel Label
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000359
360 delcommand HiLink
361endif
362
363let b:current_syntax = "lua"
364
Bram Moolenaar5dc62522012-02-13 00:05:22 +0100365let &cpo = s:cpo_save
366unlet s:cpo_save
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100367" vim: et ts=8 sw=2