PageRenderTime 44ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/modes/shellscript.xml

#
XML | 162 lines | 157 code | 4 blank | 1 comment | 0 complexity | cdd89560a5792b00df5fe3d12fdf1944 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. </PROPS>
  9. <RULES ESCAPE="\" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
  10. <!-- Comments -->
  11. <EOL_SPAN TYPE="COMMENT2">#!</EOL_SPAN>
  12. <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
  13. <!-- Variables -->
  14. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  15. <BEGIN>${</BEGIN>
  16. <END>}</END>
  17. </SPAN>
  18. <MARK_FOLLOWING TYPE="KEYWORD2">$#</MARK_FOLLOWING>
  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">$&lt;</MARK_FOLLOWING>
  24. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  25. <MARK_PREVIOUS TYPE="KEYWORD2" EXCLUDE_MATCH="TRUE">=</MARK_PREVIOUS>
  26. <!-- weird stuff -->
  27. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  28. <BEGIN>$((</BEGIN>
  29. <END>))</END>
  30. </SPAN>
  31. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  32. <BEGIN>$(</BEGIN>
  33. <END>)</END>
  34. </SPAN>
  35. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  36. <BEGIN>$[</BEGIN>
  37. <END>]</END>
  38. </SPAN>
  39. <SPAN TYPE="KEYWORD3" DELEGATE="EXEC">
  40. <BEGIN>`</BEGIN>
  41. <END>`</END>
  42. </SPAN>
  43. <!-- Literals -->
  44. <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">
  45. <BEGIN>"</BEGIN>
  46. <END>"</END>
  47. </SPAN>
  48. <SPAN TYPE="LITERAL1">
  49. <BEGIN>'</BEGIN>
  50. <END>'</END>
  51. </SPAN>
  52. <!-- Readins -->
  53. <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">
  54. <BEGIN><![CDATA[<<[\p{Space}'"]*([\p{Alnum}_]+)[\p{Space}'"]*]]></BEGIN>
  55. <END>$1</END>
  56. </SPAN_REGEXP>
  57. <!-- Operators -->
  58. <SEQ TYPE="OPERATOR">|</SEQ>
  59. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  60. <SEQ TYPE="OPERATOR">!</SEQ>
  61. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  62. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  63. <!-- %jobnumber -->
  64. <MARK_FOLLOWING TYPE="KEYWORD2">%</MARK_FOLLOWING>
  65. <!-- functions -->
  66. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  67. <KEYWORDS>
  68. <KEYWORD1>if</KEYWORD1>
  69. <KEYWORD1>then</KEYWORD1>
  70. <KEYWORD1>elif</KEYWORD1>
  71. <KEYWORD1>else</KEYWORD1>
  72. <KEYWORD1>fi</KEYWORD1>
  73. <KEYWORD1>case</KEYWORD1>
  74. <KEYWORD1>in</KEYWORD1>
  75. <OPERATOR>;;</OPERATOR>
  76. <KEYWORD1>esac</KEYWORD1>
  77. <KEYWORD1>while</KEYWORD1>
  78. <KEYWORD1>for</KEYWORD1>
  79. <KEYWORD1>do</KEYWORD1>
  80. <KEYWORD1>done</KEYWORD1>
  81. <KEYWORD1>continue</KEYWORD1>
  82. <KEYWORD1>local</KEYWORD1>
  83. <KEYWORD1>return</KEYWORD1>
  84. </KEYWORDS>
  85. <!-- some of these should be marked OPERATOR -->
  86. <!-- <SEQ TYPE="NULL">)</SEQ>
  87. <SEQ TYPE="NULL">(</SEQ>
  88. <SEQ TYPE="NULL">=</SEQ>
  89. <SEQ TYPE="NULL">!</SEQ>
  90. <SEQ TYPE="NULL">&gt;=</SEQ>
  91. <SEQ TYPE="NULL">&lt;=</SEQ>
  92. <SEQ TYPE="NULL">+</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. </RULES>
  108. <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">
  109. <!-- Variables -->
  110. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  111. <BEGIN>${</BEGIN>
  112. <END>}</END>
  113. </SPAN>
  114. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  115. </RULES>
  116. <RULES SET="EXEC" DEFAULT="KEYWORD3" ESCAPE="\">
  117. <!-- Variables -->
  118. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  119. <BEGIN>${</BEGIN>
  120. <END>}</END>
  121. </SPAN>
  122. <SPAN TYPE="KEYWORD3">
  123. <BEGIN>$((</BEGIN>
  124. <END>))</END>
  125. </SPAN>
  126. <SPAN TYPE="KEYWORD3">
  127. <BEGIN>$(</BEGIN>
  128. <END>)</END>
  129. </SPAN>
  130. <SPAN TYPE="KEYWORD3">
  131. <BEGIN>$[</BEGIN>
  132. <END>]</END>
  133. </SPAN>
  134. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  135. <SEQ TYPE="OPERATOR">|</SEQ>
  136. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  137. <SEQ TYPE="OPERATOR">!</SEQ>
  138. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  139. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  140. </RULES>
  141. </MODE>