PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/modes/c.xml

#
XML | 156 lines | 151 code | 3 blank | 2 comment | 0 complexity | 47f63cac6fff0eebdeb5fc5a2fdbba3f 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="commentStart" VALUE="/*" />
  6. <PROPERTY NAME="commentEnd" VALUE="*/" />
  7. <PROPERTY NAME="lineComment" VALUE="//" />
  8. <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
  9. <!-- Auto indent -->
  10. <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
  11. <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
  12. <PROPERTY NAME="indentNextLine"
  13. VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
  14. <!-- set this to 'true' if you want to use GNU coding style -->
  15. <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
  16. <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
  17. </PROPS>
  18. <RULES ESCAPE="\"
  19. IGNORE_CASE="FALSE"
  20. HIGHLIGHT_DIGITS="TRUE"
  21. DIGIT_RE="(0x[[:xdigit:]]+[lL]?|[[:digit:]]+(e[[:digit:]]*)?[lLdDfF]?)">
  22. <!-- C style comment -->
  23. <SPAN TYPE="COMMENT1">
  24. <BEGIN>/*</BEGIN>
  25. <END>*/</END>
  26. </SPAN>
  27. <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  28. <BEGIN>"</BEGIN>
  29. <END>"</END>
  30. </SPAN>
  31. <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
  32. <BEGIN>'</BEGIN>
  33. <END>'</END>
  34. </SPAN>
  35. <!-- preprocessor statements -->
  36. <EOL_SPAN TYPE="KEYWORD2" DELEGATE="CPP">#</EOL_SPAN>
  37. <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
  38. <SEQ TYPE="OPERATOR">=</SEQ>
  39. <SEQ TYPE="OPERATOR">!</SEQ>
  40. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  41. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  42. <SEQ TYPE="OPERATOR">+</SEQ>
  43. <SEQ TYPE="OPERATOR">-</SEQ>
  44. <SEQ TYPE="OPERATOR">/</SEQ>
  45. <SEQ TYPE="OPERATOR">*</SEQ>
  46. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  47. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  48. <SEQ TYPE="OPERATOR">%</SEQ>
  49. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  50. <SEQ TYPE="OPERATOR">|</SEQ>
  51. <SEQ TYPE="OPERATOR">^</SEQ>
  52. <SEQ TYPE="OPERATOR">~</SEQ>
  53. <SEQ TYPE="OPERATOR">}</SEQ>
  54. <SEQ TYPE="OPERATOR">{</SEQ>
  55. <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"
  56. EXCLUDE_MATCH="TRUE"
  57. TYPE="LABEL">:</MARK_PREVIOUS>
  58. <!-- Function calls -->
  59. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  60. <KEYWORDS>
  61. <KEYWORD3>char</KEYWORD3>
  62. <KEYWORD3>double</KEYWORD3>
  63. <KEYWORD3>enum</KEYWORD3>
  64. <KEYWORD3>float</KEYWORD3>
  65. <KEYWORD3>int</KEYWORD3>
  66. <KEYWORD3>long</KEYWORD3>
  67. <KEYWORD3>short</KEYWORD3>
  68. <KEYWORD3>signed</KEYWORD3>
  69. <KEYWORD3>struct</KEYWORD3>
  70. <KEYWORD3>typedef</KEYWORD3>
  71. <KEYWORD3>union</KEYWORD3>
  72. <KEYWORD3>unsigned</KEYWORD3>
  73. <KEYWORD3>void</KEYWORD3>
  74. <KEYWORD1>auto</KEYWORD1>
  75. <KEYWORD1>const</KEYWORD1>
  76. <KEYWORD1>extern</KEYWORD1>
  77. <KEYWORD1>register</KEYWORD1>
  78. <KEYWORD1>static</KEYWORD1>
  79. <KEYWORD1>volatile</KEYWORD1>
  80. <KEYWORD1>break</KEYWORD1>
  81. <KEYWORD1>case</KEYWORD1>
  82. <KEYWORD1>continue</KEYWORD1>
  83. <KEYWORD1>default</KEYWORD1>
  84. <KEYWORD1>do</KEYWORD1>
  85. <KEYWORD1>else</KEYWORD1>
  86. <KEYWORD1>for</KEYWORD1>
  87. <KEYWORD1>goto</KEYWORD1>
  88. <KEYWORD1>if</KEYWORD1>
  89. <KEYWORD1>return</KEYWORD1>
  90. <KEYWORD1>sizeof</KEYWORD1>
  91. <KEYWORD1>switch</KEYWORD1>
  92. <KEYWORD1>while</KEYWORD1>
  93. <KEYWORD2>asm</KEYWORD2>
  94. <KEYWORD2>asmlinkage</KEYWORD2>
  95. <KEYWORD2>far</KEYWORD2>
  96. <KEYWORD2>huge</KEYWORD2>
  97. <KEYWORD2>inline</KEYWORD2>
  98. <KEYWORD2>near</KEYWORD2>
  99. <KEYWORD2>pascal</KEYWORD2>
  100. <LITERAL2>true</LITERAL2>
  101. <LITERAL2>false</LITERAL2>
  102. <LITERAL2>NULL</LITERAL2>
  103. </KEYWORDS>
  104. </RULES>
  105. <RULES SET="CPP" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE"
  106. HIGHLIGHT_DIGITS="TRUE"
  107. DIGIT_RE="(0x[[:xdigit:]]+[lL]?|[[:digit:]]+(e[[:digit:]]*)?[lLdDfF]?)">
  108. <!-- C style comment -->
  109. <SPAN TYPE="COMMENT1">
  110. <BEGIN>/*</BEGIN>
  111. <END>*/</END>
  112. </SPAN>
  113. <!-- this is a hack so that #include <net/if.h> does not get
  114. the if highlighted -->
  115. <EOL_SPAN TYPE="MARKUP" DELEGATE="INCLUDE">include</EOL_SPAN>
  116. <!-- Directives -->
  117. <KEYWORDS>
  118. <MARKUP>assert</MARKUP>
  119. <MARKUP>define</MARKUP>
  120. <MARKUP>assert</MARKUP>
  121. <MARKUP>define</MARKUP>
  122. <MARKUP>elif</MARKUP>
  123. <MARKUP>else</MARKUP>
  124. <MARKUP>endif</MARKUP>
  125. <MARKUP>error</MARKUP>
  126. <MARKUP>ident</MARKUP>
  127. <MARKUP>if</MARKUP>
  128. <MARKUP>ifdef</MARKUP>
  129. <MARKUP>ifndef</MARKUP>
  130. <MARKUP>import</MARKUP>
  131. <MARKUP>include</MARKUP>
  132. <MARKUP>include_next</MARKUP>
  133. <MARKUP>line</MARKUP>
  134. <MARKUP>pragma</MARKUP>
  135. <MARKUP>sccs</MARKUP>
  136. <MARKUP>unassert</MARKUP>
  137. <MARKUP>undef</MARKUP>
  138. <MARKUP>warning</MARKUP>
  139. </KEYWORDS>
  140. </RULES>
  141. <RULES SET="INCLUDE" DEFAULT="KEYWORD2" />
  142. </MODE>