Warning, /frameworks/syntax-highlighting/data/syntax/klipper-config.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 ident "[_a-zA-Z][_a-zA-Z0-9]+">
0005   <!ENTITY params "DEFHIJNPQRSTUVWXYZdefhijnpqrstuvwxyz">
0006 ]>
0007 <language name="Klipper Config" version="1" kateversion="5.79" section="3D" extensions="*.cfg" mimetype="" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">
0008 
0009   <!-- https://github.com/Klipper3d/klipper/ -->
0010 
0011   <highlighting>
0012     <list name="special variables">
0013       <item>true</item>
0014       <item>True</item>
0015       <item>false</item>
0016       <item>False</item>
0017       <item>none</item>
0018       <item>None</item>
0019     </list>
0020 
0021     <list name="jinja control flow">
0022       <item>for</item>
0023       <item>endfor</item>
0024       <item>if</item>
0025       <item>elif</item>
0026       <item>else</item>
0027       <item>endif</item>
0028     </list>
0029 
0030     <list name="jinja keywords">
0031       <item>in</item>
0032       <item>is</item>
0033       <item>set</item>
0034       <item>not</item>
0035       <item>and</item>
0036       <item>or</item>
0037     </list>
0038 
0039     <list name="jinja filter">
0040       <item>abs</item>
0041       <item>attr</item>
0042       <item>batch</item>
0043       <item>capitalize</item>
0044       <item>center</item>
0045       <item>default</item>
0046       <item>dictsort</item>
0047       <item>escape</item>
0048       <item>filesizeformat</item>
0049       <item>first</item>
0050       <item>float</item>
0051       <item>forceescape</item>
0052       <item>format</item>
0053       <item>groupby</item>
0054       <item>indent</item>
0055       <item>int</item>
0056       <item>join</item>
0057       <item>last</item>
0058       <item>length</item>
0059       <item>list</item>
0060       <item>lower</item>
0061       <item>map</item>
0062       <item>max</item>
0063       <item>min</item>
0064       <item>pprint</item>
0065       <item>random</item>
0066       <item>reject</item>
0067       <item>rejectattr</item>
0068       <item>replace</item>
0069       <item>reverse</item>
0070       <item>round</item>
0071       <item>safe</item>
0072       <item>select</item>
0073       <item>selectattr</item>
0074       <item>slice</item>
0075       <item>sort</item>
0076       <item>string</item>
0077       <item>striptags</item>
0078       <item>sum</item>
0079       <item>title</item>
0080       <item>tojson</item>
0081       <item>truncate</item>
0082       <item>unique</item>
0083       <item>upper</item>
0084       <item>urlencode</item>
0085       <item>urlize</item>
0086       <item>wordcount</item>
0087       <item>wordwrap</item>
0088       <item>xmlattr</item>
0089     </list>
0090 
0091     <contexts>
0092       <context name="Start" attribute="Normal Text" fallthroughContext="Property">
0093         <IncludeRules context="FindComment"/>
0094         <DetectChar char="[" attribute="Section Symbol" context="Section" column="0"/>
0095         <WordDetect String="gcode" attribute="Property gcode" context="GCode" column="0"/>
0096         <RegExpr String="^(_?pin|[_a-z][_a-z0-9]*?_pin)\b" attribute="Property pin" context="Pin" column="0" insensitive="1"/>
0097         <DetectIdentifier attribute="Property" context="Property" column="0"/>
0098       </context>
0099 
0100       <context name="FindComment" attribute="Normal Text" lineEndContext="#pop">
0101         <AnyChar String="#;" attribute="Comment" context="comment"/>
0102       </context>
0103 
0104       <!-- [ ... ] -->
0105       <context name="Section" attribute="Section" lineEndContext="#pop" fallthroughContext="#pop">
0106         <WordDetect String="include" attribute="Section" context="Include"/>
0107         <DetectIdentifier attribute="Section" context="SectionName"/>
0108       </context>
0109       <context name="SectionName" attribute="Section Name" lineEndContext="#pop#pop">
0110         <DetectChar char="]" attribute="Section Symbol" context="#pop#pop!SectionEnd"/>
0111       </context>
0112       <context name="Include" attribute="Path" lineEndContext="#pop#pop">
0113         <IncludeRules context="SectionName"/>
0114       </context>
0115       <context name="SectionEnd" attribute="Normal Text" lineEndContext="#pop">
0116         <DetectSpaces/>
0117         <IncludeRules context="FindComment"/>
0118       </context>
0119 
0120       <!-- ^&ident;: -->
0121       <context name="Property" attribute="Normal Text" lineEndContext="#pop">
0122         <DetectChar char=":" attribute="Symbol Separator" context="PropertyBody"/>
0123         <DetectSpaces attribute="Normal Text"/>
0124       </context>
0125       <context name="PropertyBody" attribute="Normal Text" fallthroughContext="PropertyLine">
0126         <DetectSpaces attribute="Normal Text" context="PropertyLine" column="0"/>
0127         <IncludeRules context="FindPropertyEnd"/>
0128       </context>
0129       <context name="FindPropertyEnd" attribute="Normal Text" lineEndContext="#pop">
0130         <RegExpr String="." context="#pop#pop" lookAhead="1" column="0"/>
0131       </context>
0132       <context name="PropertyLine" attribute="Normal Text" lineEndContext="#pop">
0133         <DetectSpaces/>
0134         <IncludeRules context="FindValue"/>
0135         <IncludeRules context="FindComment"/>
0136         <IncludeRules context="FindWord"/>
0137       </context>
0138       <context name="FindValue" attribute="Normal Text" lineEndContext="#pop">
0139         <Float attribute="Float"/>
0140         <Int attribute="Int"/>
0141         <DetectChar char="-" attribute="Operator"/>
0142         <DetectChar char="'" attribute="String" context="StringSQ"/>
0143         <DetectChar char="&quot;" attribute="String" context="StringDQ"/>
0144       </context>
0145       <context name="FindWord" attribute="Normal Text" lineEndContext="#pop">
0146         <keyword String="special variables" attribute="Special Variable"/>
0147         <DetectIdentifier/>
0148       </context>
0149 
0150       <!-- ^.*_pin: -->
0151       <context name="Pin" attribute="Normal Text" lineEndContext="#pop">
0152         <DetectChar char=":" attribute="Symbol Separator" context="PinBody"/>
0153         <DetectSpaces attribute="Normal Text"/>
0154       </context>
0155       <context name="PinBody" attribute="Normal Text" fallthroughContext="PinLine">
0156         <DetectSpaces attribute="Normal Text" context="PropertyLine" column="0"/>
0157         <IncludeRules context="FindPropertyEnd"/>
0158       </context>
0159       <context name="PinLine" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop!PropertyLine">
0160         <DetectSpaces/>
0161         <AnyChar String="-!^" attribute="Operator"/>
0162         <RegExpr String="([A-Z]{1,2}|gpio)[0-9]+" attribute="Pin Id"/>
0163         <IncludeRules context="FindComment"/>
0164       </context>
0165 
0166       <!-- ^gcode: -->
0167       <context name="GCode" attribute="Path" lineEndContext="#pop#pop">
0168         <DetectChar char=":" attribute="Symbol Separator" context="GCodeBody"/>
0169         <DetectSpaces attribute="Normal Text"/>
0170       </context>
0171       <context name="GCodeBody" attribute="Normal Text" fallthroughContext="GCodeCommand">
0172         <DetectSpaces attribute="Normal Text" context="GCodeCommand" column="0"/>
0173         <IncludeRules context="FindPropertyEnd"/>
0174         <IncludeRules context="FindComment"/>
0175       </context>
0176       <context name="GCodeCommand" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="GCodeExtendedLine">
0177         <RegExpr String="[gG][0-9]{1,3}" attribute="G-word" context="GCodeLine"/>
0178         <RegExpr String="[mM][0-9]{1,3}" attribute="M-word" context="GCodeLine"/>
0179         <DetectIdentifier attribute="Macro" context="GCodeExtendedLine"/>
0180       </context>
0181       <context name="GCodeLine" attribute="Normal Text" lineEndContext="#pop">
0182         <DetectSpaces/>
0183         <IncludeRules context="FindValue"/>
0184         <IncludeRules context="FindTemplate"/>
0185         <IncludeRules context="FindComment"/>
0186         <IncludeRules context="FindGCodeParam"/>
0187         <IncludeRules context="FindWord"/>
0188       </context>
0189       <context name="FindGCodeParam" attribute="Normal Text" lineEndContext="#pop">
0190         <RegExpr String="\b[&params;](?=-?(\{|\.?[0-9]))" attribute="Parameter" context="GCodeParam"/>
0191       </context>
0192       <context name="GCodeExtendedLine" attribute="Normal Text" lineEndContext="#pop">
0193         <DetectSpaces/>
0194         <DetectChar char="=" attribute="Operator"/>
0195         <IncludeRules context="FindValue"/>
0196         <IncludeRules context="FindTemplate"/>
0197         <IncludeRules context="FindComment"/>
0198         <RegExpr String="\b&ident;(?==)" attribute="Parameter"/>
0199         <IncludeRules context="FindGCodeParam"/>
0200         <IncludeRules context="FindWord"/>
0201       </context>
0202       <context name="GCodeParam" attribute="Parameter Value" lineEndContext="#pop" fallthroughContext="#pop">
0203         <DetectChar char="-"/>
0204         <Float attribute="Float" context="#pop" additionalDeliminator="&params;"/>
0205         <Int attribute="Int" context="#pop" additionalDeliminator="&params;"/>
0206       </context>
0207 
0208       <!-- jinja template -->
0209       <context name="FindTemplate" attribute="String" lineEndContext="#pop">
0210         <StringDetect String="{%" attribute="Jinja Expression" context="Jinja{%"/>
0211         <DetectChar char="{" attribute="Jinja Expression" context="Jinja{"/>
0212       </context>
0213       <context name="Jinja{" attribute="Normal Text">
0214         <DetectChar char="}" attribute="Jinja Expression" context="#pop"/>
0215         <IncludeRules context="Jinja"/>
0216       </context>
0217       <context name="Jinja{%" attribute="Normal Text">
0218         <StringDetect String="%}" attribute="Jinja Expression" context="#pop"/>
0219         <IncludeRules context="Jinja"/>
0220       </context>
0221       <context name="Jinja" attribute="Normal Text">
0222         <DetectSpaces/>
0223         <AnyChar String="/*+-%!=&lt;>~|" attribute="Jinja Operator Symbol"/>
0224         <AnyChar String=",;" attribute="Jinja Symbol Separator"/>
0225         <DetectChar char="." attribute="Jinja Accessor Symbol"/>
0226         <Float attribute="Float"/>
0227         <Int attribute="Int"/>
0228         <DetectChar char="'" attribute="String" context="StringSQ"/>
0229         <DetectChar char="&quot;" attribute="String" context="StringDQ"/>
0230         <WordDetect String="if" attribute="Jinja Control Flow" beginRegion="if"/>
0231         <WordDetect String="endif" attribute="Jinja Control Flow" endRegion="if"/>
0232         <WordDetect String="for" attribute="Jinja Control Flow" beginRegion="for"/>
0233         <WordDetect String="endfor" attribute="Jinja Control Flow" endRegion="for"/>
0234         <keyword String="jinja control flow" attribute="Jinja Control Flow"/>
0235         <keyword String="jinja keywords" attribute="Jinja Keyword"/>
0236         <keyword String="jinja filter" attribute="Jinja Function"/>
0237         <keyword String="special variables" attribute="Special Variable"/>
0238         <DetectIdentifier/>
0239       </context>
0240 
0241       <!-- ' ... ' -->
0242       <context name="StringSQ" attribute="String" lineEndContext="#pop">
0243         <StringDetect String="\'" attribute="String Special Char"/>
0244         <DetectChar char="'" attribute="String" context="#pop"/>
0245       </context>
0246 
0247       <!-- " ... " -->
0248       <context name="StringDQ" attribute="String" lineEndContext="#pop">
0249         <StringDetect String="\&quot;" attribute="String Special Char"/>
0250         <DetectChar char="&quot;" attribute="String" context="#pop"/>
0251       </context>
0252 
0253       <context name="comment" attribute="Comment" lineEndContext="#pop">
0254         <DetectSpaces/>
0255         <IncludeRules context="##Comments"/>
0256         <DetectIdentifier/>
0257       </context>
0258     </contexts>
0259 
0260     <itemDatas>
0261       <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/>
0262       <itemData name="Section Symbol" defStyleNum="dsOperator" spellChecking="0"/>
0263       <itemData name="Section" defStyleNum="dsKeyword" spellChecking="0"/>
0264       <itemData name="Section Name" defStyleNum="dsString" spellChecking="0"/>
0265       <itemData name="Property" defStyleNum="dsVariable" spellChecking="0"/>
0266       <itemData name="Property gcode" defStyleNum="dsVerbatimString" spellChecking="0"/>
0267       <itemData name="Property pin" defStyleNum="dsAttribute" spellChecking="0"/>
0268       <itemData name="Path" defStyleNum="dsVerbatimString" spellChecking="0"/>
0269       <itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/>
0270       <itemData name="Comment" defStyleNum="dsComment"/>
0271       <itemData name="String" defStyleNum="dsString"/>
0272       <itemData name="String Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/>
0273       <itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
0274       <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
0275       <itemData name="Pin Id" defStyleNum="dsPreprocessor" spellChecking="false"/>
0276       <itemData name="Symbol Separator" defStyleNum="dsOperator" spellChecking="0"/>
0277       <itemData name="Special Variable" defStyleNum="dsConstant" spellChecking="0"/>
0278       <itemData name="G-word" defStyleNum="dsKeyword" spellChecking="0"/>
0279       <itemData name="M-word" defStyleNum="dsKeyword" spellChecking="0"/>
0280       <itemData name="Macro" defStyleNum="dsExtension" spellChecking="0"/>
0281       <itemData name="Parameter" defStyleNum="dsVariable" spellChecking="0"/>
0282       <itemData name="Parameter Value" defStyleNum="dsDecVal" spellChecking="0"/>
0283       <itemData name="Jinja Expression" defStyleNum="dsPreprocessor" spellChecking="0"/>
0284       <itemData name="Jinja Symbol Separator" defStyleNum="dsNormal" spellChecking="0"/>
0285       <itemData name="Jinja Operator Symbol" defStyleNum="dsOperator" spellChecking="0"/>
0286       <itemData name="Jinja Accessor Symbol" defStyleNum="dsNormal" spellChecking="0"/>
0287       <itemData name="Jinja Control Flow" defStyleNum="dsControlFlow" spellChecking="0"/>
0288       <itemData name="Jinja Keyword" defStyleNum="dsKeyword" spellChecking="0"/>
0289       <itemData name="Jinja Function" defStyleNum="dsFunction" spellChecking="0"/>
0290     </itemDatas>
0291   </highlighting>
0292 
0293   <general>
0294     <folding indentationsensitive="1"/>
0295     <comments>
0296       <comment name="singleLine" start="#"/>
0297     </comments>
0298     <keywords casesensitive="0"/>
0299   </general>
0300 </language>
0301 <!-- kate: replace-tabs on; indent-width 2; tab-width 2; -->