/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

  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!--
  4. 09-10-2003 - Mirco Bova
  5. Added some new batch commands using win2K help as reference.
  6. 04-12-2001 - Mirco Bova
  7. this file is based on the original JEdit batch.xml mode.
  8. The main upgrade consisting in adding the standard MS-DOS
  9. commands as keywords and functions:
  10. - keywords = internal shell commands;
  11. - functions = standard MS-DOS commands (.exe or .com in DOS or
  12. windows\command directory).
  13. Minor enhancements by Alex Jacoby on 28-feb-2003
  14. -->
  15. <!-- The keywords and functions here defined are those of MS-DOS 6.22,
  16. plus a few as of Windows XP.
  17. -->
  18. <MODE>
  19. <PROPS>
  20. <PROPERTY NAME="lineComment" VALUE="rem" />
  21. <PROPERTY NAME="indentOpenBrackets" VALUE="(" />
  22. <PROPERTY NAME="indentCloseBrackets" VALUE=")" />
  23. </PROPS>
  24. <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
  25. <!-- 'echo off' statements -->
  26. <SEQ TYPE="KEYWORD3">@</SEQ>
  27. <SEQ TYPE="OPERATOR">+</SEQ>
  28. <SEQ TYPE="OPERATOR">|</SEQ>
  29. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  30. <SEQ TYPE="OPERATOR">!</SEQ>
  31. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  32. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  33. <!-- labels - eg ":test" or "goto :test" -->
  34. <MARK_FOLLOWING AT_WORD_START="TRUE" TYPE="LABEL">:</MARK_FOLLOWING>
  35. <!-- comments -->
  36. <EOL_SPAN_REGEXP AT_WHITESPACE_END="TRUE" HASH_CHAR="REM" TYPE="COMMENT1">REM\s</EOL_SPAN_REGEXP>
  37. <!-- literals -->
  38. <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  39. <BEGIN>"</BEGIN>
  40. <END>"</END>
  41. </SPAN>
  42. <!-- variables -->
  43. <SEQ TYPE="KEYWORD2">%0</SEQ>
  44. <SEQ TYPE="KEYWORD2">%1</SEQ>
  45. <SEQ TYPE="KEYWORD2">%2</SEQ>
  46. <SEQ TYPE="KEYWORD2">%3</SEQ>
  47. <SEQ TYPE="KEYWORD2">%4</SEQ>
  48. <SEQ TYPE="KEYWORD2">%5</SEQ>
  49. <SEQ TYPE="KEYWORD2">%6</SEQ>
  50. <SEQ TYPE="KEYWORD2">%7</SEQ>
  51. <SEQ TYPE="KEYWORD2">%8</SEQ>
  52. <SEQ TYPE="KEYWORD2">%9</SEQ>
  53. <!-- for-loop variable (one char after %%) -->
  54. <SEQ_REGEXP TYPE="KEYWORD2"
  55. HASH_CHAR="%%"
  56. AT_WORD_START="TRUE"
  57. >%%[\p{Alpha}]</SEQ_REGEXP>
  58. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  59. <BEGIN>%</BEGIN>
  60. <END>%</END>
  61. </SPAN>
  62. <KEYWORDS>
  63. <!-- KEYWORD1 are internal MS-DOS shell commands -->
  64. <KEYWORD1>cd</KEYWORD1>
  65. <KEYWORD1>chdir</KEYWORD1>
  66. <KEYWORD1>md</KEYWORD1>
  67. <KEYWORD1>mkdir</KEYWORD1>
  68. <KEYWORD1>cls</KEYWORD1>
  69. <KEYWORD1>for</KEYWORD1>
  70. <KEYWORD1>if</KEYWORD1>
  71. <KEYWORD1>echo</KEYWORD1>
  72. <KEYWORD1>echo.</KEYWORD1>
  73. <KEYWORD1>move</KEYWORD1>
  74. <KEYWORD1>copy</KEYWORD1>
  75. <KEYWORD1>move</KEYWORD1>
  76. <KEYWORD1>ren</KEYWORD1>
  77. <KEYWORD1>del</KEYWORD1>
  78. <KEYWORD1>set</KEYWORD1>
  79. <!-- new KEYWORDS from Win2K help -->
  80. <KEYWORD1>call</KEYWORD1>
  81. <KEYWORD1>exit</KEYWORD1>
  82. <KEYWORD1>setlocal</KEYWORD1>
  83. <KEYWORD1>shift</KEYWORD1>
  84. <KEYWORD1>endlocal</KEYWORD1>
  85. <KEYWORD1>pause</KEYWORD1>
  86. <!-- KEYWORD2 are commands options -->
  87. <KEYWORD2>defined</KEYWORD2>
  88. <KEYWORD2>exist</KEYWORD2>
  89. <KEYWORD2>errorlevel</KEYWORD2>
  90. <!-- new KEYWORD options from Win2K help -->
  91. <KEYWORD2>else</KEYWORD2>
  92. <KEYWORD2>in</KEYWORD2>
  93. <KEYWORD2>do</KEYWORD2>
  94. <KEYWORD2>NUL</KEYWORD2>
  95. <KEYWORD2>AUX</KEYWORD2>
  96. <KEYWORD2>PRN</KEYWORD2>
  97. <KEYWORD1>not</KEYWORD1>
  98. <!-- goto is a special case we want to distinguish it -->
  99. <KEYWORD3>goto</KEYWORD3>
  100. <!-- FUNCTION are standard MS-DOS commands -->
  101. <!-- (those you find as stand-alone .exe or .com) in win95 %windows_root%\command folder -->
  102. <FUNCTION>APPEND</FUNCTION>
  103. <FUNCTION>ATTRIB</FUNCTION>
  104. <FUNCTION>CHKDSK</FUNCTION>
  105. <FUNCTION>CHOICE</FUNCTION>
  106. <FUNCTION>DEBUG</FUNCTION>
  107. <FUNCTION>DEFRAG</FUNCTION>
  108. <FUNCTION>DELTREE</FUNCTION>
  109. <FUNCTION>DISKCOMP</FUNCTION>
  110. <FUNCTION>DISKCOPY</FUNCTION>
  111. <FUNCTION>DOSKEY</FUNCTION>
  112. <FUNCTION>DRVSPACE</FUNCTION>
  113. <FUNCTION>EMM386</FUNCTION>
  114. <FUNCTION>EXPAND</FUNCTION>
  115. <FUNCTION>FASTOPEN</FUNCTION>
  116. <FUNCTION>FC</FUNCTION>
  117. <FUNCTION>FDISK</FUNCTION>
  118. <FUNCTION>FIND</FUNCTION>
  119. <FUNCTION>FORMAT</FUNCTION>
  120. <FUNCTION>GRAPHICS</FUNCTION>
  121. <FUNCTION>KEYB</FUNCTION>
  122. <FUNCTION>LABEL</FUNCTION>
  123. <FUNCTION>LOADFIX</FUNCTION>
  124. <FUNCTION>MEM</FUNCTION>
  125. <FUNCTION>MODE</FUNCTION>
  126. <FUNCTION>MORE</FUNCTION>
  127. <FUNCTION>MOVE</FUNCTION>
  128. <FUNCTION>MSCDEX</FUNCTION>
  129. <FUNCTION>NLSFUNC</FUNCTION>
  130. <FUNCTION>POWER</FUNCTION>
  131. <FUNCTION>PRINT</FUNCTION>
  132. <FUNCTION>RD</FUNCTION>
  133. <FUNCTION>REPLACE</FUNCTION>
  134. <FUNCTION>RESTORE</FUNCTION>
  135. <FUNCTION>SETVER</FUNCTION>
  136. <FUNCTION>SHARE</FUNCTION>
  137. <FUNCTION>SORT</FUNCTION>
  138. <FUNCTION>SUBST</FUNCTION>
  139. <FUNCTION>SYS</FUNCTION>
  140. <FUNCTION>TREE</FUNCTION>
  141. <FUNCTION>UNDELETE</FUNCTION>
  142. <FUNCTION>UNFORMAT</FUNCTION>
  143. <FUNCTION>VSAFE</FUNCTION>
  144. <FUNCTION>XCOPY</FUNCTION>
  145. </KEYWORDS>
  146. </RULES>
  147. </MODE>