1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language>
<language name="ANSI C89" section="Sources"
version="8" kateversion="5.0"
indenter="cstyle"
extensions="*.c;*.C;*.h"
mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
priority="2"
author="Dominik Haumann (dhaumann@kde.org)" license="MIT">
<highlighting>
<list name="keywords">
<item>break</item>
<item>case</item>
<item>continue</item>
<item>default</item>
<item>do</item>
<item>else</item>
<item>enum</item>
<item>extern</item>
<item>for</item>
<item>goto</item>
<item>if</item>
<item>return</item>
<item>sizeof</item>
<item>struct</item>
<item>switch</item>
<item>typedef</item>
<item>union</item>
<item>while</item>
</list>
<list name="types">
<item>auto</item>
<item>char</item>
<item>const</item>
<item>double</item>
<item>float</item>
<item>int</item>
<item>long</item>
<item>register</item>
<item>short</item>
<item>signed</item>
<item>static</item>
<item>unsigned</item>
<item>void</item>
<item>volatile</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true" />
<DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<DetectIdentifier />
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
<Float attribute="Float" context="Float Suffixes"/>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="Int Suffixes"/>
<HlCChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="String" char="""/>
<Detect2Chars attribute="Comment" context="comment" char="/" char1="*" beginRegion="blockcomment"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>
</context>
<context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<AnyChar String="fF" attribute="Float" context="#pop"/>
</context>
<context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>
<StringDetect attribute="Decimal" context="#pop" String="LLU" insensitive="true"/>
<StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>
<StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>
<StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>
<AnyChar attribute="Decimal" context="#pop" String="ULul"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="""/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="comment">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="blockcomment"/>
<IncludeRules context="##Comments" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RegExpr attribute="Preprocessor" context="#stay" String="define(?:[^\\]++|\\.)++"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
<Detect2Chars attribute="Comment" context="comment" char="/" char1="*" beginRegion="blockcomment"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
<Detect2Chars attribute="Comment" context="comment" char="/" char1="*" beginRegion="Comment"/>
<IncludeRules context="##Comments" />
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*(?:endif|else|elif)" endRegion="Outscoped" firstNonSpace="true" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
<Detect2Chars attribute="Comment" context="comment" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="Outscoped" firstNonSpace="true" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsSpecialChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsOperator"/>
<itemData name="Preprocessor" defStyleNum="dsPreprocessor"/>
<itemData name="Prep. Lib" defStyleNum="dsImport"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="multiLine" start="/*" end="*/" region="blockcomment" />
</comments>
<keywords casesensitive="1" />
</general>
</language>
<!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->
|