Skip to content

Commit d65e58f

Browse files
dkearnschrisbra
authored andcommitted
runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Match types in Vim9 variable declarations. Match Vim9 boolean and null literals. These are not matched in all contexts yet. related: #15277 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent 30d54fd commit d65e58f

151 files changed

Lines changed: 3396 additions & 683 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

runtime/syntax/generator/gen_syntax_vim.vim

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,11 @@ function! s:get_vim_command_type(cmd_name)
299299
enddef
300300
endfunction
301301
execute
302+
final
303+
for
302304
function
303305
insert
306+
let
304307
map
305308
mapclear
306309
match
@@ -316,6 +319,7 @@ function! s:get_vim_command_type(cmd_name)
316319
substitute
317320
syntax
318321
throw
322+
unlet
319323
var
320324
vim9script
321325
EOL

runtime/syntax/generator/vim.vim.base

Lines changed: 74 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
44
" Doug Kearns <dougkearns@gmail.com>
55
" URL: https://github.com/vim-jp/syntax-vim-ex
6-
" Last Change: 2024 Jul 05
6+
" Last Change: 2024 Jul 17
77
" Former Maintainer: Charles E. Campbell
88

99
" DO NOT CHANGE DIRECTLY.
@@ -77,7 +77,11 @@ syn case match
7777
"--- syntax here and above generated by mkvimvim ---
7878
" Special Vim Highlighting (not automatic) {{{1
7979

80-
" Set up folding commands for this syntax highlighting file {{{2
80+
" Set up commands for this syntax highlighting file {{{2
81+
82+
com! -nargs=* Vim9 execute <q-args> s:vim9script ? "" : "contained"
83+
com! -nargs=* VimL execute <q-args> s:vim9script ? "contained" : ""
84+
8185
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhHlmpPrt]'
8286
if g:vimsyn_folding =~# 'a'
8387
com! -nargs=* VimFolda <args> fold
@@ -160,6 +164,14 @@ else
160164
let s:vimsyn_maxlines= 60
161165
endif
162166

167+
" Nulls {{{2
168+
" =====
169+
Vim9 syn keyword vim9Null null null_blob null_channel null_class null_dict null_function null_job null_list null_object null_partial null_string
170+
171+
" Booleans {{{2
172+
" ========
173+
Vim9 syn keyword vim9Boolean true false
174+
163175
" Numbers {{{2
164176
" =======
165177
syn case ignore
@@ -173,7 +185,8 @@ syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSub
173185
syn case match
174186

175187
" All vimCommands are contained by vimIsCommand. {{{2
176-
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCatch,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate
188+
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCatch,vimConst,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
189+
syn cluster vim9CmdList contains=vim9Const,vim9Final,vim9For,vim9Var
177190
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
178191
syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
179192
syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
@@ -184,7 +197,8 @@ syn match vimVar "\s\zs&t_k;"
184197
syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
185198
syn keyword vimCommand contained in
186199

187-
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimFuncVar,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar
200+
syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
201+
syn cluster vim9ExprList contains=vim9Boolean,vim9Null
188202

189203
" Insertions And Appends: insert append {{{2
190204
" (buftype != nofile test avoids having append, change, insert show up in the command window)
@@ -238,8 +252,8 @@ syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBan
238252

239253
" Operators: {{{2
240254
" =========
241-
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar
242-
syn match vimOper "||\|&&\|[-+*/%.!]" skipwhite nextgroup=vimString,vimSpecFile
255+
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
256+
syn match vimOper "||\|&&\|[-+*/%.!]" skipwhite nextgroup=vimString,vimSpecFile
243257
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
244258
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
245259
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
@@ -254,8 +268,8 @@ syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFunc
254268
syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
255269

256270
syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimFuncFold
257-
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert
258-
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment
271+
syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
272+
syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
259273

260274
syn region vimFuncPattern contained matchgroup=vimOper start="/" end="$" contains=@vimSubstList
261275
syn match vimFunction "\<fu\%[nction]\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimFuncKey
@@ -276,7 +290,7 @@ syn keyword vimDefKey contained def
276290
syn keyword vimMethodName contained empty len string
277291

278292
syn region vimFuncParams contained matchgroup=Delimiter start="(" skip=+\n\s*\\\|\n\s*"\\ + end=")" skipwhite skipnl nextgroup=vimFuncBody,vimFuncComment,vimEndfunction,vimFuncMod,vim9CommentError contains=vimFuncParam,@vimContinue
279-
syn region vimDefParams contained matchgroup=Delimiter start="(" end=")" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError contains=vimDefParam,vim9Comment
293+
syn region vimDefParams contained matchgroup=Delimiter start="(" end=")" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError contains=vimDefParam,vim9Comment,vimFuncParamEquals
280294
syn match vimFuncParam contained "\<\h\w*\>\|\.\.\." skipwhite nextgroup=vimFuncParamEquals
281295
syn match vimDefParam contained "\<\h\w*\>" skipwhite nextgroup=vimParamType,vimFuncParamEquals
282296

@@ -300,9 +314,9 @@ syn match vimFuncBlank contained "\s\+"
300314

301315
" Types: {{{2
302316
" =====
303-
" vimTypes : new for vim9
317+
304318
syn region vimReturnType contained start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimCommentError contains=vimTypeSep transparent
305-
syn match vimParamType contained ":\s\+\a" skipwhite skipnl nextgroup=vimFuncParamEquals contains=vimTypeSep,@vimType
319+
syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType contains=vimTypeSep
306320

307321
syn match vimTypeSep contained ":\s\@=" skipwhite nextgroup=@vimType
308322
syn keyword vimType contained any blob bool channel float job number string void
@@ -377,35 +391,23 @@ if get(g:, "vimsyn_comment_strings", 1)
377391
endif
378392

379393
if s:vim9script
380-
syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained
381-
syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString contained
382-
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString contained
383-
" Vim9 comments - TODO: might be highlighted while they don't work
384-
syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
385-
syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
386-
syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
387-
" Vim9 comment inside expression
388-
" syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
389-
" syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString
390-
" syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString
391-
392394
syn cluster vimComment contains=vim9Comment
393395
else
394-
syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
395-
syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
396-
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
397-
" Vim9 comments - TODO: might be highlighted while they don't work
398-
syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained
399-
syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString contained
400-
syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString contained
401-
" Vim9 comment inside expression
402-
syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString contained
403-
syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString contained
404-
syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString contained
405-
406396
syn cluster vimComment contains=vimComment
407397
endif
408398

399+
VimL syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
400+
VimL syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
401+
VimL syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
402+
" Vim9 comments - TODO: might be highlighted while they don't work
403+
Vim9 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
404+
Vim9 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
405+
Vim9 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
406+
" Vim9 comment inside expression
407+
Vim9 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString contained
408+
Vim9 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString contained
409+
Vim9 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString contained
410+
409411
syn match vim9CommentError contained "#.*"
410412
syn match vimCommentError contained +".*+
411413

@@ -505,22 +507,32 @@ syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ co
505507
syn match vimSetSep contained "[,:]"
506508
syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
507509

508-
" Let And Var: {{{2
509-
" ===========
510-
syn keyword vimLet let skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc,vimLetRegister,vimVarList
511-
syn keyword vimConst cons[t] skipwhite nextgroup=vimVar,vimLetHereDoc,vimVarList
512-
syn region vimVarList contained start="\[" end="]" contains=vimVar,vimContinue
510+
" Variable Declarations: {{{2
511+
" =====================
512+
VimL syn keyword vimLet let skipwhite nextgroup=vimVar,vimFuncVar,vimLetRegister,vimVarList
513+
VimL syn keyword vimConst cons[t] skipwhite nextgroup=vimVar,vimVarList
514+
syn region vimVarList contained start="\[" end="]" contains=vimVar,@vimContinue
513515

514-
syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
516+
VimL syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
515517
syn match vimUnletBang contained "!" skipwhite nextgroup=vimUnletVars
516518
syn region vimUnletVars contained start="$\I\|\h" skip="\n\s*\\" end="$" end="|" contains=vimVar,vimEnvvar,vimContinue,vimString,vimNumber
517519

518520
VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s*\%(trim\s\+\%(eval\s\+\)\=\|eval\s\+\%(trim\s\+\)\=\)\=\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' extend
519-
syn keyword vimLet var skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc
521+
522+
Vim9 syn keyword vim9Const const skipwhite nextgroup=vim9Variable,vim9VariableList
523+
Vim9 syn keyword vim9Final final skipwhite nextgroup=vim9Variable,vim9VariableList
524+
Vim9 syn keyword vim9Var var skipwhite nextgroup=vim9Variable,vim9VariableList
525+
526+
syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vimTypeSep,vimLetHereDoc
527+
syn region vim9VariableList contained start="\[" end="]" contains=vim9Variable,@vimContinue
520528

521529
" For: {{{2
522530
" ===
523-
syn keyword vimFor for skipwhite nextgroup=vimVar,vimVarList
531+
if s:vim9script
532+
syn keyword vim9For for skipwhite nextgroup=vim9Variable,vim9VariableList
533+
else
534+
syn keyword vimFor for skipwhite nextgroup=vimVar,vimVarList
535+
endif
524536

525537
" Abbreviations: {{{2
526538
" =============
@@ -834,13 +846,9 @@ syn match vimCtrlChar "[- -]"
834846

835847
" Beginners - Patterns that involve ^ {{{2
836848
" =========
837-
if s:vim9script
838-
syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
839-
syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
840-
else
841-
syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
842-
syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
843-
endif
849+
Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
850+
VimL syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
851+
844852
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
845853
syn match vim9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup
846854

@@ -1083,7 +1091,6 @@ if !exists("skip_vim_syntax_inits")
10831091
hi def link vimBufnrWarn vimWarn
10841092
endif
10851093

1086-
hi def link vim9Vim9ScriptArg Special
10871094
hi def link vimAbb vimCommand
10881095
hi def link vimAddress vimMark
10891096
hi def link vimAugroupBang vimBang
@@ -1102,11 +1109,8 @@ if !exists("skip_vim_syntax_inits")
11021109
hi def link vimCommand Statement
11031110
hi def link vimComment Comment
11041111
hi def link vimCommentError vimError
1105-
hi def link vim9Comment Comment
1106-
hi def link vim9CommentError vimError
11071112
hi def link vimCommentString vimString
11081113
hi def link vimCommentTitle PreProc
1109-
hi def link vim9CommentTitle PreProc
11101114
hi def link vimCondHL vimCommand
11111115
hi def link vimConst vimCommand
11121116
hi def link vimContinue Special
@@ -1173,7 +1177,6 @@ if !exists("skip_vim_syntax_inits")
11731177
hi def link vimLetHereDocStop Special
11741178
hi def link vimLetRegister Special
11751179
hi def link vimLineComment vimComment
1176-
hi def link vim9LineComment vimComment
11771180
hi def link vimMapBang vimBang
11781181
hi def link vimMapModKey vimFuncSID
11791182
hi def link vimMapMod vimBracket
@@ -1219,7 +1222,6 @@ if !exists("skip_vim_syntax_inits")
12191222
hi def link vimSetMod vimOption
12201223
hi def link vimSetSep Statement
12211224
hi def link vimSetString vimString
1222-
hi def link vim9Vim9Script vimCommand
12231225
hi def link vimShebang PreProc
12241226
hi def link vimSleep vimCommand
12251227
hi def link vimSleepArg Constant
@@ -1280,13 +1282,29 @@ if !exists("skip_vim_syntax_inits")
12801282
hi def link vimUserFunc Normal
12811283
hi def link vimVar Identifier
12821284
hi def link vimWarn WarningMsg
1285+
1286+
hi def link vim9Boolean Boolean
1287+
hi def link vim9Comment Comment
1288+
hi def link vim9CommentError vimError
1289+
hi def link vim9CommentTitle PreProc
1290+
hi def link vim9Const vimCommand
1291+
hi def link vim9Final vimCommand
1292+
hi def link vim9For vimCommand
1293+
hi def link vim9LineComment vimComment
1294+
hi def link vim9Null Constant
1295+
hi def link vim9Var vimCommand
1296+
hi def link vim9Variable vimVar
1297+
hi def link vim9Vim9Script vimCommand
1298+
hi def link vim9Vim9ScriptArg Special
12831299
endif
12841300

12851301
" Current Syntax Variable: {{{2
12861302
let b:current_syntax = "vim"
12871303

12881304
" ---------------------------------------------------------------------
12891305
" Cleanup: {{{1
1306+
delc Vim9
1307+
delc VimL
12901308
delc VimFolda
12911309
delc VimFoldf
12921310
delc VimFoldh

runtime/syntax/testdir/dumps/vim9_comment_00.dump

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
1414
@75
1515
|d+0#af5f00255&|e|f|!| +0#0000000&|B|a|r|(+0#e000e06&|)| +0#0000000&@64
16-
@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
16+
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
1717
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
1818
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
1919
@75

runtime/syntax/testdir/dumps/vim9_comment_01.dump

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
| +0&#ffffff0@74
22
|d+0#af5f00255&|e|f|!| +0#0000000&|B|a|r|(+0#e000e06&|)| +0#0000000&@64
3-
@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
3+
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
44
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
55
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
66
> @74
77
|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#af5f00255&|c+0#e000e06&|o|u|n|t| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@47
8-
@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
8+
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
99
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
1010
|}+0#e000e06&| +0#0000000&@73
1111
@75
1212
|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52
13-
@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
13+
| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
1414
@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
1515
|}+0#e000e06&| +0#0000000&@73
1616
@75
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
2+
@75
3+
|#+0#0000e05&| |V|i|m|9| |E|x| |c|o|m@1|a|n|d|s| +0#0000000&@56
4+
@75
5+
|#+0#0000e05&| |S|T|A|R|T| |N|O|T| |M|A|T|C|H|E|D| +0#0000000&@55
6+
|:|@| @72
7+
|:|@+0#e000e06&@1| +0#0000000&@71
8+
|:|N|e|x|t| @69
9+
|:|X| @72
10+
|#+0#0000e05&| |E|N|D| |N|O|T| |M|A|T|C|H|E|D| +0#0000000&@57
11+
@75
12+
|:|h+0#af5f00255&|e|l|p| +0#0000000&@69
13+
@1|:|h+0#af5f00255&|e|l|p| +0#0000000&@68
14+
|:| |h+0#af5f00255&|e|l|p| +0#0000000&@68
15+
@1|:| |h+0#af5f00255&|e|l|p| +0#0000000&@67
16+
@75
17+
|:|2+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
18+
|:|3+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
19+
|:|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&@63
20+
@57|1|,|1| @10|T|o|p|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
|:+0&#ffffff0| |h+0#af5f00255&|e|l|p| +0#0000000&@68
2+
@1|:| |h+0#af5f00255&|e|l|p| +0#0000000&@67
3+
@75
4+
|:|2+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
5+
|:|3+0#af5f00255&|m|a|t|c|h| +0#0000000&@67
6+
>:|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&@63
7+
|:|a+0#af5f00255&|b|c|l|e|a|r| +0#0000000&@66
8+
|:|a+0#af5f00255&|b|o|v|e|l|e|f|t| +0#0000000&@64
9+
|:|a+0#af5f00255&|b|s|t|r|a|c|t| +0#0000000&@65
10+
|:|a+0#af5f00255&|l@1| +0#0000000&@70
11+
|:|a+0#af5f00255&|m|e|n|u| +0#0000000&@68
12+
|:|a+0#af5f00255&|n|o|r|e|m|e|n|u| +0#0000000&@64
13+
|:|a+0#af5f00255&|r|g|a|d@1| +0#0000000&@67
14+
|:|a+0#af5f00255&|r|g|d|e|d|u|p|e| +0#0000000&@64
15+
|:|a+0#af5f00255&|r|g|d|e|l|e|t|e| +0#0000000&@64
16+
|:|a+0#af5f00255&|r|g|d|o| +0#0000000&@68
17+
|:|a+0#af5f00255&|r|g|e|d|i|t| +0#0000000&@66
18+
|:|a+0#af5f00255&|r|g@1|l|o|b|a|l| +0#0000000&@64
19+
|:|a+0#af5f00255&|r|g|l|o|c|a|l| +0#0000000&@65
20+
@57|1|9|,|1| @10|1|%|
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
|:+0&#ffffff0|a+0#af5f00255&|r|g|l|o|c|a|l| +0#0000000&@65
2+
|:|a+0#af5f00255&|r|g|s| +0#0000000&@69
3+
|:|a+0#af5f00255&|r|g|u|m|e|n|t| +0#0000000&@65
4+
|:|a+0#af5f00255&|s|c|i@1| +0#0000000&@68
5+
|:|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|F|o@1| @62
6+
>:|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @62
7+
|:|a+0#af5f00255&|u|n|m|e|n|u| +0#0000000&@66
8+
|:|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@66
9+
|:|b+0#af5f00255&|a|d@1| +0#0000000&@69
10+
|:|b+0#af5f00255&|a|l@1| +0#0000000&@69
11+
|:|b+0#af5f00255&|a|l|t| +0#0000000&@69
12+
|:|b+0#af5f00255&|d|e|l|e|t|e| +0#0000000&@66
13+
|:|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|m+0#af5f00255&|s|w|i|n| +0#0000000&@61
14+
|:|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|x+0#af5f00255&|t|e|r|m| +0#0000000&@61
15+
|:|b+0#af5f00255&|e|l|o|w|r|i|g|h|t| +0#0000000&@63
16+
|:|b+0#af5f00255&|f|i|r|s|t| +0#0000000&@67
17+
|:|b+0#af5f00255&|l|a|s|t| +0#0000000&@68
18+
|:|b+0#af5f00255&|m|o|d|i|f|i|e|d| +0#0000000&@64
19+
|:|b+0#af5f00255&|n|e|x|t| +0#0000000&@68
20+
@57|3|7|,|1| @10|2|%|

0 commit comments

Comments
 (0)