/jEdit/branches/4.3.x-merge-request-2980833/modes/batch.xml
# · XML · 172 lines · 119 code · 23 blank · 30 comment · 0 complexity · 457f5a45e013ec1aeb939dabb3ee06cd MD5 · raw file
- <?xml version="1.0"?>
- <!DOCTYPE MODE SYSTEM "xmode.dtd">
- <!--
- 09-10-2003 - Mirco Bova
- Added some new batch commands using win2K help as reference.
- 04-12-2001 - Mirco Bova
- this file is based on the original JEdit batch.xml mode.
- The main upgrade consisting in adding the standard MS-DOS
- commands as keywords and functions:
- - keywords = internal shell commands;
- - functions = standard MS-DOS commands (.exe or .com in DOS or
- windows\command directory).
- Minor enhancements by Alex Jacoby on 28-feb-2003
- -->
- <!-- The keywords and functions here defined are those of MS-DOS 6.22,
- plus a few as of Windows XP.
- -->
- <MODE>
- <PROPS>
- <PROPERTY NAME="lineComment" VALUE="rem" />
- <PROPERTY NAME="indentOpenBrackets" VALUE="(" />
- <PROPERTY NAME="indentCloseBrackets" VALUE=")" />
- </PROPS>
- <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
- <!-- 'echo off' statements -->
- <SEQ TYPE="KEYWORD3">@</SEQ>
- <SEQ TYPE="OPERATOR">+</SEQ>
- <SEQ TYPE="OPERATOR">|</SEQ>
- <SEQ TYPE="OPERATOR">&</SEQ>
- <SEQ TYPE="OPERATOR">!</SEQ>
- <SEQ TYPE="OPERATOR">></SEQ>
- <SEQ TYPE="OPERATOR"><</SEQ>
- <!-- labels - eg ":test" or "goto :test" -->
- <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="LABEL">:</MARK_FOLLOWING>
- <!-- comments -->
- <EOL_SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="REM" TYPE="COMMENT1">REM\s</EOL_SPAN_REGEXP>
- <!-- literals -->
- <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
- <BEGIN>"</BEGIN>
- <END>"</END>
- </SPAN>
- <!-- variables -->
- <SEQ TYPE="KEYWORD2">%0</SEQ>
- <SEQ TYPE="KEYWORD2">%1</SEQ>
- <SEQ TYPE="KEYWORD2">%2</SEQ>
- <SEQ TYPE="KEYWORD2">%3</SEQ>
- <SEQ TYPE="KEYWORD2">%4</SEQ>
- <SEQ TYPE="KEYWORD2">%5</SEQ>
- <SEQ TYPE="KEYWORD2">%6</SEQ>
- <SEQ TYPE="KEYWORD2">%7</SEQ>
- <SEQ TYPE="KEYWORD2">%8</SEQ>
- <SEQ TYPE="KEYWORD2">%9</SEQ>
- <!-- for-loop variable (one char after %%) -->
- <SEQ_REGEXP TYPE="KEYWORD2"
- HASH_CHAR="%%"
- AT_WORD_START="TRUE"
- >%%[\p{Alpha}]</SEQ_REGEXP>
- <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
- <BEGIN>%</BEGIN>
- <END>%</END>
- </SPAN>
- <KEYWORDS>
- <!-- KEYWORD1 are internal MS-DOS shell commands -->
- <KEYWORD1>cd</KEYWORD1>
- <KEYWORD1>chdir</KEYWORD1>
- <KEYWORD1>md</KEYWORD1>
- <KEYWORD1>mkdir</KEYWORD1>
- <KEYWORD1>cls</KEYWORD1>
- <KEYWORD1>for</KEYWORD1>
- <KEYWORD1>if</KEYWORD1>
- <KEYWORD1>echo</KEYWORD1>
- <KEYWORD1>echo.</KEYWORD1>
- <KEYWORD1>move</KEYWORD1>
- <KEYWORD1>copy</KEYWORD1>
- <KEYWORD1>move</KEYWORD1>
- <KEYWORD1>ren</KEYWORD1>
- <KEYWORD1>del</KEYWORD1>
- <KEYWORD1>set</KEYWORD1>
- <!-- new KEYWORDS from Win2K help -->
- <KEYWORD1>call</KEYWORD1>
- <KEYWORD1>exit</KEYWORD1>
- <KEYWORD1>setlocal</KEYWORD1>
- <KEYWORD1>shift</KEYWORD1>
- <KEYWORD1>endlocal</KEYWORD1>
- <KEYWORD1>pause</KEYWORD1>
- <!-- KEYWORD2 are commands options -->
- <KEYWORD2>defined</KEYWORD2>
- <KEYWORD2>exist</KEYWORD2>
- <KEYWORD2>errorlevel</KEYWORD2>
- <!-- new KEYWORD options from Win2K help -->
- <KEYWORD2>else</KEYWORD2>
- <KEYWORD2>in</KEYWORD2>
- <KEYWORD2>do</KEYWORD2>
- <KEYWORD2>NUL</KEYWORD2>
- <KEYWORD2>AUX</KEYWORD2>
- <KEYWORD2>PRN</KEYWORD2>
- <KEYWORD1>not</KEYWORD1>
- <!-- goto is a special case we want to distinguish it -->
- <KEYWORD3>goto</KEYWORD3>
- <!-- FUNCTION are standard MS-DOS commands -->
- <!-- (those you find as stand-alone .exe or .com) in win95 %windows_root%\command folder -->
- <FUNCTION>APPEND</FUNCTION>
- <FUNCTION>ATTRIB</FUNCTION>
- <FUNCTION>CHKDSK</FUNCTION>
- <FUNCTION>CHOICE</FUNCTION>
- <FUNCTION>DEBUG</FUNCTION>
- <FUNCTION>DEFRAG</FUNCTION>
- <FUNCTION>DELTREE</FUNCTION>
- <FUNCTION>DISKCOMP</FUNCTION>
- <FUNCTION>DISKCOPY</FUNCTION>
- <FUNCTION>DOSKEY</FUNCTION>
- <FUNCTION>DRVSPACE</FUNCTION>
- <FUNCTION>EMM386</FUNCTION>
- <FUNCTION>EXPAND</FUNCTION>
- <FUNCTION>FASTOPEN</FUNCTION>
- <FUNCTION>FC</FUNCTION>
- <FUNCTION>FDISK</FUNCTION>
- <FUNCTION>FIND</FUNCTION>
- <FUNCTION>FORMAT</FUNCTION>
- <FUNCTION>GRAPHICS</FUNCTION>
- <FUNCTION>KEYB</FUNCTION>
- <FUNCTION>LABEL</FUNCTION>
- <FUNCTION>LOADFIX</FUNCTION>
- <FUNCTION>MEM</FUNCTION>
- <FUNCTION>MODE</FUNCTION>
- <FUNCTION>MORE</FUNCTION>
- <FUNCTION>MOVE</FUNCTION>
- <FUNCTION>MSCDEX</FUNCTION>
- <FUNCTION>NLSFUNC</FUNCTION>
- <FUNCTION>POWER</FUNCTION>
- <FUNCTION>PRINT</FUNCTION>
- <FUNCTION>RD</FUNCTION>
- <FUNCTION>REPLACE</FUNCTION>
- <FUNCTION>RESTORE</FUNCTION>
- <FUNCTION>SETVER</FUNCTION>
- <FUNCTION>SHARE</FUNCTION>
- <FUNCTION>SORT</FUNCTION>
- <FUNCTION>SUBST</FUNCTION>
- <FUNCTION>SYS</FUNCTION>
- <FUNCTION>TREE</FUNCTION>
- <FUNCTION>UNDELETE</FUNCTION>
- <FUNCTION>UNFORMAT</FUNCTION>
- <FUNCTION>VSAFE</FUNCTION>
- <FUNCTION>XCOPY</FUNCTION>
- </KEYWORDS>
- </RULES>
- </MODE>