summaryrefslogtreecommitdiff
path: root/tests/lexers/bat/example.txt
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2021-01-18 21:24:00 +0100
committerGeorg Brandl <georg@python.org>2021-01-18 22:08:36 +0100
commit2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch)
tree809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/bat/example.txt
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-examplefiles.tar.gz
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/bat/example.txt')
-rw-r--r--tests/lexers/bat/example.txt2242
1 files changed, 2242 insertions, 0 deletions
diff --git a/tests/lexers/bat/example.txt b/tests/lexers/bat/example.txt
new file mode 100644
index 00000000..f186299d
--- /dev/null
+++ b/tests/lexers/bat/example.txt
@@ -0,0 +1,2242 @@
+---input---
+@ @@ echo off
+::This is an example of the Windows batch language.
+
+setlocal EnableDelayedExpansion
+(cls)
+set/a^
+_te^
+sts^
+=0,^
+_"pa"^
+ssed=0^
+0
+set,/a title= Batch test
+title=%,/a title%
+echo^ %~nx0,^ the>,con comprehensive testing suite
+ver
+echo(
+
+if cmdextversion 2 goto =)
+goto :fail
+
+ :)
+echo Starting tests at:
+date/t & time/t
+echo(
+
+if '%*'=='--help' (
+ echo Usage: %~nx0 [--help]
+ echo --help: Display this help message and quit.
+ shift
+ goto :exit comment) else rem
+
+(call :comments)
+call ::io+x
+call:control:x
+call::internal x
+
+:exit
+if /i !_tests!==!_passed! (
+ color 02
+) else if !*==* (
+ color c
+ if not defined _exit^
+Code set _exit^
+Code=1
+)
+set _percentage=NaN
+if defined _tests (
+ if !_tests! neq 0 (set/a_percentage=100*_passed/_tests)
+)
+echo(
+if !_percentage!==NaN ( echo(There were no tests^^! & color e
+) else ( echo Tests passed: %_passed%/%_tests% (%_percentage%%%^) )
+pause
+color
+title
+endlocal
+exit /b %_exitCode%
+
+x:fail
+rem This should never happen.
+echo Internal error 1>& 269105>>&2
+set /a _exitCode=0x69+(0105*1000)
+break
+goto :exit
+
+:comments
+(rem )/?
+)
+rem "comment^
+(rem.) & set /a _tests+=1
+(rem) & goto :fail
+(rem. ) & (rem. comment ) & echo Test %_tests%: Comments
+rem )
+)
+)|comment
+)(
+:: comment
+goto :comments^^1:comment
+:comments^^1 comment
+if(1==1) goto :comments^
+^1
+rem^ /?
+rem ^
+^
+goto :comments^
+2+comment
+goto :fail
+:comments2
+rem >^
+if 1==1 (goto :comments3)
+:comments3)
+goto :fail
+:comments3
+rem comment^
+goto:fail
+rem.comment comment^
+goto fail
+rem "comment comment"^
+goto fail
+rem comment comment^
+if "1==1" equ "1==1" goto comments4
+goto fail
+:comments4
+rem comment"comment^
+set /a _passed+=1
+GOTO :EOF
+goto :fail
+
+:IO
+SET /A _tests+=1 & Echo Test !_tests:*!==^!: I/O
+verify on
+pushd .
+if exist temp echo temp already exists. & goto :eof
+md temp
+cd temp
+mkdir 2>nul temp
+chdir temp
+>cd echo Checking drive...
+>>cd echo must be C or else this won't work
+for /f "tokens=* usebackq" %%G in ("cd
+) do (<nul set /p="%%G ")
+echo(
+DEL cd
+if not "%cd:~0,3%"=="C:\" (
+ call call echo Wrong drive (should be C^):
+ vol
+ goto :test)
+>test0^
+.bat echo rem Machine-generated; do not edit
+call echo set /a _passed+=1 >>test0.bat
+type test0.bat >"test 1.bat
+ren "test 1.bat" test2.bat
+rename test2.bat test.bat
+caLL ^
+C:test
+del test.bat 2>nul
+2>NUL erase test0.bat
+popd
+rd temp\temp
+rmdir temp
+VERIFY OFF
+goto:eof
+
+:control
+set /a _tests+=1
+echo Test %_tests%: Control statements
+set "_iterations=0">nul
+for %%G in (,+,,-,
+) do @(
+ for /l %%H in (,-1;;-1 -3,) do (
+ for /f tokens^=1-2^,5 %%I in ("2 %%H _ _ 10") do (
+ for /f "tokens=1 usebackq" %%L in ( `echo %%G%%J ``` `
+` ` ) do ( for /f "tokens=2" %%M in ('echo ' %%L0 '
+' ' ) do ( set /a _iterations+=(%%M%%M^)
+ )
+ )
+ )
+ )
+)
+if exist %~nx0 if not exist %~nx0 goto :fail
+if exist %~nx0 (
+ if not exist %~nx0 goto :fail
+) else (
+ if exist %~nx0 goto :fail
+)
+if /i %_iterations% gtr -2 (
+ if /i %_iterations% geq -1 (
+ if /i %_iterations% lss 1 (
+ if /i %_iterations% leq 0 (
+ if /i %_iterations% equ 0 (
+ if 1 equ 01 (
+ if 1 neq "01" (
+ if "1" neq 01 (
+ set /a _passed+=1))))))))
+) comment
+goto :eof
+
+:internal
+set /a _tests+=1
+echo Test %_tests%: Internal commands
+keys on
+mklink 2>nul
+>nul path %path%
+>nul dpath %dpath%
+if not defined prompt prompt $P$G
+prompt !prompt:~!rem/ $H?
+echo on
+rem/?
+@echo off
+rem(/?>nul
+rem )/? >nul
+(rem (/?) >nul
+rem /?>nul
+rem^/?>nul
+if/?>nul || if^/^?>nul || if /?>nul || if x/? >nul
+for/?>nul && for^/^?>nul && for /?>nul && for x/? >nul && for /?x >nul
+goto/?>nul && goto^/? && goto^ /? && goto /^
+? && goto /?>nul && goto:/? >nul && goto ) /? ) >nul && (goto /? )>nul
+=set+;/p extension'),=.bat
+for /f "tokens=2 delims==" %%G in ( 'assoc %+;/p extension'),%'
+ ) do (
+ assoc 2>nul %+;/p extension'),:*.=.%=%%G
+ ftype 1>nul %%G
+) &>nul ver
+if errorlevel 0 if not errorlevel 1 set /a _passed+=1
+goto :eof
+FOR /F %%a IN ('%%c%%') DO %%a
+rem %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x%
+:/?
+goto :fail
+
+---tokens---
+'@' Punctuation
+' ' Text
+'@@' Punctuation
+' ' Text
+'echo' Keyword
+' ' Text
+'off' Text
+'' Text
+'\n' Text
+
+'' Text
+':' Punctuation
+':This is an example of the Windows batch language.' Comment.Single
+'' Text
+'\n\n' Text
+
+'setlocal' Keyword
+' ' Text
+'EnableDelayedExpansion' Text
+'' Text
+'\n' Text
+
+'(' Punctuation
+'cls' Keyword
+'' Text
+')' Punctuation
+'\n' Text
+
+'set' Keyword
+'/a' Keyword
+'^\n_' Literal.String.Escape
+'te' Name.Variable
+'^\ns' Literal.String.Escape
+'ts' Name.Variable
+'^\n=' Literal.String.Escape
+'0' Name.Variable
+',' Punctuation
+'^\n_' Literal.String.Escape
+'"' Literal.String.Double
+'pa' Literal.String.Double
+'"' Literal.String.Double
+'^\ns' Literal.String.Escape
+'sed' Name.Variable
+'=' Operator
+'0' Literal.Number.Integer
+'^\n0' Literal.String.Escape
+'' Text
+'\n' Text
+
+'set' Keyword
+',/a title' Name.Variable
+'=' Punctuation
+' ' Text
+'Batch' Text
+' ' Text
+'test' Text
+'' Text
+'\n' Text
+
+'title' Keyword
+'=' Text
+'%,/a title%' Name.Variable
+'' Text
+'\n' Text
+
+'echo' Keyword
+'^ ' Literal.String.Escape
+'%~nx0' Name.Variable
+',' Text
+'^ ' Literal.String.Escape
+'the' Text
+'>' Punctuation
+',' Text
+'con' Text
+' ' Text
+'comprehensive' Text
+' ' Text
+'testing' Text
+' ' Text
+'suite' Text
+'' Text
+'\n' Text
+
+'ver' Keyword
+'' Text
+'\n' Text
+
+'echo' Keyword
+'(' Text
+'' Text
+'\n\n' Text
+
+'if' Keyword
+' ' Text
+'cmdextversion' Keyword
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'goto' Keyword
+' ' Text
+'=' Text
+')' Name.Label
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n\n' Text
+
+'' Text
+' ' Text
+':' Punctuation
+')' Name.Label
+'' Text
+'\n' Text
+
+'echo' Keyword
+' ' Text
+'Starting' Text
+' ' Text
+'tests' Text
+' ' Text
+'at:' Text
+'' Text
+'\n' Text
+
+'date' Keyword
+'/t' Text
+' ' Text
+'&' Punctuation
+' ' Text
+'time' Keyword
+'/t' Text
+'' Text
+'\n' Text
+
+'echo' Keyword
+'(' Text
+'' Text
+'\n\n' Text
+
+'if' Keyword
+' ' Text
+"'" Text
+'%*' Name.Variable
+"'" Text
+'==' Operator
+"'--help'" Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'echo' Keyword
+' ' Text
+'Usage:' Text
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'[--help]' Text
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'echo' Keyword
+' ' Text
+' ' Text
+' ' Text
+'--help:' Text
+' ' Text
+'Display' Text
+' ' Text
+'this' Text
+' ' Text
+'help' Text
+' ' Text
+'message' Text
+' ' Text
+'and' Text
+' ' Text
+'quit.' Text
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'shift' Keyword
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'exit' Name.Label
+' comment' Comment.Single
+')' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'rem' Comment.Single
+'' Text
+'\n\n' Text
+
+'(' Punctuation
+'call' Keyword
+' ' Text
+':' Punctuation
+'comments' Name.Label
+')' Punctuation
+'\n' Text
+
+'call' Keyword
+' ' Text
+':' Punctuation
+':' Punctuation
+'io' Name.Label
+'+x' Text
+'' Text
+'\n' Text
+
+'call' Keyword
+':' Punctuation
+'control' Name.Label
+':x' Text
+'' Text
+'\n' Text
+
+'call' Keyword
+':' Punctuation
+':' Punctuation
+'internal' Name.Label
+' ' Text
+'x' Text
+'' Text
+'\n\n' Text
+
+'' Text
+':' Punctuation
+'exit' Name.Label
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'!_tests!' Name.Variable
+'==' Operator
+'!_passed!' Name.Variable
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'color' Keyword
+' ' Text
+'0' Text
+'2' Text
+'' Text
+'\n' Text
+
+')' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+' ' Text
+'!*' Text
+'==' Operator
+'*' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'color' Keyword
+' ' Text
+'c' Text
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'defined' Keyword
+' ' Text
+'_exit' Name.Variable
+'^\nC' Literal.String.Escape
+'ode' Name.Variable
+' ' Text
+'set' Keyword
+' ' Text
+'_exit' Name.Variable
+'^\nC' Literal.String.Escape
+'ode' Name.Variable
+'=' Punctuation
+'1' Text
+'' Text
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+'set' Keyword
+' ' Text
+'_percentage' Name.Variable
+'=' Punctuation
+'NaN' Text
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'defined' Keyword
+' ' Text
+'_tests' Name.Variable
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'!_tests!' Name.Variable
+' ' Text
+'neq' Operator.Word
+' ' Text
+'0' Text
+' ' Text
+'(' Punctuation
+'set' Keyword
+'/a' Keyword
+'_percentage' Name.Variable
+'=' Operator
+'100' Literal.Number.Integer
+'*' Operator
+'_passed' Name.Variable
+'/' Operator
+'_tests' Name.Variable
+'' Text
+')' Punctuation
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+'echo' Keyword
+'(' Text
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'!_percentage!' Name.Variable
+'==' Operator
+'NaN' Text
+' ' Text
+'(' Punctuation
+' ' Text
+'echo' Keyword
+'(There' Text
+' ' Text
+'were' Text
+' ' Text
+'no' Text
+' ' Text
+'tests' Text
+'^^!' Literal.String.Escape
+' ' Text
+'&' Punctuation
+' ' Text
+'color' Keyword
+' ' Text
+'e' Text
+'' Text
+'\n' Text
+
+')' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+'echo' Keyword
+' ' Text
+'Tests' Text
+' ' Text
+'passed:' Text
+' ' Text
+'%_passed%' Name.Variable
+'/' Text
+'%_tests%' Name.Variable
+' ' Text
+'(' Text
+'%_percentage%' Name.Variable
+'%%' Literal.String.Escape
+'^)' Literal.String.Escape
+' ' Text
+'' Text
+')' Punctuation
+'\n' Text
+
+'pause' Keyword
+'' Text
+'\n' Text
+
+'color' Keyword
+'' Text
+'\n' Text
+
+'title' Keyword
+'' Text
+'\n' Text
+
+'endlocal' Keyword
+'' Text
+'\n' Text
+
+'exit' Keyword
+' ' Text
+'/b' Text
+' ' Text
+'%_exitCode%' Name.Variable
+'' Text
+'\n\n' Text
+
+'' Text
+'x' Text
+':' Punctuation
+'fail' Name.Label
+'' Text
+'\n' Text
+
+'rem This should never happen.' Comment.Single
+'' Text
+'\n' Text
+
+'echo' Keyword
+' ' Text
+'Internal' Text
+' ' Text
+'error' Text
+' ' Text
+'1' Literal.Number.Integer
+'>&' Punctuation
+' ' Text
+'2' Literal.Number.Integer
+'6' Text
+'9' Text
+'1' Text
+'0' Text
+'5' Text
+'>>&' Punctuation
+'2' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_exitCode' Name.Variable
+'=' Operator
+'0x69' Literal.Number.Hex
+'+' Operator
+'(' Punctuation
+'0105' Literal.Number.Oct
+'*' Operator
+'1000' Literal.Number.Integer
+')' Punctuation
+'' Text
+'\n' Text
+
+'break' Keyword
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'exit' Name.Label
+'\n\n' Text
+
+'' Text
+':' Punctuation
+'comments' Name.Label
+'' Text
+'\n' Text
+
+'(' Punctuation
+'rem )/?' Comment.Single
+'' Text
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+'rem "comment^' Comment.Single
+'' Text
+'\n' Text
+
+'(' Punctuation
+'rem.' Comment.Single
+'' Text
+')' Punctuation
+' ' Text
+'&' Punctuation
+' ' Text
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_tests' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'(' Punctuation
+'rem) & goto :fail' Comment.Single
+'' Text
+'\n' Text
+
+'(' Punctuation
+'rem. ' Comment.Single
+'' Text
+')' Punctuation
+' ' Text
+'&' Punctuation
+' ' Text
+'(' Punctuation
+'rem. comment ' Comment.Single
+'' Text
+')' Punctuation
+' ' Text
+'&' Punctuation
+' ' Text
+'echo' Keyword
+' ' Text
+'Test' Text
+' ' Text
+'%_tests%' Name.Variable
+':' Text
+' ' Text
+'Comments' Text
+'' Text
+'\n' Text
+
+'rem )' Comment.Single
+'' Text
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+')|comment' Comment.Single
+'\n' Text
+
+')(' Comment.Single
+'\n' Text
+
+'' Text
+':' Punctuation
+': comment' Comment.Single
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'comments^^1' Name.Label
+':comment' Comment.Single
+'\n' Text
+
+'' Text
+':' Punctuation
+'comments^^1' Name.Label
+' comment' Comment.Single
+'' Text
+'\n' Text
+
+'if' Keyword
+'(' Text
+'1' Text
+'==' Operator
+'1' Text
+')' Text
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'comments^\n^1' Name.Label
+'\n' Text
+
+'rem^ /?' Comment.Single
+'' Text
+'\n' Text
+
+'rem ^\n^' Comment.Single
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'comments^\n2' Name.Label
+'+comment' Comment.Single
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text
+
+'' Text
+':' Punctuation
+'comments2' Name.Label
+'' Text
+'\n' Text
+
+'rem >^' Comment.Single
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'1' Text
+'==' Operator
+'1' Text
+' ' Text
+'(' Punctuation
+'goto' Keyword
+' ' Text
+':' Punctuation
+'comments3' Name.Label
+')' Punctuation
+'\n' Text
+
+'' Text
+':' Punctuation
+'comments3)' Name.Label
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text
+
+'' Text
+':' Punctuation
+'comments3' Name.Label
+'' Text
+'\n' Text
+
+'rem comment^\ngoto:fail' Comment.Single
+'' Text
+'\n' Text
+
+'rem.comment comment^\ngoto fail' Comment.Single
+'' Text
+'\n' Text
+
+'rem "comment comment"^\ngoto fail' Comment.Single
+'' Text
+'\n' Text
+
+'rem comment comment^' Comment.Single
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'"' Literal.String.Double
+'1==1' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'equ' Operator.Word
+' ' Text
+'"' Literal.String.Double
+'1==1' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'goto' Keyword
+' ' Text
+'comments4' Name.Label
+'\n' Text
+
+'goto' Keyword
+' ' Text
+'fail' Name.Label
+'\n' Text
+
+'' Text
+':' Punctuation
+'comments4' Name.Label
+'' Text
+'\n' Text
+
+'rem comment"comment^' Comment.Single
+'' Text
+'\n' Text
+
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_passed' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'GOTO' Keyword
+' ' Text
+':' Punctuation
+'EOF' Name.Label
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n\n' Text
+
+'' Text
+':' Punctuation
+'IO' Name.Label
+'' Text
+'\n' Text
+
+'SET' Keyword
+' ' Text
+'/A' Keyword
+' ' Text
+'_tests' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+' ' Text
+'' Text
+'&' Punctuation
+' ' Text
+'Echo' Keyword
+' ' Text
+'Test' Text
+' ' Text
+'!_tests:*!==^!' Name.Variable
+':' Text
+' ' Text
+'I/O' Text
+'' Text
+'\n' Text
+
+'verify' Keyword
+' ' Text
+'on' Text
+'' Text
+'\n' Text
+
+'pushd' Keyword
+' ' Text
+'.' Text
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'temp' Text
+' ' Text
+'echo' Keyword
+' ' Text
+' ' Text
+'temp' Text
+' ' Text
+'already' Text
+' ' Text
+'exists.' Text
+' ' Text
+'&' Punctuation
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'eof' Name.Label
+'\n' Text
+
+'md' Keyword
+' ' Text
+'temp' Text
+'' Text
+'\n' Text
+
+'cd' Keyword
+' ' Text
+'temp' Text
+'' Text
+'\n' Text
+
+'mkdir' Keyword
+' ' Text
+'2' Literal.Number.Integer
+'>' Punctuation
+'nul' Text
+' ' Text
+'temp' Text
+'' Text
+'\n' Text
+
+'chdir' Keyword
+' ' Text
+'temp' Text
+'' Text
+'\n' Text
+
+'>' Punctuation
+'cd' Text
+' ' Text
+' ' Text
+'echo' Keyword
+' ' Text
+'Checking' Text
+' ' Text
+'drive...' Text
+'' Text
+'\n' Text
+
+'>>' Punctuation
+'cd' Text
+' ' Text
+'echo' Keyword
+' ' Text
+'must' Text
+' ' Text
+'be' Text
+' ' Text
+'C' Text
+' ' Text
+'or' Text
+' ' Text
+'else' Text
+' ' Text
+'this' Text
+' ' Text
+"won't" Text
+' ' Text
+'work' Text
+'' Text
+'\n' Text
+
+'for' Keyword
+' ' Text
+'/f' Keyword
+' ' Text
+'"' Literal.String.Double
+'tokens=* usebackq' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'%%' Literal.String.Escape
+'G' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+'"' Literal.String.Double
+'cd' Literal.String.Double
+'\n' Text
+
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+'<' Punctuation
+'nul' Text
+' ' Text
+'set' Keyword
+' ' Text
+'/p' Keyword
+'=' Punctuation
+'"' Literal.String.Double
+'%%' Literal.String.Escape
+'G ' Literal.String.Double
+'"' Literal.String.Double
+'' Text
+')' Punctuation
+'\n' Text
+
+'echo' Keyword
+'(' Text
+'' Text
+'\n' Text
+
+'DEL' Keyword
+' ' Text
+'cd' Text
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'"' Literal.String.Double
+'%cd:~0,3%' Name.Variable
+'"' Literal.String.Double
+'==' Operator
+'"' Literal.String.Double
+'C:\\' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'call' Keyword
+' ' Text
+'call' Keyword
+' ' Text
+'echo' Keyword
+' ' Text
+' ' Text
+'Wrong' Text
+' ' Text
+'drive' Text
+' ' Text
+'(should' Text
+' ' Text
+'be' Text
+' ' Text
+'C' Text
+'^)' Literal.String.Escape
+':' Text
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'vol' Keyword
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'test' Name.Label
+')' Punctuation
+'\n' Text
+
+'>' Punctuation
+'test' Text
+'0' Text
+'^\n.' Literal.String.Escape
+'bat' Text
+' ' Text
+'echo' Keyword
+' ' Text
+'rem' Text
+' ' Text
+'Machine-generated' Text
+';' Text
+' ' Text
+'do' Text
+' ' Text
+'not' Text
+' ' Text
+'edit' Text
+'' Text
+'\n' Text
+
+'call' Keyword
+' ' Text
+'echo' Keyword
+' ' Text
+'set' Text
+' ' Text
+'/a' Text
+' ' Text
+'_passed+' Text
+'=' Text
+'1' Text
+' ' Text
+'>>' Punctuation
+'test' Text
+'0' Text
+'.bat' Text
+'' Text
+'\n' Text
+
+'type' Keyword
+' ' Text
+'test' Text
+'0' Text
+'.bat' Text
+' ' Text
+'>' Punctuation
+'"' Literal.String.Double
+'test 1.bat' Literal.String.Double
+'' Text
+'\n' Text
+
+'ren' Keyword
+' ' Text
+'"' Literal.String.Double
+'test 1.bat' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'test' Text
+'2' Text
+'.bat' Text
+'' Text
+'\n' Text
+
+'rename' Keyword
+' ' Text
+'test' Text
+'2' Text
+'.bat' Text
+' ' Text
+'test.bat' Text
+'' Text
+'\n' Text
+
+'caLL' Keyword
+' ' Text
+'^\nC' Literal.String.Escape
+':' Punctuation
+'test' Name.Label
+'' Text
+'\n' Text
+
+'del' Keyword
+' ' Text
+'test.bat' Text
+' ' Text
+'2' Literal.Number.Integer
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'2' Literal.Number.Integer
+'>' Punctuation
+'NUL' Text
+' ' Text
+'erase' Keyword
+' ' Text
+'test' Text
+'0' Text
+'.bat' Text
+'' Text
+'\n' Text
+
+'popd' Keyword
+'' Text
+'\n' Text
+
+'rd' Keyword
+' ' Text
+'temp\\temp' Text
+'' Text
+'\n' Text
+
+'rmdir' Keyword
+' ' Text
+'temp' Text
+'' Text
+'\n' Text
+
+'VERIFY' Keyword
+' ' Text
+'OFF' Text
+'' Text
+'\n' Text
+
+'goto' Keyword
+':' Punctuation
+'eof' Name.Label
+'\n\n' Text
+
+'' Text
+':' Punctuation
+'control' Name.Label
+'' Text
+'\n' Text
+
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_tests' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'echo' Keyword
+' ' Text
+'Test' Text
+' ' Text
+'%_tests%' Name.Variable
+':' Text
+' ' Text
+'Control' Text
+' ' Text
+'statements' Text
+'' Text
+'\n' Text
+
+'set' Keyword
+' ' Text
+'"' Literal.String.Double
+'_iterations=0' Literal.String.Double
+'"' Literal.String.Double
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'for' Keyword
+' ' Text
+'%%' Literal.String.Escape
+'G' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+',' Text
+'+' Text
+',' Text
+',' Text
+'-' Text
+',' Text
+'\n' Text
+
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'@' Punctuation
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'for' Keyword
+' ' Text
+'/l' Keyword
+' ' Text
+'%%' Literal.String.Escape
+'H' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+',' Text
+'-1' Literal.Number.Integer
+';' Text
+';' Text
+'-1' Literal.Number.Integer
+'\t' Text
+'-3' Literal.Number.Integer
+',' Text
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'for' Keyword
+' ' Text
+'/f' Keyword
+' ' Text
+'tokens' Text
+'^=' Literal.String.Escape
+'1' Text
+'-' Text
+'2' Text
+'^,' Literal.String.Escape
+'5' Text
+' ' Text
+'%%' Literal.String.Escape
+'I' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+'"' Literal.String.Double
+'2 ' Literal.String.Double
+'%%' Literal.String.Escape
+'H _ _ 10' Literal.String.Double
+'"' Literal.String.Double
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'for' Keyword
+' ' Text
+'/f' Keyword
+' ' Text
+'"' Literal.String.Double
+'tokens=1 usebackq' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'%%' Literal.String.Escape
+'L' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+'`echo ' Literal.String.Backtick
+'%%' Literal.String.Escape
+'G' Literal.String.Backtick
+'%%' Literal.String.Escape
+'J ``` `\n` `' Literal.String.Backtick
+' ' Text
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+'for' Keyword
+' ' Text
+'/f' Keyword
+' ' Text
+'"' Literal.String.Double
+'tokens=2' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'%%' Literal.String.Escape
+'M' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+"'echo ' " Literal.String.Single
+'%%' Literal.String.Escape
+"L0 '\n' '" Literal.String.Single
+' ' Text
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_iterations' Name.Variable
+'+=' Operator
+'(' Punctuation
+'%%' Operator
+'M' Name.Variable
+'%%' Operator
+'M' Name.Variable
+'^)' Literal.String.Escape
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+')' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+')' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+')' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+')' Punctuation
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+'if' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text
+
+'if' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text
+
+')' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'exist' Keyword
+' ' Text
+'%~nx0' Name.Variable
+' ' Text
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text
+
+')' Punctuation
+'\n' Text
+
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'%_iterations%' Name.Variable
+' ' Text
+'gtr' Operator.Word
+' ' Text
+'-' Text
+'2' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'%_iterations%' Name.Variable
+' ' Text
+'geq' Operator.Word
+' ' Text
+'-' Text
+'1' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'%_iterations%' Name.Variable
+' ' Text
+'lss' Operator.Word
+' ' Text
+'1' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'%_iterations%' Name.Variable
+' ' Text
+'leq' Operator.Word
+' ' Text
+'0' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'/i' Keyword
+' ' Text
+'%_iterations%' Name.Variable
+' ' Text
+'equ' Operator.Word
+' ' Text
+'0' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'equ' Operator.Word
+' ' Text
+'01' Literal.Number.Oct
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'1' Text
+' ' Text
+'neq' Operator.Word
+' ' Text
+'"' Literal.String.Double
+'01' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'if' Keyword
+' ' Text
+'"' Literal.String.Double
+'1' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'neq' Operator.Word
+' ' Text
+'0' Text
+'1' Text
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_passed' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+')' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+') comment' Comment.Single
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'eof' Name.Label
+'\n\n' Text
+
+'' Text
+':' Punctuation
+'internal' Name.Label
+'' Text
+'\n' Text
+
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_tests' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'echo' Keyword
+' ' Text
+'Test' Text
+' ' Text
+'%_tests%' Name.Variable
+':' Text
+' ' Text
+'Internal' Text
+' ' Text
+'commands' Text
+'' Text
+'\n' Text
+
+'keys' Keyword
+' ' Text
+'on' Text
+'' Text
+'\n' Text
+
+'mklink' Keyword
+' ' Text
+'2' Literal.Number.Integer
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'>' Punctuation
+'nul' Text
+' ' Text
+'path' Keyword
+' ' Text
+'%path%' Name.Variable
+'' Text
+'\n' Text
+
+'>' Punctuation
+'nul' Text
+' ' Text
+'dpath' Keyword
+' ' Text
+'%dpath%' Name.Variable
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'defined' Keyword
+' ' Text
+'prompt' Name.Variable
+' ' Text
+'prompt' Keyword
+' ' Text
+'$P$G' Text
+'' Text
+'\n' Text
+
+'prompt' Keyword
+' ' Text
+'!prompt:~!' Name.Variable
+'rem/' Text
+' ' Text
+'$H?' Text
+'' Text
+'\n' Text
+
+'echo' Keyword
+' ' Text
+'on' Text
+'' Text
+'\n' Text
+
+'rem' Keyword
+'/?' Text
+'' Text
+'\n' Text
+
+'@' Punctuation
+'echo' Keyword
+' ' Text
+'off' Text
+'' Text
+'\n' Text
+
+'rem' Keyword
+'(/?' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'rem' Keyword
+' ' Text
+')' Text
+'/?' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'(' Punctuation
+'rem' Keyword
+' ' Text
+'(/?' Text
+'' Text
+')' Punctuation
+' ' Text
+'>' Punctuation
+'nul' Text
+'\n' Text
+
+'rem' Keyword
+' ' Text
+'/?' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'rem' Keyword
+'^/' Literal.String.Escape
+'?' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'if' Keyword
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'||' Punctuation
+' ' Text
+'if' Keyword
+'^/' Literal.String.Escape
+'^?' Literal.String.Escape
+'>' Punctuation
+'nul' Text
+' ' Text
+'||' Punctuation
+' ' Text
+'if' Keyword
+' ' Text
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'||' Punctuation
+' ' Text
+'if' Keyword
+' ' Text
+'x/?' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'for' Keyword
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'for' Keyword
+'^/' Literal.String.Escape
+'^?' Literal.String.Escape
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'for' Keyword
+' ' Text
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'for' Keyword
+' ' Text
+'x/?' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'for' Keyword
+' ' Text
+'/?' Text
+'x' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+'' Text
+'\n' Text
+
+'goto' Keyword
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+'^/' Literal.String.Escape
+'?' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+'^ ' Literal.String.Escape
+'/?' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+' ' Text
+'/' Text
+'^\n?' Literal.String.Escape
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+' ' Text
+'/?' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+':/?' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'goto' Keyword
+' ' Text
+')' Text
+' ' Text
+'/?' Text
+' ' Text
+')' Text
+' ' Text
+'>' Punctuation
+'nul' Text
+' ' Text
+'&&' Punctuation
+' ' Text
+'(' Punctuation
+'goto' Keyword
+' ' Text
+'/?' Text
+' ' Text
+'' Text
+')' Punctuation
+'>' Punctuation
+'nul' Text
+'\n' Text
+
+'=' Text
+'set' Keyword
+"+;/p extension')," Name.Variable
+'=' Punctuation
+'.bat' Text
+'' Text
+'\n' Text
+
+'for' Keyword
+' ' Text
+'/f' Keyword
+' ' Text
+'"' Literal.String.Double
+'tokens=2 delims==' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'%%' Literal.String.Escape
+'G' Text
+' ' Text
+'in' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+"'assoc " Literal.String.Single
+"%+;/p extension'),%" Name.Variable
+"'" Literal.String.Single
+'\n ' Text
+')' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'(' Punctuation
+'\n' Text
+
+' ' Text
+' ' Text
+'assoc' Keyword
+' ' Text
+'2' Literal.Number.Integer
+'>' Punctuation
+'nul' Text
+' ' Text
+"%+;/p extension'),:*.=.%" Name.Variable
+'=' Text
+'%%' Literal.String.Escape
+'G' Text
+'' Text
+'\n' Text
+
+' ' Text
+' ' Text
+'ftype' Keyword
+' ' Text
+'1' Literal.Number.Integer
+'>' Punctuation
+'nul' Text
+' ' Text
+'%%' Literal.String.Escape
+'G' Text
+'' Text
+'\n' Text
+
+')' Punctuation
+' ' Text
+'&' Punctuation
+'>' Punctuation
+'nul' Text
+' ' Text
+'ver' Keyword
+'' Text
+'\n' Text
+
+'if' Keyword
+' ' Text
+'errorlevel' Keyword
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'if' Keyword
+' ' Text
+'not' Keyword
+' ' Text
+'errorlevel' Keyword
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'set' Keyword
+' ' Text
+'/a' Keyword
+' ' Text
+'_passed' Name.Variable
+'+=' Operator
+'1' Literal.Number.Integer
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'eof' Name.Label
+'\n' Text
+
+'FOR' Keyword
+' ' Text
+'/F' Keyword
+' ' Text
+'%%' Literal.String.Escape
+'a' Text
+' ' Text
+'IN' Keyword
+' ' Text
+'(' Punctuation
+"'" Literal.String.Single
+'%%' Literal.String.Escape
+'c' Literal.String.Single
+'%%' Literal.String.Escape
+"'" Literal.String.Single
+')' Punctuation
+' ' Text
+'DO' Keyword
+' ' Text
+'%%' Literal.String.Escape
+'a' Text
+'' Text
+'\n' Text
+
+'rem %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x% %x%' Comment.Single
+'' Text
+'\n' Text
+
+'' Text
+':' Punctuation
+'/?' Name.Label
+'' Text
+'\n' Text
+
+'goto' Keyword
+' ' Text
+':' Punctuation
+'fail' Name.Label
+'\n' Text