Warning, /frameworks/syntax-highlighting/data/syntax/qml.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004   <!ENTITY identifier "[a-zA-Z_$][\w$]*">
0005 ]>
0006 <!-- Author: Milian Wolff <mail@milianw.de> -->
0007 <language name="QML" version="11" kateversion="5.53" section="Scripts" extensions="*.qml;*.qmltypes"
0008           mimetype="text/x-qml;application/x-qml" indenter="cstyle"
0009           author="Milian Wolff (mail@milianw.de)" license="MIT">
0010   <highlighting>
0011     <list name="elements">
0012       <!-- see: http://doc.trolltech.com/4.7-snapshot/qmlelements.html -->
0013       <item>State</item>
0014       <item>PropertyChanges</item>
0015       <item>StateGroup</item>
0016       <item>ParentChange</item>
0017       <item>StateChangeScript</item>
0018       <item>AnchorChanges</item>
0019       <item>PropertyAnimation</item>
0020       <item>NumberAnimation</item>
0021       <item>ColorAnimation</item>
0022       <item>SequentialAnimation</item>
0023       <item>ParallelAnimation</item>
0024       <item>PauseAnimation</item>
0025       <item>PropertyAction</item>
0026       <item>ParentAction</item>
0027       <item>ScriptAction</item>
0028       <item>Transition</item>
0029       <item>SpringFollow</item>
0030       <item>EaseFollow</item>
0031       <item>Behavior</item>
0032       <item>Binding</item>
0033       <item>ListModel</item>
0034       <item>ListElement</item>
0035       <item>VisualItemModel</item>
0036       <item>XmlListModel</item>
0037       <item>XmlRole</item>
0038       <item>DateTimeFormatter</item>
0039       <item>NumberFormatter</item>
0040       <item>Script</item>
0041       <item>Connections</item>
0042       <item>Component</item>
0043       <item>Timer</item>
0044       <item>QtObject</item>
0045       <item>Item</item>
0046       <item>Rectangle</item>
0047       <item>Image</item>
0048       <item>BorderImage</item>
0049       <item>Text</item>
0050       <item>TextInput</item>
0051       <item>TextEdit</item>
0052       <item>MouseArea</item>
0053       <item>FocusScope</item>
0054       <item>Flickable</item>
0055       <item>Flipable</item>
0056       <item>WebView</item>
0057       <item>Loader</item>
0058       <item>Repeater</item>
0059       <item>SystemPalette</item>
0060       <item>GraphicsObjectContainer</item>
0061       <item>LayoutItem</item>
0062       <item>ListView</item>
0063       <item>GridView</item>
0064       <item>PathView</item>
0065       <item>Path</item>
0066       <item>PathLine</item>
0067       <item>PathQuad</item>
0068       <item>PathCubic</item>
0069       <item>PathAttribute</item>
0070       <item>PathPercent</item>
0071       <item>Column</item>
0072       <item>Row</item>
0073       <item>Grid</item>
0074       <item>Scale</item>
0075       <item>Rotation</item>
0076       <item>Blur</item>
0077       <item>Colorize</item>
0078       <item>DropShadow</item>
0079       <item>Opacity</item>
0080       <item>Particles</item>
0081       <item>ParticleMotionLinear</item>
0082       <item>ParticleMotionGravity</item>
0083       <item>ParticleMotionWander</item>
0084       <!-- here some other items I find in the examples, we really need a proper list of them... -->
0085       <item>Gradient</item>
0086       <item>GradientStop</item>
0087       <item>MouseRegion</item>
0088     </list>
0089     <!-- keywords not part of JavaScript -->
0090     <list name="extra-keywords">
0091       <item>pragma</item>
0092       <item>readonly</item>
0093       <item>required</item>
0094     </list>
0095     <list name="types">
0096       <!-- see: http://doc.trolltech.com/4.7-snapshot/qml-extending-types.html -->
0097       <item>string</item>
0098       <item>int</item>
0099       <item>bool</item>
0100       <item>date</item>
0101       <item>color</item>
0102       <item>url</item>
0103       <item>real</item>
0104       <item>double</item>
0105       <item>var</item>
0106       <item>variant</item>
0107     </list>
0108     <contexts>
0109       <!-- Shebang: ("#!") Detect shebang and fallthrough to Normal -->
0110       <!-- Based on the similar clause from prolog.xml.
0111            This uses "lineEmptyContext" & "lineEndContext" to force the highlight only on the first line. -->
0112       <context name="Shebang" attribute="Normal Text" lineEndContext="Normal" lineEmptyContext="Normal" fallthrough="true" fallthroughContext="Normal">
0113         <Detect2Chars column="0" char="#" char1="!" context="Shebang Line" attribute="Shebang" />
0114       </context>
0115       <context name="Shebang Line" attribute="Shebang" lineEndContext="#pop!Normal" />
0116 
0117       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0118         <DetectSpaces/>
0119         <WordDetect attribute="Import" context="Import" String="import"/>
0120         <keyword attribute="Elements" context="#stay" String="elements" />
0121         <keyword attribute="Keywords" String="extra-keywords"/>
0122         <WordDetect attribute="Signal" context="Signal" String="signal" />
0123         <WordDetect attribute="Keywords" context="Property" String="default property" />
0124         <WordDetect attribute="Keywords" context="Property" String="property" />
0125         <DetectChar attribute="String" context="String" char="&quot;" />
0126         <DetectChar attribute="Normal Text" context="Object" char="{" beginRegion="Brace" />
0127         <!-- Normal##JavaScript -->
0128         <IncludeRules context="FindNumbers##JavaScript" />
0129         <IncludeRules context="FindKeywords##JavaScript" />
0130         <IncludeRules context="FindStrings##JavaScript" />
0131         <RegExpr attribute="Objects" context="FindMemberObjectMath##JavaScript" String="\bMath(?=\s*\.)" />
0132         <RegExpr attribute="Objects" context="#stay" String="\b[A-Z][\w$]*(?=\s*\.)" />
0133         <IncludeRules context="FindObjectMembersAndFunctions##JavaScript" />
0134         <IncludeRules context="JSBase##JavaScript" />
0135       </context>
0136       <context attribute="ImportValue" lineEndContext="#pop" name="Import">
0137       </context>
0138       <context attribute="Normal Text" lineEndContext="#pop" name="Property">
0139         <WordDetect attribute="Property Type" context="#stay" String="alias" />
0140         <keyword attribute="Property Type" context="#stay" String="types" />
0141         <DetectSpaces />
0142         <DetectIdentifier />
0143         <DetectChar char=":" context="#pop" />
0144       </context>
0145       <context attribute="Normal Text" lineEndContext="#pop" name="Signal">
0146         <DetectSpaces />
0147         <DetectIdentifier />
0148         <DetectChar char="(" context="SignalParameter" />
0149       </context>
0150       <context attribute="Normal Text" name="SignalParameter" lineEndContext="#pop">
0151         <DetectSpaces />
0152         <keyword attribute="Property Type" context="#stay" String="types" />
0153         <DetectIdentifier />
0154         <DetectChar char=")" context="#pop"/>
0155       </context>
0156       <!-- QML supports multi-line strings, which are not supported by Javascript -->
0157       <context attribute="String" lineEndContext="#stay" name="String">
0158         <DetectChar attribute="String" context="RegExpAfterString##JavaScript" char="&quot;" />
0159         <IncludeRules context="Escape##JavaScript" />
0160       </context>
0161       <context attribute="Normal Text" lineEndContext="#stay" name="Object">
0162         <!--DetectIdentifier-->
0163         <RegExpr attribute="Property Type" String="&identifier;\s*(?=:)" />
0164         <!-- Avoid highlighting Property Type before ":" in conditional expressions. -->
0165         <RegExpr attribute="Symbol" context="ConditionalExpression" String="\?(?=[^\}]*&identifier;\s*\:)" />
0166         <DetectChar attribute="Normal Text" char="}" endRegion="Brace" context="#pop" />
0167         <IncludeRules context="Normal" />
0168       </context>
0169       <context attribute="Normal Text" lineEndContext="#pop" name="ConditionalExpression">
0170         <AnyChar context="#pop" String=":}" lookAhead="true" />
0171         <DetectChar attribute="Symbol" context="#stay" char="?" />
0172         <IncludeRules context="Normal" />
0173       </context>
0174     </contexts>
0175     <itemDatas>
0176       <itemData name="Normal Text"  defStyleNum="dsNormal"  spellChecking="false" />
0177       <itemData name="Import"  defStyleNum="dsKeyword"  spellChecking="false" />
0178       <itemData name="ImportValue"  defStyleNum="dsImport"  spellChecking="false" />
0179       <itemData name="Keywords"  defStyleNum="dsKeyword"  spellChecking="false" />
0180       <itemData name="Elements" defStyleNum="dsOthers" spellChecking="false"/> <!-- #008000 -->
0181       <itemData name="Signal" defStyleNum="dsExtension" bold="1" spellChecking="false"/> <!-- #0095ff -->
0182       <itemData name="Property Type" defStyleNum="dsDataType" spellChecking="false" />
0183       <itemData name="String"       defStyleNum="dsString" />
0184       <itemData name="Objects"      defStyleNum="dsExtension" bold="0" spellChecking="false" />
0185       <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false" />
0186       <itemData name="Shebang"      defStyleNum="dsComment" spellChecking="false" />
0187     </itemDatas>
0188   </highlighting>
0189   <general>
0190     <comments>
0191       <comment name="singleLine" start="//" position="afterwhitespace" />
0192       <comment name="multiLine" start="/*" end="*/" />
0193     </comments>
0194     <keywords casesensitive="1" />
0195   </general>
0196 </language>
0197 
0198 <!-- kate: tab-width 2; replace-tabs on; indent-width 2; -->