PageRenderTime 43ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre4/modes/shellscript.xml

#
XML | 163 lines | 158 code | 4 blank | 1 comment | 0 complexity | 0ade8137f048dd8978852ec00aa3c179 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <MODE>
  4. <PROPS>
  5. <PROPERTY NAME="lineComment" VALUE="#" />
  6. <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
  7. <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
  8. <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
  9. </PROPS>
  10. <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
  11. <!-- Comments -->
  12. <EOL_SPAN TYPE="COMMENT2">#!</EOL_SPAN>
  13. <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
  14. <!-- Variables -->
  15. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  16. <BEGIN>${</BEGIN>
  17. <END>}</END>
  18. </SPAN>
  19. <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>
  20. <MARK_FOLLOWING TYPE="KEYWORD2">$?</MARK_FOLLOWING>
  21. <MARK_FOLLOWING TYPE="KEYWORD2">$*</MARK_FOLLOWING>
  22. <MARK_FOLLOWING TYPE="KEYWORD2">$@</MARK_FOLLOWING>
  23. <MARK_FOLLOWING TYPE="KEYWORD2">$$</MARK_FOLLOWING>
  24. <MARK_FOLLOWING TYPE="KEYWORD2">$&lt;</MARK_FOLLOWING>
  25. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  26. <MARK_PREVIOUS TYPE="KEYWORD2" EXCLUDE_MATCH="TRUE">=</MARK_PREVIOUS>
  27. <!-- weird stuff -->
  28. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  29. <BEGIN>$((</BEGIN>
  30. <END>))</END>
  31. </SPAN>
  32. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  33. <BEGIN>$(</BEGIN>
  34. <END>)</END>
  35. </SPAN>
  36. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  37. <BEGIN>$[</BEGIN>
  38. <END>]</END>
  39. </SPAN>
  40. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  41. <BEGIN>`</BEGIN>
  42. <END>`</END>
  43. </SPAN>
  44. <!-- Literals -->
  45. <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">
  46. <BEGIN>"</BEGIN>
  47. <END>"</END>
  48. </SPAN>
  49. <SPAN TYPE="LITERAL1">
  50. <BEGIN>'</BEGIN>
  51. <END>'</END>
  52. </SPAN>
  53. <!-- Readins -->
  54. <SPAN_REGEXP HASH_CHAR="<" TYPE="LITERAL1" DELEGATE="LITERAL">
  55. <BEGIN><![CDATA[<<[[:space:]'"]*([[:alnum:]_]+)[[:space:]'"]*]]></BEGIN>
  56. <END>$1</END>
  57. </SPAN_REGEXP>
  58. <!-- Operators -->
  59. <SEQ TYPE="OPERATOR">|</SEQ>
  60. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  61. <SEQ TYPE="OPERATOR">!</SEQ>
  62. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  63. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  64. <!-- %jobnumber -->
  65. <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>
  66. <!-- functions -->
  67. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  68. <KEYWORDS>
  69. <KEYWORD1>if</KEYWORD1>
  70. <KEYWORD1>then</KEYWORD1>
  71. <KEYWORD1>elif</KEYWORD1>
  72. <KEYWORD1>else</KEYWORD1>
  73. <KEYWORD1>fi</KEYWORD1>
  74. <KEYWORD1>case</KEYWORD1>
  75. <KEYWORD1>in</KEYWORD1>
  76. <OPERATOR>;;</OPERATOR>
  77. <KEYWORD1>esac</KEYWORD1>
  78. <KEYWORD1>while</KEYWORD1>
  79. <KEYWORD1>for</KEYWORD1>
  80. <KEYWORD1>do</KEYWORD1>
  81. <KEYWORD1>done</KEYWORD1>
  82. <KEYWORD1>continue</KEYWORD1>
  83. <KEYWORD1>local</KEYWORD1>
  84. <KEYWORD1>return</KEYWORD1>
  85. </KEYWORDS>
  86. <!-- some of these should be marked OPERATOR -->
  87. <!-- <SEQ TYPE="NULL">)</SEQ>
  88. <SEQ TYPE="NULL">(</SEQ>
  89. <SEQ TYPE="NULL">=</SEQ>
  90. <SEQ TYPE="NULL">!</SEQ>
  91. <SEQ TYPE="NULL">&gt;=</SEQ>
  92. <SEQ TYPE="NULL">&lt;=</SEQ>
  93. <SEQ TYPE="NULL">+</SEQ>
  94. <SEQ TYPE="NULL">-</SEQ>
  95. <SEQ TYPE="NULL">/</SEQ>
  96. <SEQ TYPE="NULL">*</SEQ>
  97. <SEQ TYPE="NULL">^</SEQ>
  98. <SEQ TYPE="NULL">~</SEQ>
  99. <SEQ TYPE="NULL">}</SEQ>
  100. <SEQ TYPE="NULL">{</SEQ>
  101. SEQ TYPE="NULL">.</SEQ
  102. <SEQ TYPE="NULL">,</SEQ>
  103. <SEQ TYPE="NULL">;</SEQ>
  104. <SEQ TYPE="NULL">]</SEQ>
  105. <SEQ TYPE="NULL">[</SEQ>
  106. <SEQ TYPE="NULL">?</SEQ>
  107. <SEQ TYPE="NULL">:</SEQ> -->
  108. </RULES>
  109. <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">
  110. <!-- Variables -->
  111. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  112. <BEGIN>${</BEGIN>
  113. <END>}</END>
  114. </SPAN>
  115. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  116. </RULES>
  117. <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">
  118. <!-- Variables -->
  119. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  120. <BEGIN>${</BEGIN>
  121. <END>}</END>
  122. </SPAN>
  123. <SPAN TYPE="KEYWORD3">
  124. <BEGIN>$((</BEGIN>
  125. <END>))</END>
  126. </SPAN>
  127. <SPAN TYPE="KEYWORD3">
  128. <BEGIN>$(</BEGIN>
  129. <END>)</END>
  130. </SPAN>
  131. <SPAN TYPE="KEYWORD3">
  132. <BEGIN>$[</BEGIN>
  133. <END>]</END>
  134. </SPAN>
  135. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  136. <SEQ TYPE="OPERATOR">|</SEQ>
  137. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  138. <SEQ TYPE="OPERATOR">!</SEQ>
  139. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  140. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  141. </RULES>
  142. </MODE>