1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE language SYSTEM "language.dtd">
3 <language name="QuakeC" section="Sources"
4 version="1.00" kateversion="2.4"
6 extensions="*.qc;*.QC;*.qh"
11 <list name="keywords">
14 <item> continue </item>
15 <item> default </item>
24 <item> typedef </item>
36 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
38 <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" beginRegion="PP" firstNonSpace="true" />
39 <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
40 <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
41 <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
42 <keyword attribute="Keyword" context="#stay" String="keywords"/>
43 <keyword attribute="Data Type" context="#stay" String="types"/>
45 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
46 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
47 <Float attribute="Float" context="#stay">
48 <AnyChar String="fF" attribute="Float" context="#stay"/>
50 <HlCHex attribute="Hex" context="#stay"/>
51 <Int attribute="Decimal" context="#stay" >
52 <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
53 <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
54 <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
55 <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
56 <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
57 <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
58 <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
59 <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
61 <HlCChar attribute="Char" context="#stay"/>
62 <DetectChar attribute="String" context="String" char="""/>
63 <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
64 <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
65 <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>
68 <context attribute="String" lineEndContext="#pop" name="String">
69 <LineContinue attribute="String" context="#stay"/>
70 <HlCStringChar attribute="String Char" context="#stay"/>
71 <DetectChar attribute="String" context="#pop" char="""/>
74 <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
77 <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
78 <LineContinue attribute="Comment" context="#stay"/>
79 <IncludeRules context="##Alerts" />
82 <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
83 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
84 <IncludeRules context="##Alerts" />
87 <context attribute="Error" lineEndContext="#pop" name="AfterHash">
88 <!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
89 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
90 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
91 <RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
92 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
93 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
96 <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
97 <LineContinue attribute="Preprocessor" context="#stay"/>
98 <RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
99 <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
100 <IncludeRules context="##Doxygen" />
101 <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
102 <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/" />
105 <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
106 <LineContinue attribute="Preprocessor" context="#stay"/>
109 <context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
110 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
113 <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
116 <DetectChar attribute="String" context="String" char="""/>
117 <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
118 <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
119 <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
120 <RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
121 <RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
124 <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
127 <DetectChar attribute="String" context="String" char="""/>
128 <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
129 <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
130 <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
131 <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
135 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
136 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
137 <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
138 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
139 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
140 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
141 <itemData name="String" defStyleNum="dsString"/>
142 <itemData name="String Char" defStyleNum="dsChar"/>
143 <itemData name="Comment" defStyleNum="dsComment"/>
144 <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
145 <itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/>
150 <comment name="singleLine" start="//" />
151 <comment name="multiLine" start="/*" end="*/" />
153 <keywords casesensitive="1" additionalDeliminator="'"" />