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="&quot;"/>
0139             <StringDetect attribute="String" context="MultiLine String" String="&quot;&quot;&quot;"/>
0140             <DetectChar attribute="String" context="String" char="&quot;"/>
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=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
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="&quot;&quot;&quot;"/>
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="&quot;"/>
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="&quot;"/>
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="&quot;" char1="&quot;"/>
0226             <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
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="&quot;"/>
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; -->