/jEdit/tags/jedit-4-3-pre5/modes/c.xml
XML | 185 lines | 181 code | 3 blank | 1 comment | 0 complexity | 84e92be33d2e11baa1a9c0ab1510922f 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
- <?xml version="1.0"?>
- <!DOCTYPE MODE SYSTEM "xmode.dtd">
- <MODE>
- <PROPS>
- <PROPERTY NAME="commentStart" VALUE="/*" />
- <PROPERTY NAME="commentEnd" VALUE="*/" />
- <PROPERTY NAME="lineComment" VALUE="//" />
- <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
- <!-- Auto indent -->
- <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
- <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
- <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
- <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
- <PROPERTY NAME="indentNextLine"
- VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
- <PROPERTY NAME="unindentThisLine"
- VALUE="^.*(default:\s*|case.*:.*)$" />
- <PROPERTY NAME="electricKeys" VALUE=":" />
- </PROPS>
- <RULES ESCAPE="\"
- IGNORE_CASE="FALSE"
- HIGHLIGHT_DIGITS="TRUE"
- DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">
- <!-- Silly comment -->
- <SEQ TYPE="COMMENT1">/**/</SEQ>
- <!-- Doxygen comment, Javadoc style -->
- <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
- <BEGIN>/**</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- Doxygen comment, Qt style -->
- <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
- <BEGIN>/*!</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- C style comment -->
- <SPAN TYPE="COMMENT1">
- <BEGIN>/*</BEGIN>
- <END>*/</END>
- </SPAN>
- <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
- <BEGIN>"</BEGIN>
- <END>"</END>
- </SPAN>
- <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
- <BEGIN>'</BEGIN>
- <END>'</END>
- </SPAN>
- <!-- preprocessor statements -->
- <SEQ TYPE="KEYWORD2">##</SEQ>
- <EOL_SPAN TYPE="KEYWORD2" DELEGATE="CPP">#</EOL_SPAN>
- <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
- <SEQ TYPE="OPERATOR">=</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>
- <SEQ TYPE="OPERATOR">*</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>
- <SEQ TYPE="OPERATOR">~</SEQ>
- <SEQ TYPE="OPERATOR">}</SEQ>
- <SEQ TYPE="OPERATOR">{</SEQ>
- <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"
- EXCLUDE_MATCH="TRUE"
- TYPE="LABEL">:</MARK_PREVIOUS>
- <!-- Function calls -->
- <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
- <KEYWORDS>
- <KEYWORD3>char</KEYWORD3>
- <KEYWORD3>double</KEYWORD3>
- <KEYWORD3>enum</KEYWORD3>
- <KEYWORD3>float</KEYWORD3>
- <KEYWORD3>int</KEYWORD3>
- <KEYWORD3>long</KEYWORD3>
- <KEYWORD3>short</KEYWORD3>
- <KEYWORD3>signed</KEYWORD3>
- <KEYWORD3>struct</KEYWORD3>
- <KEYWORD3>typedef</KEYWORD3>
- <KEYWORD3>union</KEYWORD3>
- <KEYWORD3>unsigned</KEYWORD3>
- <KEYWORD3>void</KEYWORD3>
- <KEYWORD1>auto</KEYWORD1>
- <KEYWORD1>const</KEYWORD1>
- <KEYWORD1>extern</KEYWORD1>
- <KEYWORD1>register</KEYWORD1>
- <KEYWORD1>static</KEYWORD1>
- <KEYWORD1>volatile</KEYWORD1>
- <KEYWORD1>break</KEYWORD1>
- <KEYWORD1>case</KEYWORD1>
- <KEYWORD1>continue</KEYWORD1>
- <KEYWORD1>default</KEYWORD1>
- <KEYWORD1>do</KEYWORD1>
- <KEYWORD1>else</KEYWORD1>
- <KEYWORD1>for</KEYWORD1>
- <KEYWORD1>goto</KEYWORD1>
- <KEYWORD1>if</KEYWORD1>
- <KEYWORD1>return</KEYWORD1>
- <KEYWORD1>sizeof</KEYWORD1>
- <KEYWORD1>switch</KEYWORD1>
- <KEYWORD1>while</KEYWORD1>
- <KEYWORD2>asm</KEYWORD2>
- <KEYWORD2>asmlinkage</KEYWORD2>
- <KEYWORD2>far</KEYWORD2>
- <KEYWORD2>huge</KEYWORD2>
- <KEYWORD2>inline</KEYWORD2>
- <KEYWORD2>near</KEYWORD2>
- <KEYWORD2>pascal</KEYWORD2>
- <LITERAL2>true</LITERAL2>
- <LITERAL2>false</LITERAL2>
- <LITERAL2>NULL</LITERAL2>
- </KEYWORDS>
- </RULES>
- <RULES SET="CPP" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE"
- HIGHLIGHT_DIGITS="TRUE"
- DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">
- <!-- Doxygen comment, Javadoc style -->
- <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
- <BEGIN>/**</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- Doxygen comment, Qt style -->
- <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
- <BEGIN>/*!</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- C style comment -->
- <SPAN TYPE="COMMENT1">
- <BEGIN>/*</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- this is a hack so that #include <net/if.h> does not get
- the if highlighted -->
- <EOL_SPAN TYPE="MARKUP" DELEGATE="INCLUDE">include</EOL_SPAN>
- <!-- Directives -->
- <KEYWORDS>
- <MARKUP>assert</MARKUP>
- <MARKUP>define</MARKUP>
- <MARKUP>assert</MARKUP>
- <MARKUP>define</MARKUP>
- <MARKUP>elif</MARKUP>
- <MARKUP>else</MARKUP>
- <MARKUP>endif</MARKUP>
- <MARKUP>error</MARKUP>
- <MARKUP>ident</MARKUP>
- <MARKUP>if</MARKUP>
- <MARKUP>ifdef</MARKUP>
- <MARKUP>ifndef</MARKUP>
- <MARKUP>import</MARKUP>
- <MARKUP>include</MARKUP>
- <MARKUP>include_next</MARKUP>
- <MARKUP>line</MARKUP>
- <MARKUP>pragma</MARKUP>
- <MARKUP>sccs</MARKUP>
- <MARKUP>unassert</MARKUP>
- <MARKUP>undef</MARKUP>
- <MARKUP>warning</MARKUP>
- </KEYWORDS>
- </RULES>
- <RULES SET="INCLUDE" DEFAULT="KEYWORD2" />
- </MODE>