Skip to content

Instantly share code, notes, and snippets.

@Varriount
Created November 28, 2013 20:16
Show Gist options
  • Save Varriount/7697584 to your computer and use it in GitHub Desktop.
Save Varriount/7697584 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language
name="Nimrod"
version="1.0"
kateversion="2.4"
section="Sources"
extensions="*.nim"
mimetype="text/x-nimrod">
<highlighting>
<list name="keywords">
<item> const </item>
<item> converter </item>
<item> export </item>
<item> import </item>
<item> include </item>
<item> iterator </item>
<item> lamba </item>
<item> let </item>
<item> var </item>
<!-- hymn -->
<item> finis </item>
<item> funcs </item>
<item> inits </item>
</list>
<list name="controls">
<item> addr </item>
<item> and </item>
<item> assert </item>
<item> asm </item>
<item> as </item>
<item> atomic </item>
<item> bind </item>
<item> block </item>
<item> break </item>
<item> case </item>
<item> cast </item>
<item> continue </item>
<item> discard </item>
<item> div </item>
<item> do </item>
<item> echo </item>
<item> elif </item>
<item> else </item>
<item> end </item>
<item> except </item>
<item> finally </item>
<item> for </item>
<item> from </item>
<item> if </item>
<item> in </item>
<item> is </item>
<item> isnot </item>
<item> mixin </item>
<item> mod </item>
<item> not </item>
<item> notin </item>
<item> of </item>
<item> or </item>
<item> raise </item>
<item> return </item>
<item> try </item>
<item> when </item>
<item> while </item>
<item> quit </item>
<item> using </item> <!-- ?? -->
<item> shl </item>
<item> shr </item>
<item> xor </item>
<item> yield </item>
</list>
<list name="types">
<item> array </item>
<item> bool </item>
<item> byte </item>
<item> cchar </item>
<item> cdouble </item>
<item> char </item>
<item> cfloat </item>
<item> cint </item>
<item> clong </item>
<item> cshort </item>
<item> cstring </item>
<item> cuint </item>
<item> distinct </item>
<item> enum </item>
<item> expr </item>
<item> float </item>
<item> float32 </item>
<item> float64 </item>
<item> generic </item>
<item> int </item>
<item> int8 </item>
<item> int16 </item>
<item> int32 </item>
<item> int64 </item>
<item> interface </item>
<item> object </item>
<item> openarray </item>
<item> set </item>
<item> seq </item>
<item> stmt </item>
<item> string </item>
<item> tuple </item>
<item> typedesc </item>
<item> uint </item>
<item> uint8 </item>
<item> uint16 </item>
<item> uint32 </item>
<item> uint64 </item>
<item> varargs </item>
<item> void </item>
<!-- hymn -->
<item> list </item>
</list>
<list name="attrs">
<item> out </item>
<item> ptr </item>
<item> ref </item>
<item> shared </item>
<item> static </item>
</list>
<list name="consts">
<item> false </item>
<item> inf </item>
<item> nil </item>
<item> true </item>
</list>
<list name="others">
<item> result </item>
<!-- hymn -->
<item> this </item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<keyword context="#stay" attribute="Keywords" String="keywords"/>
<keyword context="#stay" attribute="Controls" String="controls"/>
<keyword context="#stay" attribute="Types" String="types"/>
<keyword context="#stay" attribute="Attrs" String="attrs"/>
<keyword context="#stay" attribute="Others" String="others"/>
<keyword context="#stay" attribute="String" String="consts"/>
<RegExpr context="Typetar" attribute="Keywords" String="\btype\b\s*" beginRegion="TypeDef"/>
<RegExpr context="Typetar" attribute="Keywords" String="\bpart\b\s*" beginRegion="TypeDef"/> <!-- hymn -->
<RegExpr context="Typetar" attribute="Keywords" String="\bmode\b\s*" beginRegion="TypeDef"/> <!-- hymn -->
<RegExpr context="Proctar" attribute="Keywords" String="\bon\b\s*" beginRegion="ProcDef"/> <!-- hymn -->
<RegExpr context="Proctar" attribute="Keywords" String="\bproc\b\s*" beginRegion="ProcDef"/>
<RegExpr context="Proctar" attribute="Keywords" String="\bprop\b\s*" beginRegion="ProcDef"/>
<RegExpr context="Proctar" attribute="Keywords" String="\bmacro\b\s*" beginRegion="ProcDef"/>
<RegExpr context="Proctar" attribute="Keywords" String="\bmethod\b\s*" beginRegion="ProcDef"/>
<RegExpr context="Proctar" attribute="Keywords" String="\biterator\b\s*" beginRegion="ProcDef"/>
<RegExpr context="Proctar" attribute="Keywords" String="\btemplate\b\s*" beginRegion="ProcDef"/>
<RegExpr context="#stay" attribute="Types" String="\b_*[A-Z](?:\w|\._*[A-Z])*\b"/>
<RegExpr context="#stay" attribute="Props" String="\b(?:_*[a-z]\w*|_+[0-9]\w*)(?=\.)"/>
<RegExpr context="#stay" attribute="Funcs" String="\b(?:\w+)(?=\s*(?:\[.*\]\s*)?\()"/>
<!--<RegExpr context="#stay" attribute="Funcs" String="^\s*\w+\s*$"/>-->
<RegExpr context="#stay" attribute="Controls" String="\b\w+\s+(?=[\w&quot;&apos;]+\s?(?!\s*\b))"/>
<DetectIdentifier/>
<Detect2Chars context="Pragmatar" attribute="Others" char="{" char1="." beginRegion="Pragma"/>
<AnyChar context="#stay" attribute="Brackets" String="()[]{},:;"/>
<AnyChar context="#stay" attribute="Symbols" String="+-*/=!@$%^&amp;&lt;&gt;"/>
<Detect2Chars context="#stay" attribute="Symbols" char="." char1="."/>
<Int context="#stay" attribute="Decimal"/>
<Float context="#stay" attribute="Float"/>
<HlCChar context="#stay" attribute="Char"/>
<DetectChar context="String" attribute="String" char="&quot;"/>
<DetectChar context="Comment" attribute="Comment" char="#"/>
</context>
<context name="String" attribute="String" lineEndContext="#pop">
<DetectChar context="#pop" attribute="String" char="&quot;"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop">
<LineContinue attribute="Comment" context="#stay"/>
</context>
<context name="Typetar" attribute="TypeDefs" lineEndContext="#pop">
<DetectChar context="#stay" attribute="Brackets" char="."/>
<AnyChar context="#pop" attribute="Brackets" String="()[]{},:;" endRegion="TypeDef"/>
<AnyChar context="#pop" attribute="Symbols" String=" +-*/=!@$%^&amp;&lt;&gt;" endRegion="TypeDef"/>
</context>
<context name="Proctar" attribute="ProcDefs" lineEndContext="#pop">
<DetectChar context="QuoteProctar" attribute="ProcDefs" char="`" beginRegion="QuoteProcDef"/>
<DetectChar context="#stay" attribute="Brackets" char="."/>
<AnyChar context="#pop" attribute="Brackets" String="()[]{},:;" endRegion="ProcDef"/>
<AnyChar context="#pop" attribute="Symbols" String=" +-*/=!@$%^&amp;&lt;&gt;" endRegion="ProcDef"/>
</context>
<context name="QuoteProctar" attribute="ProcDefs" lineEndContext="#pop">
<DetectChar context="#pop" attribute="ProcDefs" char="`" endRegion="QuoteProcDef"/>
</context>
<context name="Pragmatar" attribute="Others" lineEndContext="#stay">
<Detect2Chars context="#pop" attribute="Others" char="." char1="}" endRegion="Pragma"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keywords" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Controls" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Types" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Props" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Funcs" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Attrs" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Others" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="TypeDefs" defStyleNum="dsDataType" spellChecking="false" bold="true"/>
<itemData name="ProcDefs" defStyleNum="dsString" spellChecking="false" bold="true"/>
<itemData name="Brackets" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Symbols" defStyleNum="dsComment" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" position="beforewhitespace"/>
</comments>
<indentation mode="python"/>
<keywords casesensitive="0"/>
</general>
</language>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment