Warning, /frameworks/syntax-highlighting/data/syntax/vala.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!--
0004 This file is part of KDE's kate project.
0005
0006 Copyright 2012 Antoni Boucher (bouanto@hotmail.com)
0007
0008 **********************************************************************
0009 * This library is free software; you can redistribute it and/or *
0010 * modify it under the terms of the GNU Lesser General Public *
0011 * License as published by the Free Software Foundation; either *
0012 * version 2 of the License, or (at your option) any later version. *
0013 * *
0014 * This library is distributed in the hope that it will be useful, *
0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
0017 * Lesser General Public License for more details. *
0018 * *
0019 * You should have received a copy of the GNU Lesser General Public *
0020 * License along with this library; if not, write to the *
0021 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
0022 * Boston, MA 02110-1301, USA. *
0023 **********************************************************************
0024 -->
0025 <language name="Vala" section="Sources" version="10" kateversion="5.0" indenter="cstyle" extensions="*.vala" mimetype="text/x-vala" priority="15" author="Antoni Boucher (bouanto@hotmail.com)" license="LGPLv2+">
0026 <highlighting>
0027 <list name="keywords">
0028 <item>abstract</item>
0029 <item>as</item>
0030 <item>async</item>
0031 <item>base</item>
0032 <item>break</item>
0033 <item>case</item>
0034 <item>catch</item>
0035 <item>class</item>
0036 <item>const</item>
0037 <item>construct</item>
0038 <item>continue</item>
0039 <item>default</item>
0040 <item>delegate</item>
0041 <item>delete</item>
0042 <item>do</item>
0043 <item>dynamic</item>
0044 <item>else</item>
0045 <item>enum</item>
0046 <item>ensures</item>
0047 <item>errordomain</item>
0048 <item>extern</item>
0049 <item>false</item>
0050 <item>finally</item>
0051 <item>for</item>
0052 <item>foreach</item>
0053 <item>get</item>
0054 <item>global</item>
0055 <item>if</item>
0056 <item>in</item>
0057 <item>inline</item>
0058 <item>interface</item>
0059 <item>internal</item>
0060 <item>is</item>
0061 <item>lock</item>
0062 <item>namespace</item>
0063 <item>new</item>
0064 <item>null</item>
0065 <item>out</item>
0066 <item>override</item>
0067 <item>owned</item>
0068 <item>private</item>
0069 <item>protected</item>
0070 <item>public</item>
0071 <item>ref</item>
0072 <item>requires</item>
0073 <item>result</item>
0074 <item>return</item>
0075 <item>set</item>
0076 <item>signal</item>
0077 <item>sizeof</item>
0078 <item>static</item>
0079 <item>struct</item>
0080 <item>switch</item>
0081 <item>this</item>
0082 <item>throw</item>
0083 <item>throws</item>
0084 <item>true</item>
0085 <item>try</item>
0086 <item>typeof</item>
0087 <item>unowned</item>
0088 <item>using</item>
0089 <item>value</item>
0090 <item>virtual</item>
0091 <item>weak</item>
0092 <item>while</item>
0093 <item>yield</item>
0094 </list>
0095 <list name="extensions">
0096 <item>connect</item>
0097 <item>connect_after</item>
0098 <item>disconnect</item>
0099 <item>emit</item>
0100 </list>
0101 <list name="types">
0102 <item>bool</item>
0103 <item>char</item>
0104 <item>double</item>
0105 <item>float</item>
0106 <item>int</item>
0107 <item>int8</item>
0108 <item>int16</item>
0109 <item>int32</item>
0110 <item>int64</item>
0111 <item>long</item>
0112 <item>short</item>
0113 <item>size_t</item>
0114 <item>ssize_t</item>
0115 <item>string</item>
0116 <item>uchar</item>
0117 <item>uint</item>
0118 <item>uint8</item>
0119 <item>uint16</item>
0120 <item>uint32</item>
0121 <item>uint64</item>
0122 <item>ulong</item>
0123 <item>unichar</item>
0124 <item>ushort</item>
0125 <item>var</item>
0126 <item>void</item>
0127 </list>
0128 <contexts>
0129 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0130 <DetectSpaces />
0131 <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" beginRegion="PP" firstNonSpace="true" />
0132 <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
0133 <keyword attribute="Keyword" context="#stay" String="keywords" />
0134 <keyword attribute="Extensions" context="#stay" String="extensions" />
0135 <keyword attribute="Data Type" context="#stay" String="types" />
0136 <HlCChar attribute="Char" context="#stay"/>
0137
0138 <Detect2Chars attribute="String" context="String Template" char="@" char1="""/>
0139 <StringDetect attribute="String" context="MultiLine String" String="""""/>
0140 <DetectChar attribute="String" context="String" char="""/>
0141 <DetectIdentifier />
0142 <Float attribute="Float" context="Float Suffixes"/>
0143 <HlCOct attribute="Octal" context="#stay"/>
0144 <HlCHex attribute="Hex" context="#stay"/>
0145 <Int attribute="Decimal" context="Int Suffixes"/>
0146 <IncludeRules context="FindComments" />
0147 <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
0148 <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
0149 <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]{|}~^;"/>
0150 </context>
0151
0152 <context name="FindComments" attribute="Normal Text" lineEndContext="#pop">
0153 <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true"/>
0154 <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />
0155 </context>
0156
0157 <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
0158 <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
0159 <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
0160 <IncludeRules context="##Doxygen" />
0161 <Detect2Chars attribute="Comment" context="#pop!Comment" char="/" char1="/"/>
0162 <Detect2Chars attribute="Comment" context="#pop!MultiLine Comment" char="/" char1="*" beginRegion="Comment"/>
0163 </context>
0164
0165 <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
0166 <AnyChar String="fFdD" attribute="Float" context="#pop"/>
0167 </context>
0168
0169 <context name="Int Suffixes" attribute="Decimal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
0170 <StringDetect attribute="Decimal" context="#pop" String="ULL" insensitive="true"/>
0171 <StringDetect attribute="Decimal" context="#pop" String="UL" insensitive="true"/>
0172 <StringDetect attribute="Decimal" context="#pop" String="LU" insensitive="true"/>
0173 <StringDetect attribute="Decimal" context="#pop" String="LL" insensitive="true"/>
0174 <AnyChar attribute="Decimal" context="#pop" String="ULul"/>
0175 </context>
0176
0177 <context name="String Template Variable" attribute="String" lineEndContext="#stay">
0178 <Detect2Chars attribute="Escaped Code" context="#stay" char="$" char1="$" />
0179 <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z_][a-zA-Z0-9_]*|\$\(.*?\)" minimal="true" />
0180 </context>
0181
0182 <context attribute="String" lineEndContext="#stay" name="MultiLine String">
0183 <StringDetect attribute="String" context="#pop" String="""""/>
0184 </context>
0185
0186 <context attribute="String" lineEndContext="#pop" name="String">
0187 <LineContinue attribute="String" context="#stay"/>
0188 <HlCStringChar attribute="String Char" context="#stay"/>
0189 <DetectChar attribute="String" context="#pop" char="""/>
0190 </context>
0191
0192 <context attribute="String" lineEndContext="#pop" name="String Template">
0193 <IncludeRules context="String Template Variable" />
0194 <LineContinue attribute="String" context="#stay"/>
0195 <HlCStringChar attribute="String Char" context="#stay"/>
0196 <DetectChar attribute="String" context="#pop" char="""/>
0197 </context>
0198
0199 <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
0200 </context>
0201
0202 <context attribute="Comment" lineEndContext="#pop" name="Comment">
0203 <LineContinue attribute="Comment" context="#stay"/>
0204 <DetectSpaces />
0205 <IncludeRules context="##Comments" />
0206 <DetectIdentifier />
0207 </context>
0208
0209 <context attribute="Comment" lineEndContext="#stay" name="MultiLine Comment">
0210 <DetectSpaces />
0211 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0212 <IncludeRules context="##Comments" />
0213 <DetectIdentifier />
0214 </context>
0215
0216 <context attribute="Error" lineEndContext="#pop" name="AfterHash">
0217 <!-- elif, else, endif, if -->
0218 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
0219 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
0220 <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if))|#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
0221 </context>
0222
0223 <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
0224 <LineContinue attribute="Preprocessor" context="#stay"/>
0225 <RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
0226 <RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
0227 <IncludeRules context="FindComments" />
0228 </context>
0229
0230 <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
0231 <DetectSpaces />
0232 <IncludeRules context="##Comments" />
0233 <DetectIdentifier />
0234 <IncludeRules context="FindComments" />
0235 <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
0236 <RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
0237 <RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
0238 </context>
0239
0240 <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
0241 <DetectSpaces />
0242 <IncludeRules context="##Comments" />
0243 <DetectIdentifier />
0244 <DetectChar attribute="String" context="String" char="""/>
0245 <IncludeRules context="FindComments" />
0246 <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
0247 <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
0248 </context>
0249 </contexts>
0250 <itemDatas>
0251 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
0252 <itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
0253 <itemData name="Comment" defStyleNum="dsComment"/>
0254 <itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
0255 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
0256 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
0257 <itemData name="Escaped Code" defStyleNum="dsSpecialChar" bold="true" italic="false" spellChecking="false" /> <!-- #0F0F8F -->
0258 <itemData name="Extensions" defStyleNum="dsExtension" bold="true" italic="false" spellChecking="false"/> <!-- #0095ff -->
0259 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
0260 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
0261 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
0262 <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
0263 <itemData name="Prep. Lib" defStyleNum="dsImport" spellChecking="false"/>
0264 <itemData name="Preprocessor" defStyleNum="dsPreprocessor" spellChecking="false"/>
0265 <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
0266 <itemData name="String" defStyleNum="dsString"/>
0267 <itemData name="String Char" defStyleNum="dsSpecialChar"/>
0268 <itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false"/>
0269 <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false" /> <!-- #5555FF -->
0270 </itemDatas>
0271 </highlighting>
0272 <general>
0273 <comments>
0274 <comment name="singleLine" start="//" />
0275 <comment name="multiLine" start="/*" end="*/" region="Comment"/>
0276 </comments>
0277 <keywords casesensitive="true" />
0278 </general>
0279 </language>
0280 <!-- kate: replace-tabs on; tab-width 4; indent-width 4; -->