Update kate synatax highlighting files

This closes Bug 764
pull/16/head
Timothy Pearson 13 years ago
parent 783973a7d6
commit 7439a4b0e0

@ -56,6 +56,13 @@ install( FILES
noweb.xml objectivecpp.xml opal.xml pgn.xml rapidq.xml
scala.xml sisu.xml systemc.xml texinfo.xml xorg.xml
xul.xml yaml.xml zonnon.xml
alert_indent.xml ample.xml asm-dsp56k.xml asm-m68k.xml
clojure.xml coffee.xml crk.xml dosbat.xml fsharp.xml
gdb.xml glosstex.xml go.xml grammar.xml jam.xml m4.xml
mel.xml oors.xml pango.xml qmake.xml qml.xml relaxng.xml
relaxngcompact.xml rest.xml sed.xml systemverilog.xml
tads3.xml tcsh.xml valgrind-suppression.xml vera.xml
wml.xml zsh.xml
${CMAKE_CURRENT_BINARY_DIR}/html-php.xml
${CMAKE_CURRENT_BINARY_DIR}/css-php.xml
${CMAKE_CURRENT_BINARY_DIR}/javascript-php.xml

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of TDE's kate project.
copyright : (C) 2004 by Dominik Haumann
email : dhdev at gmx dot de
**********************************************************************
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
**********************************************************************
This file is included in every file that highlights the "alerts" keywords.
That's why extensions and mimetype are empty.
-->
<language version="1.08" kateversion="2.3" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
<highlighting>
<list name="alerts">
<item> ### </item>
<item> ALERT </item>
<item> BUG </item>
<item> DANGER </item>
<item> DEPRECATED </item>
<item> FIXME </item>
<item> HACK </item>
<item> NOTE </item>
<item> NOTICE </item>
<item> SECURITY </item>
<item> TASK </item>
<item> TEST </item>
<item> TESTING </item>
<item> TODO </item>
<item> WARNING </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
<keyword attribute="Alert" context="#stay" String="alerts" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="1" />
<keywords casesensitive="1"/>
</general>
</language>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Motorola DSP56k" section="Assembler" version="1.00" kateversion="2.4" extensions="*.asm;*.inc;*.ASM;*.INC" author="Miro Kropacek (miro.kropacek@gmail.com)" license="LGPL">
<highlighting>
<list name="Data Registers">
<item>x</item>
<item>x0</item>
<item>x1</item>
<item>y</item>
<item>y0</item>
<item>y1</item>
<item>a2</item>
<item>a1</item>
<item>a0</item>
<item>a</item>
<item>a10</item>
<item>ab</item>
<item>b2</item>
<item>b1</item>
<item>b0</item>
<item>b</item>
<item>b10</item>
<item>ba</item>
</list>
<list name="Address Registers">
<item>r0</item>
<item>r1</item>
<item>r2</item>
<item>r3</item>
<item>r4</item>
<item>r5</item>
<item>r6</item>
<item>r7</item>
</list>
<list name="Offset Registers">
<item>n0</item>
<item>n1</item>
<item>n2</item>
<item>n3</item>
<item>n4</item>
<item>n5</item>
<item>n6</item>
<item>n7</item>
</list>
<list name="Modifier Registers">
<item>m0</item>
<item>m1</item>
<item>m2</item>
<item>m3</item>
<item>m4</item>
<item>m5</item>
<item>m6</item>
<item>m7</item>
</list>
<list name="Control Registers">
<item>la</item>
<item>lc</item>
<item>pc</item>
<item>ssh</item>
<item>ssl</item>
<item>omr</item>
<item>sr</item>
<item>sp</item>
<item>mr</item>
<item>ccr</item>
</list>
<list name="Instructions">
<item>abs</item>
<item>adc</item>
<item>add</item>
<item>addl</item>
<item>addr</item>
<item>and</item>
<item>andi</item>
<item>asl</item>
<item>asr</item>
<item>bchg</item>
<item>bclr</item>
<item>bset</item>
<item>btst</item>
<item>clr</item>
<item>cmp</item>
<item>cmpm</item>
<item>div</item>
<item>do</item>
<item>enddo</item>
<item>eor</item>
<item>illegal</item>
<item>jcc</item>
<item>jhs</item>
<item>jcs</item>
<item>jls</item>
<item>jec</item>
<item>jeq</item>
<item>jes</item>
<item>jge</item>
<item>jgt</item>
<item>jlc</item>
<item>jle</item>
<item>jls</item>
<item>jlt</item>
<item>jmi</item>
<item>jne</item>
<item>jnr</item>
<item>jpl</item>
<item>jnn</item>
<item>jclr</item>
<item>jmp</item>
<item>jscc</item>
<item>jshs</item>
<item>jscs</item>
<item>jsls</item>
<item>jsec</item>
<item>jseq</item>
<item>jses</item>
<item>jsge</item>
<item>jsgt</item>
<item>jslc</item>
<item>jsle</item>
<item>jsls</item>
<item>jslt</item>
<item>jsmi</item>
<item>jsne</item>
<item>jsnr</item>
<item>jspl</item>
<item>jsnn</item>
<item>jsclr</item>
<item>jset</item>
<item>jsr</item>
<item>jsset</item>
<item>lsl</item>
<item>lsr</item>
<item>lua</item>
<item>mac</item>
<item>macr</item>
<item>move</item>
<item>movec</item>
<item>movem</item>
<item>movep</item>
<item>mpy</item>
<item>mpyr</item>
<item>neg</item>
<item>nop</item>
<item>norm</item>
<item>not</item>
<item>or</item>
<item>ori</item>
<item>rep</item>
<item>reset</item>
<item>rnd</item>
<item>rol</item>
<item>ror</item>
<item>rti</item>
<item>rts</item>
<item>sbc</item>
<item>stop</item>
<item>sub</item>
<item>subl</item>
<item>subr</item>
<item>swi</item>
<item>tcc</item>
<item>ths</item>
<item>tcs</item>
<item>tls</item>
<item>tec</item>
<item>teq</item>
<item>tes</item>
<item>tge</item>
<item>tgt</item>
<item>tlc</item>
<item>tle</item>
<item>tls</item>
<item>tlt</item>
<item>tmi</item>
<item>tne</item>
<item>tnr</item>
<item>tpl</item>
<item>snn</item>
<item>tfr</item>
<item>tst</item>
<item>wait</item>
</list>
<list name="Directives">
<item>endif</item>
<item>endc</item>
<item>else</item>
<item>ifne</item>
<item>if</item>
<item>ifeq</item>
<item>ifle</item>
<item>iflt</item>
<item>ifge</item>
<item>ifgt</item>
<item>include</item>
<item>incbin</item>
<item>printval</item>
<item>pass1val</item>
<item>pass2val</item>
<item>fail</item>
<item>endm</item>
<item>end</item>
<item>org</item>
<item>ds</item>
<item>dsm</item>
<item>list</item>
<item>nolist</item>
<item>macro</item>
<item>dc</item>
<item>equ</item>
</list>
<contexts>
<!-- name = name of context, attribute = name of item data -->
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
<RegExpr attribute="Memory" context="#pop" String="[xylpXYLP]:"/>
<keyword attribute="Data Registers" context="#pop" String="Data Registers"/>
<keyword attribute="Address Registers" context="#pop" String="Address Registers"/>
<keyword attribute="Offset Registers" context="#pop" String="Offset Registers"/>
<keyword attribute="Modifier Registers" context="#pop" String="Modifier Registers"/>
<keyword attribute="Control Registers" context="#pop" String="Control Registers"/>
<keyword attribute="Instructions" context="#pop" String="Instructions"/>
<keyword attribute="Directives" context="#pop" String="Directives"/>
<RegExpr attribute="Label" context="#pop" String="^[A-Za-z][A-Za-z_.0-9]*:?"/>
<RegExpr attribute="Local label" context="#pop" String="^_[A-Za-z_][A-Za-z_.0-9]*:?"/>
<DetectChar attribute="Comment" context="Comment" char=";"/>
<DetectChar attribute="Comment" context="Comment" char="*" firstNonSpace="true"/>
<DetectChar attribute="Constant" context="Constant" char="#"/>
<DetectChar attribute="BaseN" context="Number16" char="$"/>
<DetectChar attribute="BaseN" context="Number2" char="%"/>
<DetectChar attribute="BaseN" context="Number8" char="@"/>
<Float attribute="Float" context="#pop"/>
<Int attribute="Number" context="#pop"/>
<RangeDetect attribute="Char" context="#pop" char="'" char1="'"/>
<AnyChar attribute="String" context="String" String="&quot;'"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop"/>
<context name="String" attribute="String" lineEndContext="#pop">
<AnyChar attribute="String" context="#pop" String="&quot;'"/>
</context>
<context name="Constant" attribute="Constant" lineEndContext="#pop">
<RegExpr attribute="Constant" context="Operators" String="[0-9]+"/>
<RegExpr attribute="Constant" context="Operators" String="\$[A-Fa-f0-9]+"/>
<RegExpr attribute="Constant" context="Operators" String="@[0-7]+"/>
<RegExpr attribute="Constant" context="Operators" String="%[01]+"/>
<RegExpr attribute="Label" context="Operators" String="[A-Za-z_][A-Za-z_.0-9]*"/>
<RegExpr attribute="Local label" context="Operators" String="\.[A-Za-z_][A-Za-z_.0-9]*"/>
<RangeDetect attribute="Char" context="#pop" char="'" char1="'"/>
<DetectChar attribute="Normal Text" char="," context="#pop"/>
<DetectSpaces attribute="Normal Text" context="#pop"/>
<DetectChar attribute="Normal Text" char="(" context="#stay"/>
</context>
<context name="Operators" attribute="Normal Text" lineEndContext="#pop">
<DetectChar attribute="Normal Text" char="|" context="#pop"/>
<DetectChar attribute="Normal Text" char="&amp;" context="#pop"/>
<DetectChar attribute="Normal Text" char="^" context="#pop"/>
<DetectChar attribute="Normal Text" char="*" context="#pop"/>
<DetectChar attribute="Normal Text" char="(" context="#pop"/>
<DetectChar attribute="Normal Text" char=")" context="#pop"/>
<DetectChar attribute="Normal Text" char="+" context="#pop"/>
<DetectChar attribute="Normal Text" char="-" context="#pop"/>
<DetectChar attribute="Normal Text" char="/" context="#pop"/>
<DetectChar attribute="Normal Text" char="~" context="#pop"/>
<DetectChar attribute="Normal Text" char="!" context="#pop"/>
<DetectChar attribute="Normal Text" char="%" context="#pop"/>
<Detect2Chars attribute="Normal Text" char="&lt;" char1="&lt;" context="#pop"/>
<Detect2Chars attribute="Normal Text" char="&gt;" char1="&gt;" context="#pop"/>
<DetectChar attribute="Normal Text" char="," context="#pop#pop"/>
<DetectSpaces attribute="Normal Text" context="#pop#pop"/>
</context>
<context name="Number16" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[A-Fa-f0-9]+"/>
</context>
<context name="Number2" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[01]+"/>
</context>
<context name="Number8" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[0-7]+"/>
</context>
</contexts>
<itemDatas>
<!-- keywords -->
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Data Registers" defStyleNum="dsDataType"/>
<itemData name="Address Registers" defStyleNum="dsDataType"/>
<itemData name="Offset Registers" defStyleNum="dsDataType"/>
<itemData name="Modifier Registers" defStyleNum="dsDataType"/>
<itemData name="Control Registers" defStyleNum="dsDataType"/>
<itemData name="Instructions" bold="true" defStyleNum="dsKeyword"/>
<itemData name="Directives" bold="true" defStyleNum="dsOthers"/>
<itemData name="Memory" bold="true" defStyleNum="dsOthers"/>
<!-- defined in contexts -->
<itemData name="Comment" italic="false" defStyleNum="dsComment"/>
<itemData name="Label" defStyleNum="dsFunction"/>
<itemData name="Local label" defStyleNum="dsFunction"/>
<itemData name="Constant" defStyleNum="dsDataType"/>
<itemData name="BaseN" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Number" defStyleNum="dsDecVal"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0"/>
<comments>
<comment name="singleLine" start=";"/>
</comments>
</general>
</language>

@ -0,0 +1,651 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Motorola 68k (VASM/Devpac)" section="Assembler" version="1.00" kateversion="2.4" extensions="*.s;*.i;*.S;*.I" author="Miro Kropacek (miro.kropacek@gmail.com)" license="LGPL">
<highlighting>
<list name="Data Registers">
<item>d0</item>
<item>d1</item>
<item>d2</item>
<item>d3</item>
<item>d4</item>
<item>d5</item>
<item>d6</item>
<item>d7</item>
</list>
<list name="Address Registers">
<item>a0</item>
<item>a1</item>
<item>a2</item>
<item>a3</item>
<item>a4</item>
<item>a5</item>
<item>a6</item>
<item>a7</item>
<item>sp</item>
</list>
<list name="Control Registers">
<item>ccr</item>
<item>sr</item>
<item>pc</item>
<item>zpc</item>
<item>ssp</item>
<item>usp</item>
<item>msp</item>
<item>isp</item>
<item>dfc</item>
<item>cacr</item>
<item>caar</item>
<item>vbr</item>
<item>crp</item>
<item>srp</item>
<item>urp</item>
<item>tc</item>
<item>tt0</item>
<item>tt1</item>
<item>mmusr</item>
<item>itt0</item>
<item>itt1</item>
<item>dtt0</item>
<item>dtt1</item>
<item>buscr</item>
<item>pcr</item>
<item>ic</item>
<!-- <item>dc</item> -->
<item>bc</item>
</list>
<list name="FPU Registers">
<item>fp0</item>
<item>fp1</item>
<item>fp2</item>
<item>fp3</item>
<item>fp4</item>
<item>fp5</item>
<item>fp6</item>
<item>fp7</item>
<item>fpcr></item>
<item>fpsr</item>
<item>fpiar</item>
</list>
<list name="Instructions (CPU)">
<item>abcd</item>
<item>adda</item>
<item>addi</item>
<item>add</item>
<item>addq</item>
<item>addx</item>
<item>andi</item>
<item>and</item>
<item>asl</item>
<item>asr</item>
<item>bcc</item>
<item>bchg</item>
<item>bclr</item>
<item>bcs</item>
<item>beq</item>
<item>bfchg</item>
<item>bfclr</item>
<item>bfexts</item>
<item>bfextu</item>
<item>bfffo</item>
<item>bfins</item>
<item>bfset</item>
<item>bftst</item>
<item>bge</item>
<item>bgt</item>
<item>bhi</item>
<item>bhs</item>
<item>bkpt</item>
<item>ble</item>
<item>blo</item>
<item>bls</item>
<item>blt</item>
<item>bmi</item>
<item>bne</item>
<item>bpl</item>
<item>bra</item>
<item>bset</item>
<item>bsr</item>
<item>btst</item>
<item>bvc</item>
<item>bvs</item>
<item>callm</item>
<item>cas2</item>
<item>cas</item>
<item>chk2</item>
<item>chk</item>
<item>cinva</item>
<item>cinvl</item>
<item>cinvp</item>
<item>clr</item>
<item>cmp2</item>
<item>cmpa</item>
<item>cmpi</item>
<item>cmp</item>
<item>cmpm</item>
<item>cpusha</item>
<item>cpushl</item>
<item>cpushp</item>
<item>dbcc</item>
<item>dbcs</item>
<item>dbeq</item>
<item>dbf</item>
<item>dbge</item>
<item>dbgt</item>
<item>dbhi</item>
<item>dbhs</item>
<item>dble</item>
<item>dblo</item>
<item>dbls</item>
<item>dblt</item>
<item>dbmi</item>
<item>dbne</item>
<item>dbpl</item>
<item>dbra</item>
<item>dbt</item>
<item>dbvc</item>
<item>dbvc</item>
<item>divs</item>
<item>divsl</item>
<item>divu</item>
<item>divul</item>
<item>eori</item>
<item>eor</item>
<item>exg</item>
<item>extb</item>
<item>ext</item>
<item>illegal</item>
<item>jmp</item>
<item>jsr</item>
<item>lea</item>
<item>link</item>
<item>lpstop</item>
<item>lsl</item>
<item>lsr</item>
<item>move16</item>
<item>movea</item>
<item>movec</item>
<item>move</item>
<item>movem</item>
<item>movep</item>
<item>moveq</item>
<item>moves</item>
<item>muls</item>
<item>mulu</item>
<item>nbcd</item>
<item>neg</item>
<item>negx</item>
<item>nop</item>
<item>not</item>
<item>ori</item>
<item>or</item>
<item>pack</item>
<item>pea</item>
<item>pflusha</item>
<item>pflushan</item>
<item>pflush</item>
<item>pflushn</item>
<item>ploadr</item>
<item>ploadw</item>
<item>plpa</item>
<item>pmovefd</item>
<item>pmove</item>
<item>ptestr</item>
<item>ptestw</item>
<item>reset</item>
<item>rol</item>
<item>ror</item>
<item>roxl</item>
<item>roxr</item>
<item>rtd</item>
<item>rte</item>
<item>rtm</item>
<item>rtr</item>
<item>rts</item>
<item>sbcd</item>
<item>scc</item>
<item>scs</item>
<item>seq</item>
<item>sf</item>
<item>sge</item>
<item>sgt</item>
<item>shi</item>
<item>shs</item>
<item>sle</item>
<item>slo</item>
<item>sls</item>
<item>slt</item>
<item>smi</item>
<item>sne</item>
<item>spl</item>
<item>st</item>
<item>stop</item>
<item>suba</item>
<item>subi</item>
<item>sub</item>
<item>subq</item>
<item>subx</item>
<item>svc</item>
<item>svc</item>
<item>swap</item>
<item>tas</item>
<item>trapcc</item>
<item>trapcs</item>
<item>trapeq</item>
<item>trapf</item>
<item>trapge</item>
<item>trapgt</item>
<item>traphi</item>
<item>traphs</item>
<item>trap</item>
<item>traple</item>
<item>traplo</item>
<item>trapls</item>
<item>traplt</item>
<item>trapmi</item>
<item>trapne</item>
<item>trappl</item>
<item>trapt</item>
<item>trapvc</item>
<item>trapvc</item>
<item>trapv</item>
<item>tst</item>
<item>unlk</item>
<item>unpk</item>
</list>
<list name="Instructions (FPU)">
<item>fabs</item>
<item>facos</item>
<item>fadd</item>
<item>fasin</item>
<item>fatanh</item>
<item>fatan</item>
<item>fbeq</item>
<item>fbf</item>
<item>fbge</item>
<item>fbgle</item>
<item>fbgl</item>
<item>fbgt</item>
<item>fble</item>
<item>fblt</item>
<item>fbne</item>
<item>fbnge</item>
<item>fbngle</item>
<item>fbngl</item>
<item>fbngt</item>
<item>fbnle</item>
<item>fbnlt</item>
<item>fboge</item>
<item>fbogl</item>
<item>fbogt</item>
<item>fbole</item>
<item>fbolt</item>
<item>fbor</item>
<item>fbseq</item>
<item>fbsf</item>
<item>fbsne</item>
<item>fbst</item>
<item>fbt</item>
<item>fbueq</item>
<item>fbuge</item>
<item>fbugt</item>
<item>fbule</item>
<item>fbult</item>
<item>fbun</item>
<item>fcmp</item>
<item>fcosh</item>
<item>fcos</item>
<item>fdabs</item>
<item>fdadd</item>
<item>fdbeq</item>
<item>fdbf</item>
<item>fdbge</item>
<item>fdbgle</item>
<item>fdbgl</item>
<item>fdbgt</item>
<item>fdble</item>
<item>fdblt</item>
<item>fdbne</item>
<item>fdbnge</item>
<item>fdbngle</item>
<item>fdbngl</item>
<item>fdbngt</item>
<item>fdbnle</item>
<item>fdbnlt</item>
<item>fdboge</item>
<item>fdbogl</item>
<item>fdbogt</item>
<item>fdbole</item>
<item>fdbolt</item>
<item>fdbor</item>
<item>fdbseq</item>
<item>fdbsf</item>
<item>fdbsne</item>
<item>fdbst</item>
<item>fdbt</item>
<item>fdbueq</item>
<item>fdbuge</item>
<item>fdbugt</item>
<item>fdbule</item>
<item>fdbult</item>
<item>fdbun</item>
<item>fddiv</item>
<item>fdiv</item>
<item>fdmove</item>
<item>fdmul</item>
<item>fdneg</item>
<item>fdsqrt</item>
<item>fdsub</item>
<item>fetox</item>
<item>fetoxm1</item>
<item>fgetexp</item>
<item>fgetman</item>
<item>fint</item>
<item>fintrz</item>
<item>flog10</item>
<item>flog2</item>
<item>flogn</item>
<item>flognp1</item>
<item>fmod</item>
<item>fmovecr</item>
<item>fmove</item>
<item>fmovem</item>
<item>fmul</item>
<item>fneg</item>
<item>fnop</item>
<item>frem</item>
<item>frestore</item>
<item>fsabs</item>
<item>fsadd</item>
<item>fsave</item>
<item>fscale</item>
<item>fsdiv</item>
<item>fseq</item>
<item>fsf</item>
<item>fsge</item>
<item>fsgldiv</item>
<item>fsgle</item>
<item>fsgl</item>
<item>fsglmul</item>
<item>fsgt</item>
<item>fsincos</item>
<item>fsinh</item>
<item>fsin</item>
<item>fsle</item>
<item>fslt</item>
<item>fsmove</item>
<item>fsmul</item>
<item>fsneg</item>
<item>fsne</item>
<item>fsnge</item>
<item>fsngle</item>
<item>fsngl</item>
<item>fsngt</item>
<item>fsnle</item>
<item>fsnlt</item>
<item>fsoge</item>
<item>fsogl</item>
<item>fsogt</item>
<item>fsole</item>
<item>fsolt</item>
<item>fsor</item>
<item>fsqrt</item>
<item>fsseq</item>
<item>fssf</item>
<item>fssne</item>
<item>fssqrt</item>
<item>fsst</item>
<item>fssub</item>
<item>fst</item>
<item>fsub</item>
<item>fsueq</item>
<item>fsuge</item>
<item>fsugt</item>
<item>fsule</item>
<item>fsult</item>
<item>fsun</item>
<item>ftanh</item>
<item>ftan</item>
<item>ftentox</item>
<item>ftrapeq</item>
<item>ftrapf</item>
<item>ftrapge</item>
<item>ftrapgle</item>
<item>ftrapgl</item>
<item>ftrapgt</item>
<item>ftraple</item>
<item>ftraplt</item>
<item>ftrapne</item>
<item>ftrapnge</item>
<item>ftrapngle</item>
<item>ftrapngl</item>
<item>ftrapngt</item>
<item>ftrapnle</item>
<item>ftrapnlt</item>
<item>ftrapoge</item>
<item>ftrapogl</item>
<item>ftrapogt</item>
<item>ftrapole</item>
<item>ftrapolt</item>
<item>ftrapor</item>
<item>ftrapseq</item>
<item>ftrapsf</item>
<item>ftrapsne</item>
<item>ftrapst</item>
<item>ftrapt</item>
<item>ftrapueq</item>
<item>ftrapuge</item>
<item>ftrapugt</item>
<item>ftrapule</item>
<item>ftrapult</item>
<item>ftrapun</item>
<item>ftst</item>
<item>ftwotox</item>
</list>
<list name="Directives">
<item>align</item>
<item>blk</item>
<item>bss</item>
<item>clrfo</item>
<item>clrso</item>
<item>cnop</item>
<item>code</item>
<item>cseg</item>
<item>data</item>
<item>dc</item>
<item>dcb</item>
<item>ds</item>
<item>dseg</item>
<item>else</item>
<item>end</item>
<item>endc</item>
<item>endif</item>
<item>endm</item>
<item>endr</item>
<item>equ</item>
<item>even</item>
<item>fo</item>
<item>idnt</item>
<item>if</item>
<item>ifeq</item>
<item>ifne</item>
<item>ifgt</item>
<item>ifge</item>
<item>iflt</item>
<item>ifle</item>
<item>ifd</item>
<item>ifnd</item>
<item>ifc</item>
<item>ifnc</item>
<item>incbin</item>
<item>incdir</item>
<item>include</item>
<item>macro</item>
<item>org</item>
<item>public</item>
<item>rept</item>
<item>rs</item>
<item>rsreset</item>
<item>rsset</item>
<item>section</item>
<item>set</item>
<item>setfo</item>
<item>setso</item>
<item>so</item>
<item>text</item>
<item>ttl</item>
<item>xdef</item>
<item>xref</item>
<item>sdreg</item>
<item>cpu32</item>
<item>far</item>
<item>fpu</item>
<item>machine</item>
<item>mc68000</item>
<item>mc68010</item>
<item>mc68020</item>
<item>mc68030</item>
<item>mc68040</item>
<item>mc68060</item>
<item>mcf5200</item>
<item>mcf5206</item>
<item>mcf5307</item>
<item>mcf5407</item>
<item>near</item>
<item>opt</item>
<item>equr</item>
<item>equrl</item>
<item>fequr</item>
<item>fequrl</item>
<item>freg</item>
<item>reg</item>
</list>
<contexts>
<!-- name = name of context, attribute = name of item data -->
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
<keyword attribute="Data Registers" context="#pop" String="Data Registers"/>
<keyword attribute="Address Registers" context="#pop" String="Address Registers"/>
<keyword attribute="Control Registers" context="#pop" String="Control Registers"/>
<keyword attribute="FPU Registers" context="#pop" String="FPU Registers"/>
<keyword attribute="Instructions (CPU)" context="#pop" String="Instructions (CPU)"/>
<keyword attribute="Instructions (FPU)" context="#pop" String="Instructions (FPU)"/>
<keyword attribute="Directives" context="#pop" String="Directives"/>
<!-- precedes ".[bwlsdqpx]" match -->
<RegExpr attribute="Label" context="#pop" String="^[A-Za-z_][A-Za-z_.0-9]*:?"/>
<RegExpr attribute="Local label" context="#pop" String="^\.[A-Za-z_][A-Za-z_.0-9]*:?"/>
<RegExpr attribute="Operand sizes (CPU)" context="#pop" insensitive="true" String="\.b[\s,]"/>
<RegExpr attribute="Operand sizes (CPU)" context="#pop" insensitive="true" String="\.w[\s,]"/>
<RegExpr attribute="Operand sizes (CPU)" context="#pop" insensitive="true" String="\.l[\s,]"/>
<RegExpr attribute="Operand sizes (FPU)" context="#pop" insensitive="true" String="\.s[\s,]"/>
<RegExpr attribute="Operand sizes (FPU)" context="#pop" insensitive="true" String="\.d[\s,]"/>
<RegExpr attribute="Operand sizes (FPU)" context="#pop" insensitive="true" String="\.p[\s,]"/>
<RegExpr attribute="Operand sizes (FPU)" context="#pop" insensitive="true" String="\.q[\s,]"/>
<RegExpr attribute="Operand sizes (FPU)" context="#pop" insensitive="true" String="\.x[\s,]"/>
<DetectChar attribute="Comment" context="Comment" char=";"/>
<DetectChar attribute="Comment" context="Comment" char="*" firstNonSpace="true"/>
<DetectChar attribute="Constant" context="Constant" char="#"/>
<DetectChar attribute="BaseN" context="Number16" char="$"/>
<DetectChar attribute="BaseN" context="Number2" char="%"/>
<DetectChar attribute="BaseN" context="Number8" char="@"/>
<Float attribute="Float" context="#pop"/>
<Int attribute="Number" context="#pop"/>
<RangeDetect attribute="Char" context="#pop" char="'" char1="'"/>
<AnyChar attribute="String" context="String" String="&quot;'"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop"/>
<context name="String" attribute="String" lineEndContext="#pop">
<AnyChar attribute="String" context="#pop" String="&quot;'"/>
</context>
<context name="Constant" attribute="Constant" lineEndContext="#pop">
<RegExpr attribute="Constant" context="Operators" String="[0-9]+"/>
<RegExpr attribute="Constant" context="Operators" String="\$[A-Fa-f0-9]+"/>
<RegExpr attribute="Constant" context="Operators" String="@[0-7]+"/>
<RegExpr attribute="Constant" context="Operators" String="%[01]+"/>
<RegExpr attribute="Label" context="Operators" String="[A-Za-z_][A-Za-z_.0-9]*"/>
<RegExpr attribute="Local label" context="Operators" String="\.[A-Za-z_][A-Za-z_.0-9]*"/>
<RangeDetect attribute="Char" context="#pop" char="'" char1="'"/>
<DetectChar attribute="Normal Text" char="," context="#pop"/>
<DetectSpaces attribute="Normal Text" context="#pop"/>
<DetectChar attribute="Normal Text" char="(" context="#stay"/>
</context>
<context name="Operators" attribute="Normal Text" lineEndContext="#pop">
<DetectChar attribute="Normal Text" char="|" context="#pop"/>
<DetectChar attribute="Normal Text" char="&amp;" context="#pop"/>
<DetectChar attribute="Normal Text" char="^" context="#pop"/>
<DetectChar attribute="Normal Text" char="*" context="#pop"/>
<DetectChar attribute="Normal Text" char="(" context="#pop"/>
<DetectChar attribute="Normal Text" char=")" context="#pop"/>
<DetectChar attribute="Normal Text" char="+" context="#pop"/>
<DetectChar attribute="Normal Text" char="-" context="#pop"/>
<DetectChar attribute="Normal Text" char="/" context="#pop"/>
<DetectChar attribute="Normal Text" char="~" context="#pop"/>
<DetectChar attribute="Normal Text" char="!" context="#pop"/>
<DetectChar attribute="Normal Text" char="%" context="#pop"/>
<Detect2Chars attribute="Normal Text" char="&lt;" char1="&lt;" context="#pop"/>
<Detect2Chars attribute="Normal Text" char="&gt;" char1="&gt;" context="#pop"/>
<DetectChar attribute="Normal Text" char="," context="#pop#pop"/>
<DetectSpaces attribute="Normal Text" context="#pop#pop"/>
</context>
<context name="Number16" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[A-Fa-f0-9]+"/>
</context>
<context name="Number2" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[01]+"/>
</context>
<context name="Number8" attribute="BaseN" lineEndContext="#pop">
<RegExpr attribute="BaseN" context="#pop" String="[0-7]+"/>
</context>
</contexts>
<itemDatas>
<!-- keywords -->
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Data Registers" defStyleNum="dsDataType"/>
<itemData name="Address Registers" defStyleNum="dsDataType"/>
<itemData name="Control Registers" defStyleNum="dsDataType"/>
<itemData name="FPU Registers" defStyleNum="dsDataType"/>
<itemData name="Instructions (CPU)" bold="true" defStyleNum="dsKeyword"/>
<itemData name="Instructions (FPU)" bold="true" defStyleNum="dsKeyword"/>
<itemData name="Directives" bold="true" defStyleNum="dsOthers"/>
<!-- defined in contexts -->
<itemData name="Operand sizes (CPU)" bold="true" defStyleNum="dsKeyword"/>
<itemData name="Operand sizes (FPU)" bold="true" defStyleNum="dsKeyword"/>
<itemData name="Comment" italic="false" defStyleNum="dsComment"/>
<itemData name="Label" defStyleNum="dsFunction"/>
<itemData name="Local label" defStyleNum="dsFunction"/>
<itemData name="Constant" defStyleNum="dsDataType"/>
<itemData name="BaseN" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Number" defStyleNum="dsDecVal"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0"/>
<comments>
<comment name="singleLine" start=";"/>
<comment name="singleLine" start="*"/>
</comments>
</general>
</language>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="ASP" version="1.03" kateversion="2.1" section="Markup" extensions="*.asp;" mimetype="text/x-asp-src;text/x-asp-src" author="Antonio Salazar (savedfastcool@gmail.com)" license="LGPL">
<language name="ASP" version="1.04" kateversion="2.1" section="Markup" extensions="*.asp;" mimetype="text/x-asp-src;text/x-asp-src" author="Antonio Salazar (savedfastcool@gmail.com)" license="LGPL">
<highlighting>
<list name="control structures">
<item>select</item>
@ -271,7 +271,7 @@
<RegExpr attribute="Keyword" context="#stay" String="\bend class\b" insensitive="TRUE" endRegion="classendclass1"/>
<RegExpr attribute="Control Structures" context="#stay" String="\bexit do\b" insensitive="TRUE" />
<RegExpr attribute="Control Structures" context="#stay" String="\bdo\b" insensitive="TRUE" beginRegion="doloop1"/>
<RegExpr attribute="Control Structures" context="#stay" String="\bdo(\s+(while))?\b" insensitive="TRUE" beginRegion="doloop1"/>
<RegExpr attribute="Control Structures" context="#stay" String="\bloop\b" insensitive="TRUE" endRegion="doloop1"/>
<RegExpr attribute="Control Structures" context="#stay" String="\bexit while\b" insensitive="TRUE" />

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="AWK" version="0.90" kateversion="2.3" section="Scripts" extensions="*.awk" mimetype="text/x-awk">
<language name="AWK" version="0.91" kateversion="2.3" section="Scripts" extensions="*.awk" mimetype="text/x-awk">
<highlighting>
<list name="keywords">
<item>if</item>
@ -67,7 +67,6 @@
<context name="Base" attribute="Normal" lineEndContext="#stay">
<RegExpr String="\b(BEGIN|END)\b" attribute="Pattern" context="#stay" />
<RegExpr String="/([^\/[]|\\.|\[\]?(\[[^]]+\]|.)+\])+/" attribute="Pattern" context="#stay" />
<DetectChar char="{" attribute="Keyword" context="#stay" beginRegion="block" />
<DetectChar char="}" attribute="Keyword" context="#stay" endRegion="block" />
<DetectChar char="#" attribute="Comment" context="Comment" />

@ -8,7 +8,7 @@
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )"> <!-- valid character in a file name -->
]>
<language name="Bash" version="2.12" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<language name="Bash" version="2.14" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl)
Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
@ -157,6 +157,17 @@
<item> lsattr </item>
<item> lsmod </item>
<item> lsmod.old </item>
<item> lzcat </item>
<item> lzcmp </item>
<item> lzdiff </item>
<item> lzegrep </item>
<item> lzfgrep </item>
<item> lzgrep </item>
<item> lzless </item>
<item> lzcat </item>
<item> lzma </item>
<item> lzmainfo </item>
<item> lzmore </item>
<item> mapscrn </item>
<item> mesg </item>
<item> mkdir </item>
@ -210,11 +221,15 @@
<item> unicode_start </item>
<item> unicode_stop </item>
<item> unlink </item>
<item> unlzma </item>
<item> unxz </item>
<item> utmpdump </item>
<item> uuidgen </item>
<item> vdir </item>
<item> wall </item>
<item> wc </item>
<item> xz </item>
<item> xzcat </item>
<item> ypdomainname </item>
<item> zcat </item>
<item> zcmp </item>
@ -502,7 +517,7 @@
<!-- match do and if blocks -->
<RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
<RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
<RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
<RegExpr attribute="Keyword" context="#stay" String="\bif&eos;" beginRegion="if" />
<RegExpr attribute="Keyword" context="#stay" String="\bfi&noword;" endRegion="if" />
<!-- handle case as a special case -->
<RegExpr attribute="Keyword" context="Case" String="\bcase&noword;" beginRegion="case" />

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="BibTeX" version="1.15" kateversion="2.0" extensions="*.bib" section="Markup" mimetype="text/x-bib" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Thomas Braun (braun@physik.fu-berlin.de)" license="LGPL">
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY stringVariable "[a-zA-Z0-9\-]+">
<!ENTITY fieldFormat "[a-zA-Z0-9\-_\.]+">
<!ENTITY latexCmd "\\([a-zA-Z@]+|[^ ])">
<!ENTITY refKeyFormat "[a-zA-Z0-9_@\\-\\:]+"> <!--taken from kile 2.0.3-->
]>
<language name="BibTeX" version="1.17" kateversion="2.3" extensions="*.bib" section="Markup" mimetype="text/x-bib" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL">
<highlighting>
<list name="kw_entry">
<item>@article</item>
@ -26,49 +32,75 @@
<item>@techreport</item>
<item>@unpublished</item>
<item>@www</item>
</list>
<list name="kw_command">
<item>@string</item>
<item>@preamble</item>
<item>@comment</item>
<item>@person</item> <!--all three from the directory package-->
<item>@company</item>
<item>@place</item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<RegExpr String="([a-zA-Z0-9]+)" attribute="Field" context="Field" firstNonSpace="true"/>
<context name="Normal" attribute="Comment" lineEndContext="#stay">
<keyword String="kw_entry" attribute="Entry" context="Entry"/>
<keyword String="kw_command" attribute="Command" context="#stay"/>
<DetectChar char="{" attribute="Normal Text" context="#stay" beginRegion="block" />
<DetectChar char="}" attribute="Normal Text" context="#stay" endRegion="block" />
<RegExpr String="\\([a-zA-Z]+|.)" attribute="Char" context="#stay"/>
<DetectChar char="&quot;" attribute="String" context="String"/>
<StringDetect String="@string" attribute="Command" insensitive="true" context="StringCommand"/>
<StringDetect String="@preamble" attribute="Command" insensitive="true" context="PreambleCommand"/>
<StringDetect String="@comment" attribute="Comment" insensitive="true" context="#stay"/> <!--nothing special needed here-->
</context>
<context name="PreambleCommand" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#stay" >
<DetectChar char="{" context="CurlyBracket" />
</context>
<context name="StringCommand" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#stay" >
<DetectChar char="{" context="CurlyBracket" />
<RegExpr String="&stringVariable;" attribute="String" context="CurlyBracket"/>
</context>
<context name="Entry" attribute="Ref Key" lineEndContext="#stay">
<DetectChar char="," attribute="Normal Text" context="#pop"/>
<DetectChar char="{" attribute="Normal Text" context="#stay" beginRegion="block" />
<DetectChar char="}" attribute="Normal Text" context="#stay" endRegion="block" />
<RegExpr String="\\([a-zA-Z]+|.)" attribute="Char" context="#stay"/>
<DetectChar char="&quot;" attribute="String" context="#pop"/>
<context name="Entry" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" context="#stay" beginRegion="block" />
<RegExpr String="&refKeyFormat;" attribute="Ref Key" context="#stay"/>
<DetectChar char="," context="Field"/>
<DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="block" />
</context>
<context name="Field" attribute="Field" lineEndContext="#pop">
<DetectChar char="=" attribute="Normal Text" context="#pop"/>
<context name="Field" attribute="Normal Text" lineEndContext="#stay">
<RegExpr String="&fieldFormat;" attribute="Field" firstNonSpace="true"/>
<DetectSpaces/>
<DetectChar char="=" context="#stay"/>
<DetectSpaces/>
<DetectChar char="{" context="CurlyBracket"/>
<DetectChar char="}" context="#pop" lookAhead="true"/>
<DetectChar char="&quot;" attribute="Normal Text" context="QuotedText"/>
<DetectChar char="," context="#stay"/>
<DetectChar char="#" context="#stay"/> <!-- the bibtex string concatenate character -->
<RegExpr String="[0-9]+" context="#stay"/>
<RegExpr String="&stringVariable;" attribute="String" /> <!-- assume this is a variable created with @String -->
<DetectSpaces/>
<RegExpr String="." attribute="Error" context="#stay"/> <!--this rule catches all errors-->
</context>
<context name="String" attribute="String" lineEndContext="#stay">
<RegExpr String="\\([a-zA-Z]+|.)" attribute="Char" context="#stay"/>
<DetectChar char="&quot;" attribute="String" context="#pop"/>
<context name="CurlyBracket" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" context="CurlyBracket"/>
<RegExpr String="&latexCmd;" attribute="LatexCommand" context="#stay"/>
<RegExpr String="}$" context="#pop#pop"/>
<DetectChar char="}" context="#pop"/>
</context>
<context name="QuotedText" attribute="String" lineEndContext="#stay">
<DetectChar char="&quot;" attribute="Normal Text" context="#pop"/>
<RegExpr String="&latexCmd;" attribute="LatexCommand" context="#stay"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Entry" defStyleNum="dsKeyword" color="#0000ff"/>
<itemData name="Command" defStyleNum="dsFunction"/>
<itemData name="Field" defStyleNum="dsDataType"/>
<itemData name="Ref Key" defStyleNum="dsOthers"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Char" defStyleNum="dsChar"/>
</itemDatas>
<itemData name="Entry" defStyleNum="dsKeyword" color="#0000ff" spellChecking="false"/>
<itemData name="Command" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Field" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Ref Key" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="LatexCommand" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString" spellChecking="true"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" weakDeliminator="\" wordWrapDeliminator=",{}[]"/>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="B-Method" version="0.02" kateversion="2.4" section="Scientific" extensions="*.mch;*.imp;*.ref" author="Ivo Anjo (knuckles@gmail.com)" license="LGPL">
<language name="B-Method" version="0.1" kateversion="2.4" section="Scientific" extensions="*.mch;*.imp;*.ref" author="Ivo Anjo (knuckles@gmail.com)" license="LGPL">
<highlighting>
<list name="sections">
@ -77,12 +77,12 @@
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="SectionKeyword" defStyleNum="dsKeyword" color="#ff0000"/>
<itemData name="OperationKeyword" defStyleNum="dsKeyword" color="#0000ff"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/>
<itemData name="SectionKeyword" defStyleNum="dsKeyword" color="#ff0000" spellChecking="0"/>
<itemData name="OperationKeyword" defStyleNum="dsKeyword" color="#0000ff" spellChecking="0"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Data Type" defStyleNum="dsDataType" spellChecking="0"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/>
</itemDatas>
</highlighting>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="C" section="Sources"
version="1.42" kateversion="2.4"
version="1.44" kateversion="2.4"
indenter="cstyle"
extensions="*.c;*.C;*.h"
mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
@ -67,7 +67,7 @@
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" beginRegion="PP" firstNonSpace="true" />
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
@ -169,23 +169,23 @@
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
<itemData name="Alert" defStyleNum="dsAlert" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Error" defStyleNum="dsError" />
<itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers" spellChecking="false"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
<itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>

@ -0,0 +1,748 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of TDE's kate project.
copyright : (C) 2004 by Dominik Haumann, (C) 2011 by Caspar Hasenclever
**********************************************************************
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language version="1.00" kateversion="2.3" name="Clojure" section="Sources" extensions="*.clj" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPL">
<highlighting>
<list name="definitions">
<item> def </item>
<item> def- </item>
<item> defalias </item>
<item> defhinted </item>
<item> definline </item>
<item> defmacro </item>
<item> defmacro- </item>
<item> defmethod </item>
<item> defmulti </item>
<item> defn </item>
<item> defn- </item>
<item> defnk </item>
<item> defn-memo </item>
<item> defonce </item>
<item> defonce- </item>
<item> defprotocol </item>
<item> defrecord </item>
<item> defstruct </item>
<item> defstruct- </item>
<item> deftest </item>
<item> deftest- </item>
<item> deftype </item>
<item> defunbound </item>
<item> defunbound- </item>
<item> defvar </item>
<item> defvar- </item>
</list>
<list name="keywords">
<item> &lt; </item>
<item> &lt;= </item>
<item> = </item>
<item> == </item>
<item> &gt; </item>
<item> &gt;= </item>
<item> - </item>
<item> -&gt; </item>
<item> -&gt;&gt; </item>
<item> / </item>
<item> . </item>
<item> .. </item>
<item> * </item>
<item> + </item>
<item> accessor </item>
<item> aclone </item>
<item> add-classpath </item>
<item> add-watcher </item>
<item> agent </item>
<item> agent-errors </item>
<item> aget </item>
<item> alength </item>
<item> alias </item>
<item> all-ns </item>
<item> alter </item>
<item> alter-meta! </item>
<item> alter-var-root </item>
<item> amap </item>
<item> ancestors </item>
<item> and </item>
<item> append-child </item>
<item> apply </item>
<item> apply-template </item>
<item> are </item>
<item> areduce </item>
<item> array-map </item>
<item> aset </item>
<item> aset-boolean </item>
<item> aset-byte </item>
<item> aset-char </item>
<item> aset-double </item>
<item> aset-float </item>
<item> aset-int </item>
<item> aset-long </item>
<item> aset-short </item>
<item> assert </item>
<item> assert-any </item>
<item> assert-expr </item>
<item> assert-predicate </item>
<item> assoc </item>
<item> assoc! </item>
<item> associative? </item>
<item> assoc-in </item>
<item> atom </item>
<item> atom? </item>
<item> attrs </item>
<item> await </item>
<item> await1 </item>
<item> await-for </item>
<item> bases </item>
<item> bean </item>
<item> bigdec </item>
<item> bigint </item>
<item> binding </item>
<item> bit-and </item>
<item> bit-and-not </item>
<item> bit-clear </item>
<item> bit-flip </item>
<item> bit-not </item>
<item> bit-or </item>
<item> bit-set </item>
<item> bit-shift-left </item>
<item> bit-shift-right </item>
<item> bit-test </item>
<item> bit-xor </item>
<item> boolean </item>
<item> boolean-array </item>
<item> booleans </item>
<item> bound-fn </item>
<item> bound-fn* </item>
<item> branch? </item>
<item> butlast </item>
<item> byte </item>
<item> byte-array </item>
<item> bytes </item>
<item> case </item>
<item> cast </item>
<item> catch </item>
<item> char </item>
<item> char? </item>
<item> char-array </item>
<item> char-escape-string </item>
<item> char-name-string </item>
<item> chars </item>
<item> children </item>
<item> chunk </item>
<item> chunk-append </item>
<item> chunk-buffer </item>
<item> chunk-cons </item>
<item> chunked-seq? </item>
<item> chunk-first </item>
<item> chunk-next </item>
<item> chunk-rest </item>
<item> class </item>
<item> class? </item>
<item> clear-agent-errors </item>
<item> clojure-version </item>
<item> coll? </item>
<item> collection-tag </item>
<item> comment </item>
<item> commute </item>
<item> comp </item>
<item> comparator </item>
<item> compare </item>
<item> compare-and-set! </item>
<item> compile </item>
<item> complement </item>
<item> compose-fixtures </item>
<item> concat </item>
<item> cond </item>
<item> condp </item>
<item> conj </item>
<item> conj! </item>
<item> cons </item>
<item> constantly </item>
<item> construct-proxy </item>
<item> contains? </item>
<item> content </item>
<item> content-handler </item>
<item> count </item>
<item> counted? </item>
<item> create-ns </item>
<item> create-struct </item>
<item> cycle </item>
<item> dec </item>
<item> decimal? </item>
<item> declare </item>
<item> delay </item>
<item> delay? </item>
<item> deliver </item>
<item> deref </item>
<item> derive </item>
<item> descendants </item>
<item> destructure </item>
<item> difference </item>
<item> disj </item>
<item> disj! </item>
<item> dissoc </item>
<item> dissoc! </item>
<item> distinct </item>
<item> distinct? </item>
<item> do </item>
<item> doall </item>
<item> doc </item>
<item> dorun </item>
<item> doseq </item>
<item> dosync </item>
<item> do-template </item>
<item> dotimes </item>
<item> doto </item>
<item> double </item>
<item> double-array </item>
<item> doubles </item>
<item> down </item>
<item> drop </item>
<item> drop-last </item>
<item> drop-while </item>
<item> e </item>
<item> edit </item>
<item> element </item>
<item> emit </item>
<item> emit-element </item>
<item> empty </item>
<item> empty? </item>
<item> end? </item>
<item> ensure </item>
<item> enumeration-seq </item>
<item> eval </item>
<item> even? </item>
<item> every? </item>
<item> extend </item>
<item> extenders </item>
<item> extend-protocol </item>
<item> extends? </item>
<item> extend-type </item>
<item> false? </item>
<item> ffirst </item>
<item> file-position </item>
<item> file-seq </item>
<item> filter </item>
<item> finally </item>
<item> find </item>
<item> find-doc </item>
<item> find-ns </item>
<item> find-var </item>
<item> first </item>
<item> float </item>
<item> float? </item>
<item> float-array </item>
<item> floats </item>
<item> flush </item>
<item> fn </item>
<item> fn? </item>
<item> fnext </item>
<item> for </item>
<item> force </item>
<item> format </item>
<item> function? </item>
<item> future </item>
<item> future? </item>
<item> future-call </item>
<item> future-cancel </item>
<item> future-cancelled? </item>
<item> future-done? </item>
<item> gen-and-load-class </item>
<item> gen-and-save-class </item>
<item> gen-class </item>
<item> gen-interface </item>
<item> gensym </item>
<item> get </item>
<item> get-child </item>
<item> get-child-count </item>
<item> get-in </item>
<item> get-method </item>
<item> get-possibly-unbound-var </item>
<item> get-proxy-class </item>
<item> get-thread-bindings </item>
<item> get-validator </item>
<item> handle </item>
<item> handler-case </item>
<item> hash </item>
<item> hash-map </item>
<item> hash-set </item>
<item> identical? </item>
<item> identity </item>
<item> if </item>
<item> if-let </item>
<item> ifn? </item>
<item> if-not </item>
<item> import </item>
<item> inc </item>
<item> inc-report-counter </item>
<item> index </item>
<item> init-proxy </item>
<item> in-ns </item>
<item> insert-child </item>
<item> insert-left </item>
<item> insert-right </item>
<item> inspect </item>
<item> inspect-table </item>
<item> inspect-tree </item>
<item> instance? </item>
<item> int </item>
<item> int-array </item>
<item> integer? </item>
<item> interleave </item>
<item> intern </item>
<item> interpose </item>
<item> intersection </item>
<item> into </item>
<item> into-array </item>
<item> ints </item>
<item> io! </item>
<item> is </item>
<item> isa? </item>
<item> is-leaf </item>
<item> iterate </item>
<item> iterator-seq </item>
<item> join </item>
<item> join-fixtures </item>
<item> juxt </item>
<item> key </item>
<item> keys </item>
<item> keyword </item>
<item> keyword? </item>
<item> keywordize-keys </item>
<item> last </item>
<item> lazy-cat </item>
<item> lazy-seq </item>
<item> left </item>
<item> leftmost </item>
<item> lefts </item>
<item> let </item>
<item> letfn </item>
<item> line-seq </item>
<item> list </item>
<item> list* </item>
<item> list? </item>
<item> list-model </item>
<item> list-provider </item>
<item> load </item>
<item> loaded-libs </item>
<item> load-file </item>
<item> load-reader </item>
<item> load-script </item>
<item> load-string </item>
<item> locking </item>
<item> long </item>
<item> long-array </item>
<item> longs </item>
<item> loop </item>
<item> macroexpand </item>
<item> macroexpand-1 </item>
<item> macroexpand-all </item>
<item> main </item>
<item> make-array </item>
<item> make-hierarchy </item>
<item> make-node </item>
<item> map </item>
<item> map? </item>
<item> mapcat </item>
<item> map-invert </item>
<item> max </item>
<item> max-key </item>
<item> memfn </item>
<item> memoize </item>
<item> merge </item>
<item> merge-with </item>
<item> meta </item>
<item> methods </item>
<item> method-sig </item>
<item> min </item>
<item> min-key </item>
<item> mod </item>
<item> name </item>
<item> namespace </item>
<item> neg? </item>
<item> newline </item>
<item> next </item>
<item> nfirst </item>
<item> nil? </item>
<item> nnext </item>
<item> node </item>
<item> not </item>
<item> not= </item>
<item> not-any? </item>
<item> not-empty </item>
<item> not-every? </item>
<item> ns </item>
<item> ns-aliases </item>
<item> ns-imports </item>
<item> ns-interns </item>
<item> ns-map </item>
<item> ns-name </item>
<item> ns-publics </item>
<item> ns-refers </item>
<item> ns-resolve </item>
<item> ns-unalias </item>
<item> ns-unmap </item>
<item> nth </item>
<item> nthnext </item>
<item> num </item>
<item> number? </item>
<item> odd? </item>
<item> or </item>
<item> parents </item>
<item> partial </item>
<item> partition </item>
<item> path </item>
<item> pcalls </item>
<item> peek </item>
<item> persistent! </item>
<item> pmap </item>
<item> pop </item>
<item> pop! </item>
<item> pop-thread-bindings </item>
<item> pos? </item>
<item> postwalk </item>
<item> postwalk-demo </item>
<item> postwalk-replace </item>
<item> pr </item>
<item> prefer-method </item>
<item> prefers </item>
<item> prev </item>
<item> prewalk </item>
<item> prewalk-demo </item>
<item> prewalk-replace </item>
<item> primitives-classnames </item>
<item> print </item>
<item> print-cause-trace </item>
<item> print-ctor </item>
<item> print-doc </item>
<item> print-dup </item>
<item> printf </item>
<item> println </item>
<item> println-str </item>
<item> print-method </item>
<item> print-namespace-doc </item>
<item> print-simple </item>
<item> print-special-doc </item>
<item> print-stack-trace </item>
<item> print-str </item>
<item> print-throwable </item>
<item> print-trace-element </item>
<item> prn </item>
<item> prn-str </item>
<item> project </item>
<item> promise </item>
<item> proxy </item>
<item> proxy-call-with-super </item>
<item> proxy-mappings </item>
<item> proxy-name </item>
<item> proxy-super </item>
<item> pr-str </item>
<item> push-thread-bindings </item>
<item> pvalues </item>
<item> quot </item>
<item> rand </item>
<item> rand-int </item>
<item> range </item>
<item> ratio? </item>
<item> rational? </item>
<item> rationalize </item>
<item> read </item>
<item> read-line </item>
<item> read-string </item>
<item> recur </item>
<item> reduce </item>
<item> ref </item>
<item> refer </item>
<item> refer-clojure </item>
<item> ref-history-count </item>
<item> re-find </item>
<item> ref-max-history </item>
<item> ref-min-history </item>
<item> ref-set </item>
<item> re-groups </item>
<item> reify </item>
<item> release-pending-sends </item>
<item> rem </item>
<item> re-matcher </item>
<item> re-matches </item>
<item> remove </item>
<item> remove-method </item>
<item> remove-ns </item>
<item> remove-watcher </item>
<item> rename </item>
<item> rename-keys </item>
<item> re-pattern </item>
<item> repeat </item>
<item> repeatedly </item>
<item> repl </item>
<item> replace </item>
<item> repl-caught </item>
<item> repl-exception </item>
<item> replicate </item>
<item> repl-prompt </item>
<item> repl-read </item>
<item> report </item>
<item> require </item>
<item> re-seq </item>
<item> reset! </item>
<item> reset-meta! </item>
<item> resolve </item>
<item> rest </item>
<item> resultset-seq </item>
<item> reverse </item>
<item> reversible? </item>
<item> right </item>
<item> rightmost </item>
<item> rights </item>
<item> root </item>
<item> rseq </item>
<item> rsubseq </item>
<item> run-all-tests </item>
<item> run-tests </item>
<item> satisfies? </item>
<item> second </item>
<item> select </item>
<item> select-keys </item>
<item> send </item>
<item> send-off </item>
<item> seq </item>
<item> seq? </item>
<item> seque </item>
<item> sequence </item>
<item> sequential? </item>
<item> seq-zip </item>
<item> set </item>
<item> set? </item>
<item> set-test </item>
<item> set-validator! </item>
<item> short </item>
<item> short-array </item>
<item> shorts </item>
<item> shutdown-agents </item>
<item> skip-if-eol </item>
<item> skip-whitespace </item>
<item> slurp </item>
<item> some </item>
<item> sort </item>
<item> sort-by </item>
<item> sorted? </item>
<item> sorted-map </item>
<item> sorted-map-by </item>
<item> sorted-set </item>
<item> sorted-set-by </item>
<item> special-form-anchor </item>
<item> special-symbol? </item>
<item> split-at </item>
<item> split-with </item>
<item> str </item>
<item> stream? </item>
<item> string? </item>
<item> stringify-keys </item>
<item> struct </item>
<item> struct-map </item>
<item> subs </item>
<item> subseq </item>
<item> subvec </item>
<item> successful? </item>
<item> supers </item>
<item> swap! </item>
<item> symbol </item>
<item> symbol? </item>
<item> sync </item>
<item> syntax-symbol-anchor </item>
<item> take </item>
<item> take-last </item>
<item> take-nth </item>
<item> take-while </item>
<item> test </item>
<item> test-all-vars </item>
<item> testing </item>
<item> testing-contexts-str </item>
<item> testing-vars-str </item>
<item> test-ns </item>
<item> test-var </item>
<item> the-ns </item>
<item> throw </item>
<item> time </item>
<item> to-array </item>
<item> to-array-2d </item>
<item> trampoline </item>
<item> transient </item>
<item> tree-seq </item>
<item> true? </item>
<item> try </item>
<item> try-expr </item>
<item> type </item>
<item> unchecked-add </item>
<item> unchecked-dec </item>
<item> unchecked-divide </item>
<item> unchecked-inc </item>
<item> unchecked-multiply </item>
<item> unchecked-negate </item>
<item> unchecked-remainder </item>
<item> unchecked-subtract </item>
<item> underive </item>
<item> unimport </item>
<item> union </item>
<item> unquote </item>
<item> unquote-splicing </item>
<item> up </item>
<item> update-in </item>
<item> update-proxy </item>
<item> use </item>
<item> use-fixtures </item>
<item> val </item>
<item> vals </item>
<item> var? </item>
<item> var-get </item>
<item> var-set </item>
<item> vary-meta </item>
<item> vec </item>
<item> vector </item>
<item> vector? </item>
<item> walk </item>
<item> when </item>
<item> when-first </item>
<item> when-let </item>
<item> when-not </item>
<item> while </item>
<item> with-bindings </item>
<item> with-bindings* </item>
<item> with-in-str </item>
<item> with-loading-context </item>
<item> with-local-vars </item>
<item> with-meta </item>
<item> with-open </item>
<item> with-out-str </item>
<item> with-precision </item>
<item> with-test </item>
<item> with-test-out </item>
<item> xml-seq </item>
</list>
<list name="variables">
<item> *1 </item>
<item> *2 </item>
<item> *3 </item>
<item> *agent* </item>
<item> *allow-unresolved-vars* </item>
<item> *assert* </item>
<item> *clojure-version* </item>
<item> *command-line-args* </item>
<item> *compile-files* </item>
<item> *compile-path* </item>
<item> *current* </item>
<item> *e </item>
<item> *err* </item>
<item> *file* </item>
<item> *flush-on-newline* </item>
<item> *in* </item>
<item> *initial-report-counters* </item>
<item> *load-tests* </item>
<item> *macro-meta* </item>
<item> *math-context* </item>
<item> *ns* </item>
<item> *out* </item>
<item> *print-dup* </item>
<item> *print-length* </item>
<item> *print-level* </item>
<item> *print-meta* </item>
<item> *print-readably* </item>
<item> *read-eval* </item>
<item> *report-counters* </item>
<item> *sb* </item>
<item> *source-path* </item>
<item> *stack* </item>
<item> *stack-trace-depth* </item>
<item> *state* </item>
<item> *testing-contexts* </item>
<item> *testing-vars* </item>
<item> *test-out* </item>
<item> *use-context-classloader* </item>
<item> *warn-on-reflection* </item>
</list>
<contexts>
<context name="Normal" attribute="Normal" lineEndContext="#stay">
<RegExpr attribute="Comment" context="#stay" String=";.*$"/>
<Detect2Chars attribute="Comment" context="#stay" char="#" char1="_"/>
<RegExpr attribute="Modifier" context="#stay" String=":\S+"/>
<RegExpr attribute="Modifier" context="#stay" String="[@~]\S+"/>
<Detect2Chars attribute="Brackets" context="#stay" char="#" char1="("/>
<DetectChar attribute="Brackets" context="#stay" char="("/>
<DetectChar attribute="Brackets" context="#stay" char=")"/>
<Detect2Chars attribute="Brackets" context="#stay" char="#" char1="{"/>
<Detect2Chars attribute="Brackets" context="#stay" char="^" char1="{"/>
<DetectChar attribute="Brackets" context="#stay" char="{"/>
<DetectChar attribute="Brackets" context="#stay" char="}"/>
<DetectChar attribute="Brackets" context="#stay" char="["/>
<DetectChar attribute="Brackets" context="#stay" char="]"/>
<Detect2Chars attribute="Variable" context="#stay" char="#" char1="'"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Variable" context="#stay" String="variables"/>
<keyword attribute="Definition" context="function_decl" String="definitions"/>
<RegExpr attribute="Char" context="#stay" String="\\."/>
<Detect2Chars attribute="String" context="String" char="#" char1="&quot;"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<Float attribute="Float" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
</context>
<context name="function_decl" attribute="Function" lineEndContext="#stay">
<RegExpr attribute="Function" context="#pop" String="\s*[A-Za-z0-9-+\&lt;\&gt;//\*]*\s*"/>
</context>
<context name="SpecialNumber" attribute="Normal" lineEndContext="#pop">
<Float attribute="Float" context="#pop"/>
<Int attribute="Decimal" context="#pop"/>
<HlCOct attribute="BaseN" context="#pop"/>
<HlCHex attribute="Float" context="#pop"/>
</context>
<context name="String" attribute="String" lineEndContext="#stay">
<RegExpr attribute="Char" context="#stay" String="#\\."/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Operator" defStyleNum="dsKeyword" color="#d22811"/>
<itemData name="Modifier" defStyleNum="dsKeyword" color="#800000"/>
<itemData name="Variable" defStyleNum="dsKeyword" color="#b07e1f"/>
<itemData name="Definition" defStyleNum="dsKeyword" color="#d22811"/>
<itemData name="Data" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="BaseN" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
<itemData name="Brackets" defStyleNum="dsNormal" color="#0000ff" selColor="#00ff00" bold="1" italic="0"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1" weakDeliminator="-+*?!&lt;&gt;=/:#\"/>
<comments>
<comment name="singleLine" start=";;"/>
</comments>
</general>
</language>

@ -24,8 +24,8 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<!-- generated for "cmake version 2.6-patch 3" -->
<language name="CMake" version="1.11" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;" mimetype="" author="Alexander Neundorf (neundorf@kde.org)" license="LGPL">
<!-- generated for "cmake version 2.8.1" -->
<language name="CMake" version="1.13" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;" mimetype="" author="Alexander Neundorf (neundorf@kde.org)" license="LGPL">
<highlighting>
<list name = "commands">
@ -137,6 +137,7 @@
<list name="special_args">
<!-- generated list -->
<item> A </item>
<item> ABSOLUTE </item>
<item> AFTER </item>
<item> ALL </item>
@ -146,10 +147,11 @@
<item> ARCHIVE </item>
<item> ARGS </item>
<item> ASCII </item>
<item> AUTHOR_WARNING </item>
<item> B </item>
<item> BEFORE </item>
<item> BRIEF_DOCS </item>
<item> BUNDLE </item>
<item> C </item>
<item> CACHE </item>
<item> CLEAR </item>
<item> CMAKE_FIND_ROOT_PATH_BOTH </item>
@ -165,12 +167,13 @@
<item> COMPONENT </item>
<item> COMPONENTS </item>
<item> CONFIGS </item>
<item> CONFIGURATION </item>
<item> CONFIGURATIONS </item>
<item> CONFIGURE </item>
<item> COPYONLY </item>
<item> COPY_FILE </item>
<item> CXX </item>
<item> DEFINED </item>
<item> DEFINITION </item>
<item> DEPENDS </item>
<item> DESTINATION </item>
<item> DIRECTORY </item>
@ -213,6 +216,7 @@
<item> HINTS </item>
<item> IMPLICIT_DEPENDS </item>
<item> IMPORTED </item>
<item> IN </item>
<item> INCLUDE_INTERNALS </item>
<item> INHERITED </item>
<item> INPUT_FILE </item>
@ -220,6 +224,8 @@
<item> IS_ABSOLUTE </item>
<item> IS_DIRECTORY </item>
<item> IS_NEWER_THAN </item>
<item> IS_SYMLINK </item>
<item> ITEMS </item>
<item> LENGTH </item>
<item> LENGTH_MAXIMUM </item>
<item> LENGTH_MINIMUM </item>
@ -230,6 +236,7 @@
<item> LIMIT_INPUT </item>
<item> LIMIT_OUTPUT </item>
<item> LINK_INTERFACE_LIBRARIES </item>
<item> LISTS </item>
<item> LOG </item>
<item> MACOSX_BUNDLE </item>
<item> MAIN_DEPENDENCY </item>
@ -251,12 +258,14 @@
<item> NO_CMAKE_BUILDS_PATH </item>
<item> NO_CMAKE_ENVIRONMENT_PATH </item>
<item> NO_CMAKE_FIND_ROOT_PATH </item>
<item> NO_CMAKE_PACKAGE_REGISTRY </item>
<item> NO_CMAKE_PATH </item>
<item> NO_CMAKE_SYSTEM_PATH </item>
<item> NO_DEFAULT_PATH </item>
<item> NO_HEX_CONVERSION </item>
<item> NO_MODULE </item>
<item> NO_POLICY_SCOPE </item>
<item> NO_SOURCE_PERMISSIONS </item>
<item> NO_SYSTEM_ENVIRONMENT_PATH </item>
<item> OFFSET </item>
<item> OLD </item>
@ -272,6 +281,7 @@
<item> OWNER_EXECUTE </item>
<item> OWNER_READ </item>
<item> OWNER_WRITE </item>
<item> PACKAGE </item>
<item> PARENT_SCOPE </item>
<item> PATH </item>
<item> PATHS </item>
@ -289,15 +299,18 @@
<item> PROGRAM </item>
<item> PROGRAMS </item>
<item> PROGRAM_ARGS </item>
<item> PROJECT_NAME </item>
<item> PROPERTIES </item>
<item> PROPERTY </item>
<item> PUBLIC_HEADER </item>
<item> PUSH </item>
<item> QUIET </item>
<item> RANDOM </item>
<item> RANDOM_SEED </item>
<item> RANGE </item>
<item> READ </item>
<item> READ_WITH_PREFIX </item>
<item> REALPATH </item>
<item> REGEX </item>
<item> REGULAR_EXPRESSION </item>
<item> RELATIVE </item>
@ -356,6 +369,7 @@
<item> VERSION_EQUAL </item>
<item> VERSION_GREATER </item>
<item> VERSION_LESS </item>
<item> WARNING </item>
<item> WIN32 </item>
<item> WORKING_DIRECTORY </item>
<item> WRITE </item>
@ -371,40 +385,51 @@
<!-- generated list -->
<item> ABSTRACT </item>
<item> ADDITIONAL_MAKE_CLEAN_FILES </item>
<item> ADVANCED </item>
<item> ALLOW_DUPLICATE_CUSTOM_TARGETS </item>
<item> ARCHIVE_OUTPUT_DIRECTORY </item>
<item> ARCHIVE_OUTPUT_NAME </item>
<item> ATTACHED_FILES </item>
<item> ATTACHED_FILES_ON_FAIL </item>
<item> BUILD_WITH_INSTALL_RPATH </item>
<item> CACHE_VARIABLES </item>
<item> CLEAN_DIRECT_OUTPUT </item>
<item> CLEAN_NO_CUSTOM </item>
<item> COMPILE_DEFINITIONS </item>
<item> COMPILE_FLAGS </item>
<item> COST </item>
<item> DEBUG_CONFIGURATIONS </item>
<item> DEBUG_POSTFIX </item>
<item> DEFINE_SYMBOL </item>
<item> DEFINITIONS </item>
<item> DEPENDS </item>
<item> DISABLED_FEATURES </item>
<item> ENABLED_FEATURES </item>
<item> ENABLED_LANGUAGES </item>
<item> ENABLE_EXPORTS </item>
<item> ENVIRONMENT </item>
<item> EXCLUDE_FROM_ALL </item>
<item> EXTERNAL_OBJECT </item>
<item> EchoString </item>
<item> FAIL_REGULAR_EXPRESSION </item>
<item> FIND_LIBRARY_USE_LIB64_PATHS </item>
<item> FIND_LIBRARY_USE_OPENBSD_VERSIONING </item>
<item> FRAMEWORK </item>
<item> Fortran_MODULE_DIRECTORY </item>
<item> GENERATED </item>
<item> GENERATOR_FILE_NAME </item>
<item> GLOBAL_DEPENDS_DEBUG_MODE </item>
<item> GLOBAL_DEPENDS_NO_CYCLES </item>
<item> HAS_CXX </item>
<item> HEADER_FILE_ONLY </item>
<item> HELPSTRING </item>
<item> IMPLICIT_DEPENDS_INCLUDE_TRANSFORM </item>
<item> IMPORTED </item>
<item> IMPORTED_CONFIGURATIONS </item>
<item> IMPORTED_IMPLIB </item>
<item> IMPORTED_LINK_DEPENDENT_LIBRARIES </item>
<item> IMPORTED_LINK_INTERFACE_LANGUAGES </item>
<item> IMPORTED_LINK_INTERFACE_LIBRARIES </item>
<item> IMPORTED_LINK_INTERFACE_MULTIPLICITY </item>
<item> IMPORTED_LOCATION </item>
<item> IMPORTED_SONAME </item>
<item> IMPORT_PREFIX </item>
@ -414,14 +439,18 @@
<item> INSTALL_NAME_DIR </item>
<item> INSTALL_RPATH </item>
<item> INSTALL_RPATH_USE_LINK_PATH </item>
<item> INTERPROCEDURAL_OPTIMIZATION </item>
<item> IN_TRY_COMPILE </item>
<item> KEEP_EXTENSION </item>
<item> LABELS </item>
<item> LANGUAGE </item>
<item> LIBRARY_OUTPUT_DIRECTORY </item>
<item> LIBRARY_OUTPUT_NAME </item>
<item> LINKER_LANGUAGE </item>
<item> LINK_DIRECTORIES </item>
<item> LINK_FLAGS </item>
<item> LINK_INTERFACE_LIBRARIES </item>
<item> LINK_INTERFACE_MULTIPLICITY </item>
<item> LINK_SEARCH_END_STATIC </item>
<item> LISTFILE_STACK </item>
<item> LOCATION </item>
@ -431,8 +460,10 @@
<item> MACOSX_PACKAGE_LOCATION </item>
<item> MACROS </item>
<item> MEASUREMENT </item>
<item> MODIFIED </item>
<item> OBJECT_DEPENDS </item>
<item> OBJECT_OUTPUTS </item>
<item> OSX_ARCHITECTURES </item>
<item> OUTPUT_NAME </item>
<item> PACKAGES_FOUND </item>
<item> PACKAGES_NOT_FOUND </item>
@ -442,15 +473,24 @@
<item> PREFIX </item>
<item> PRE_INSTALL_SCRIPT </item>
<item> PRIVATE_HEADER </item>
<item> PROCESSORS </item>
<item> PROJECT_LABEL </item>
<item> PUBLIC_HEADER </item>
<item> REPORT_UNDEFINED_PROPERTIES </item>
<item> REQUIRED_FILES </item>
<item> RESOURCE </item>
<item> RULE_LAUNCH_COMPILE </item>
<item> RULE_LAUNCH_CUSTOM </item>
<item> RULE_LAUNCH_LINK </item>
<item> RULE_MESSAGES </item>
<item> RUNTIME_OUTPUT_DIRECTORY </item>
<item> RUNTIME_OUTPUT_NAME </item>
<item> RUN_SERIAL </item>
<item> SKIP_BUILD_RPATH </item>
<item> SOURCES </item>
<item> SOVERSION </item>
<item> STATIC_LIBRARY_FLAGS </item>
<item> STRINGS </item>
<item> SUFFIX </item>
<item> SYMBOLIC </item>
<item> TARGET_ARCHIVES_MAY_BE_SHARED_LIBS </item>
@ -458,6 +498,7 @@
<item> TEST_INCLUDE_FILE </item>
<item> TIMEOUT </item>
<item> TYPE </item>
<item> VALUE </item>
<item> VARIABLES </item>
<item> VERSION </item>
<item> VS_KEYWORD </item>
@ -484,36 +525,34 @@
<RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="block" firstNonSpace="true"/>
<RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="block" firstNonSpace="true"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<IncludeRules context="Detect Variables"/>
<RegExpr attribute="Macros" context="Macro Args" String="\w+\s*(?=\()"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="Detect Variables">
<RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*\w+\s*\}"/>
<RegExpr attribute="CMake Variable" context="#stay" String="\$\{\s*\w+\s*\}"/>
<RegExpr attribute="Macros" context="Macro Args" String="\w+\s*(?=\()"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="Command Args">
<DetectChar attribute="Normal Text" context="#pop" char=")"/>
<DetectChar attribute="Strings" context="String" char="&quot;"/>
<keyword attribute="Special Args" context="#stay" String="special_args"/>
<keyword attribute="Special Args" context="#stay" String="extra_special_args"/>
<keyword attribute="Properties" context="#stay" String="properties"/>
<keyword attribute="Properties" context="#stay" String="extra_properties"/>
<RegExpr attribute="Comment" context="#stay" String="#.*$"/>
<RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*\w+\s*\}"/>
<RegExpr attribute="CMake Variable" context="#stay" String="\$\{\s*\w+\s*\}"/>
<IncludeRules context="Macro Args"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="Macro Args">
<DetectChar attribute="Normal Text" context="#pop" char=")"/>
<StringDetect attribute="Escapes" context="#stay" String="\&quot;"/>
<DetectChar attribute="Strings" context="String" char="&quot;"/>
<RegExpr attribute="Comment" context="#stay" String="#.*$"/>
<RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*\w+\s*\}"/>
<RegExpr attribute="CMake Variable" context="#stay" String="\$\{\s*\w+\s*\}"/>
<IncludeRules context="Detect Variables"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<IncludeRules context="##Alerts" />
</context>
<context attribute="Strings" lineEndContext="#stay" name="String">
<DetectChar attribute="Strings" context="#pop" char="&quot;" />
<RegExpr attribute="Strings" context="#pop" String="&quot;(?=[ );]|$)" />
<RegExpr attribute="Escapes" context="#stay" String="\\[&quot;$n\\]" />
<RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*\w+\s*\}"/>
<RegExpr attribute="CMake Variable" context="#stay" String="\$\{\s*\w+\s*\}"/>
<IncludeRules context="Detect Variables"/>
</context>
</contexts>

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="CoffeeScript"
version="1.2"
kateversion="2.4"
section="Scripts"
extensions="Cakefile;*.coffee;*.coco"
mimetype="text/x-coffeescript;application/x-coffeescript"
indenter="python"
casesensitive="1"
author="Max Shawabkeh (max99x@gmail.com)"
license="MIT">
<highlighting>
<!-- Built-in constants. -->
<list name="value_keywords">
<item>false</item>
<item>true</item>
<item>yes</item>
<item>no</item>
<item>on</item>
<item>off</item>
<item>undefined</item>
<item>null</item>
<item>NaN</item>
<item>Infinity</item>
</list>
<!-- Generic keywords. -->
<list name="keywords">
<item>return</item>
<item>break</item>
<item>continue</item>
<item>throw</item>
<item>for</item>
<item>while</item>
<item>until</item>
<item>loop</item>
<item>if</item>
<item>else</item>
<item>unless</item>
<item>switch</item>
<item>when</item>
<item>then</item>
<item>and</item>
<item>or</item>
<item>in</item>
<item>of</item>
<item>by</item>
<item>is</item>
<item>isnt</item>
<item>not</item>
<item>typeof</item>
<item>delete</item>
<item>where</item>
<item>super</item>
<item>try</item>
<item>catch</item>
<item>finally</item>
<item>try</item>
<item>catch</item>
<item>finally</item>
<item>constructor</item>
</list>
<!-- Keywords which are always followed by a class name. -->
<list name="class_keywords">
<item>class</item>
<item>extends</item>
<item>new</item>
<item>instanceof</item>
</list>
<!-- Reserved words. -->
<list name="reserved">
<item>case</item>
<item>default</item>
<item>function</item>
<item>var</item>
<item>void</item>
<item>with</item>
<item>const</item>
<item>let</item>
<item>enum</item>
<item>export</item>
<item>import</item>
<item>native</item>
<item>__hasProp</item>
<item>__extends</item>
<item>__slice</item>
<item>__bind</item>
<item>__indexOf</item>
</list>
<!-- Built-in globals provided in most contexts. -->
<list name="globals">
<item>Object</item>
<item>Number</item>
<item>Boolean</item>
<item>Array</item>
<item>String</item>
<item>RegExp</item>
<item>Function</item>
<item>Date</item>
<item>Math</item>
<item>eval</item>
<item>setInterval</item>
<item>clearInterval</item>
<item>setTimeout</item>
<item>clearTimeout</item>
<item>isFinite</item>
<item>isNaN</item>
<item>parseFloat</item>
<item>parseInt</item>
<item>escape</item>
<item>unescape</item>
<item>console</item>
<item>encodeURI</item>
<item>encodeURIComponent</item>
<item>decodeURI</item>
<item>decodeURIComponent</item>
</list>
<!-- Built-in globals provided in browser context. -->
<list name="browser_globals">
<item>window</item>
<item>document</item>
<item>navigator</item>
<item>location</item>
<item>history</item>
<item>screen</item>
<item>alert</item>
<item>prompt</item>
</list>
<!-- Built-in globals provided in Node.js context. -->
<list name="nodejs_globals">
<item>process</item>
<item>GLOBAL</item>
<item>require</item>
<item>exports</item>
</list>
<!-- Context-sensitive highlighting rules. -->
<contexts>
<!-- Generic code. -->
<context name="Normal" attribute="Normal" lineEndContext="#stay">
<DetectSpaces/>
<!-- Numbers. -->
<Float attribute="Float" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
<HlCOct attribute="Oct" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<!-- Keywords. -->
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Keyword" context="Class" String="class_keywords"/>
<keyword attribute="Value Keywords" context="#stay" String="value_keywords"/>
<keyword attribute="Reserved" context="#stay" String="reserved"/>
<!-- Globals. -->
<keyword attribute="Globals" context="#stay" String="globals"/>
<keyword attribute="Browser Globals" context="#stay" String="browser_globals"/>
<keyword attribute="Node.js Globals" context="#stay" String="nodejs_globals"/>
<!-- Member accessors. -->
<RegExpr attribute="Accessor" context="#stay" String="(@[_$a-zA-Z][$\w]+|\bthis)\b" insensitive="false"/>
<!-- Function definitions. Matches an optional argument list followed by a function arrow (normal or fat). -->
<RegExpr attribute="Function" context="#stay" String="(\((\'[^']*'|&quot;[^&quot;]*&quot;|[^()])*\))?\s*(-|=)&gt;" insensitive="true"/>
<!-- Generic identifiers. -->
<RegExpr attribute="Identifier" context="#stay" String="[_$a-z][$\w]+\b" insensitive="true"/>
<!-- Strings. -->
<StringDetect attribute="String" context="Heredoc" String="'''" beginRegion="Heredoc"/>
<StringDetect attribute="String" context="Rich Heredoc" String="&quot;&quot;&quot;" beginRegion="Rich Heredoc"/>
<DetectChar attribute="String" context="String" char="'"/>
<DetectChar attribute="String" context="Rich String" char="&quot;"/>
<!-- Embedded JavaScript. -->
<DetectChar attribute="Javascript" context="Javascript" char="`" beginRegion="Javascript"/>
<!-- Comments. -->
<StringDetect attribute="Comment" context="Multiline Comment" String="###" beginRegion="Comment"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<!-- Regular expressions. -->
<RegExpr attribute="Regex" context="Multiline Regex" String="///" beginRegion="Multiline Regex"/>
<RegExpr attribute="Regex" context="#stay" String="/([^/\\\r\n]|\\.)*/[mig]{0,3}"/>
<!-- Operators and other non-alphanumeric symbols. -->
<AnyChar attribute="Symbol" context="#stay" String="():!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;{}"/>
</context>
<!-- Multiline regular expressions. -->
<context name="Multiline Regex" attribute="Regex" lineEndContext="#stay" noIndentationBasedFolding="1">
<HlCStringChar attribute="Regex" context="#stay"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<RegExpr attribute="Regex" context="#pop" String="///[mig]{0,3}" endRegion="Multiline Regex"/>
</context>
<!-- Class names. -->
<context name="Class" attribute="Normal" lineEndContext="#stay">
<DetectSpaces/>
<RegExpr attribute="Class" context="#pop" String="[@$:.\w\[\]]+"/>
</context>
<!-- Comments. -->
<context name="Comment" attribute="Comment" lineEndContext="#pop">
<IncludeRules context="##Alerts_indent"/>
</context>
<context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="1">
<StringDetect attribute="Comment" context="#pop" String="###" endRegion="Comment"/>
<IncludeRules context="##Alerts_indent"/>
</context>
<!-- Single-line strings. -->
<context name="String" attribute="String" lineEndContext="#stay">
<HlCStringChar attribute="String" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="'"/>
</context>
<context name="Rich String" attribute="String" lineEndContext="#stay">
<HlCStringChar attribute="String" context="#stay"/>
<Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<!-- Multi-line strings. -->
<context name="Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">
<HlCStringChar attribute="String" context="#stay"/>
<StringDetect attribute="String" context="#pop" String="'''" endRegion="Heredoc"/>
</context>
<context name="Rich Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">
<HlCStringChar attribute="String" context="#stay"/>
<Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/>
<StringDetect attribute="String" context="#pop" String="&quot;&quot;&quot;" endRegion="Rich Heredoc"/>
</context>
<!-- Expressions embedded in strings. -->
<context name="Embedding" attribute="Normal" lineEndContext="#stay">
<DetectChar attribute="Embedding" context="#pop" char="}"/>
</context>
<!-- Embedded Javascript. -->
<context name="Javascript" attribute="Javascript" lineEndContext="#stay" noIndentationBasedFolding="1">
<DetectChar attribute="Javascript" context="#pop" char="`" endRegion="Javascript"/>
<!-- NOTE: This hides errors where a backtick is embedded in a JS string. -->
<IncludeRules context="##JavaScript" includeAttrib="true"/>
</context>
</contexts>
<!-- Style mappings. -->
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Identifier" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Oct" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/>
<itemData name="Symbol" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Embedding" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Accessor" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Class" defStyleNum="dsDataType" spellChecking="false" bold="1"/>
<itemData name="Javascript" defStyleNum="dsAlert" spellChecking="false" italic="1"/>
<itemData name="Regex" defStyleNum="dsString" spellChecking="false"/>
<itemData name="Reserved" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Value Keywords" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Globals" defStyleNum="dsOthers" spellChecking="false"/>
<!-- Context-sensitive globals - not styled by default. -->
<itemData name="Browser Globals" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Node.js Globals" defStyleNum="dsNormal" spellChecking="false"/>
</itemDatas>
</highlighting>
<!-- Global settings. -->
<general>
<indentation mode="python"/>
<folding indentationsensitive="1"/>
<comments>
<comment name="singleLine" start="#"/>
<comment name="multiLine" start="###" end="###" region="Comment"/>
</comments>
<keywords casesensitive="1" additionalDeliminator="#'"/>
<emptyLines>
<emptyLine regexpr="(?:\s+|\s*#.*)"/>
</emptyLines>
</general>
</language>

@ -23,7 +23,7 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language version="1.04" kateversion="2.3" name="Common Lisp" section="Scripts" extensions="*.lisp;*.cl;*.lsp" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
<language version="1.05" kateversion="2.3" name="Common Lisp" section="Sources" extensions="*.lisp;*.cl;*.lsp" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
<highlighting>
<list name="symbols">
<item> &lt; </item>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="C++" section="Sources"
version="1.44" kateversion="2.4"
version="1.49" kateversion="2.4"
indenter="cstyle"
mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
@ -20,8 +20,10 @@
<item> case </item>
<item> catch </item>
<item> class </item>
<item> constexpr </item>
<item> const_cast </item>
<item> continue </item>
<item> decltype </item>
<item> default </item>
<item> delete </item>
<item> do </item>
@ -39,6 +41,7 @@
<item> inline </item>
<item> namespace </item>
<item> new </item>
<item> nullptr </item>
<item> operator </item>
<item> private </item>
<item> protected </item>
@ -47,6 +50,7 @@
<item> reinterpret_cast </item>
<item> return </item>
<item> sizeof </item>
<item> static_assert </item>
<item> static_cast </item>
<item> struct </item>
<item> switch </item>
@ -77,9 +81,6 @@
<item> or_eq </item>
<item> xor </item>
<item> xor_eq </item>
<item> except </item>
<item> finally </item>
<item> xalloc </item>
</list>
<list name="extensions">
<item> K_DCOP </item>
@ -155,6 +156,8 @@
<item> auto </item>
<item> bool </item>
<item> char </item>
<item> char16_t </item>
<item> char32_t </item>
<item> const </item>
<item> double </item>
<item> float </item>
@ -183,7 +186,7 @@
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" beginRegion="PP" firstNonSpace="true" />
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
@ -272,7 +275,6 @@
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
@ -294,23 +296,23 @@
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Extensions" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Extensions" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" spellChecking="false"/>
<itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Error" defStyleNum="dsError" />
<itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>

@ -0,0 +1,146 @@
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Crack" version="1.1" kateversion="2.3" section="Sources" extensions="*.crk" mimetype="">
<highlighting>
<list name="keywords">
<item> break</item>
<item> catch</item>
<item> class</item>
<item> continue</item>
<item> else</item>
<item> false</item>
<item> for</item>
<item> if</item>
<item> in</item>
<item> is</item>
<item> null</item>
<item> oper</item>
<item> return</item>
<item> this</item>
<item> true</item>
<item> try</item>
<item> typeof</item>
<item> while</item>
</list>
<list name="types">
<item> bool</item>
<item> byte</item>
<item> int32</item>
<item> int64</item>
<item> uint32</item>
<item> uint64</item>
<item> float32</item>
<item> float64</item>
<item> int</item>
<item> uint</item>
<item> intz</item>
<item> uintz</item>
<item> float</item>
<item> void</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<StringDetect attribute="Keyword" context="Package" String="import" />
<keyword attribute="Data Type" context="#stay" String="types" />
<Float attribute="Float" context="#stay">
<AnyChar String="fF" attribute="Float" context="#stay"/>
</Float>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="#stay" >
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
</Int>
<DetectChar attribute="String" context="Single quoted String" char="'"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<DetectChar attribute="String" context="Backtick String" char="`"/>
<Detect2Chars attribute="Char" context="Char" char="b" char1="'" />
<IncludeRules context="##Doxygen" />
<DetectChar attribute="Comment" context="Commentar 1" char="#" />
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 3" char="/" char1="*"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="block1"/>
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="block1"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
<RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" />
<RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" />
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#pop"/>
<HlCStringChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="String" lineEndContext="#pop" name="Single quoted String">
<LineContinue attribute="String" context="#pop"/>
<HlCStringChar attribute="Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="'"/>
</context>
<context attribute="String" lineEndContext="#stay" name="Backtick String">
<HlCStringChar attribute="Char" context="#stay"/>
<Detect2Chars attribute="Substitution" char="$" char1="(" context="Subst"/>
<DetectChar attribute="Substitution" char="$" context="Short Subst"/>
<DetectChar attribute="String" context="#pop" char="`"/>
</context>
<context attribute="Char" lineEndContext="#pop" name="Char">
<HlCStringChar attribute="Char" context="#stay" />
<DetectChar attribute="Char" context="#pop" char="'" />
</context>
<context name="Subst" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Substitution" char=")" context="#pop"/>
<!-- Highlight substitution as code. -->
<IncludeRules context="Normal"/>
</context>
<context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
<RegExpr attribute="Substitution" String="\w(?!\w)" context="#pop"/>
</context>
<context name="Package" attribute="Package" lineEndContext="#pop">
<RegExpr attribute="Package" String="[\w\\.]+" context="#pop"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
<RegExpr attribute="Function" context="#pop" String="\b[_\w][_\w\d]*(?=[\s]*)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 2"/>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 3">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Substitution" defStyleNum="dsOthers"/>
<itemData name="Package" defStyleNum="dsFunction"/>
<itemData name="Function" defStyleNum="dsFunction"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
</comments>
<keywords casesensitive="1" />
</general>
</language>

@ -1,5 +1,5 @@
<!DOCTYPE language SYSTEM "language.dtd">
<language name="C#" version="1.14" kateversion="2.3" section="Sources" extensions="*.cs" mimetype="text/x-csharp-src;text/x-csharp-hde">
<language name="C#" version="1.15" kateversion="2.3" section="Sources" extensions="*.cs" mimetype="text/x-csharp-src;text/x-csharp-hde">
<highlighting>
<list name="keywords">
<item> abstract</item>
@ -116,6 +116,11 @@
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="block1"/>
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="block1"/>
<RegExpr attribute="Keyword" context="#stay" String="\bpartial(?=\s+(class|struct|interface|void))"/>
<RegExpr attribute="Data Type" context="#stay" String="\bvar(?=\s+\w+\s*=\s*\w+)"/>
<RegExpr attribute="Keyword" context="#stay" String="\byield(?=\s+(return|break))"/>
<RegExpr attribute="Keyword" context="#stay" String="\b(set|get)(?=\s*[;{])"/>
<RegExpr attribute="Keyword" context="#stay" String="\bglobal(?=\s*::\s*\w+)"/>
<RegExpr attribute="Decimal" context="#stay" String="#region.*$" beginRegion="Region1"/>
<RegExpr attribute="Decimal" context="#stay" String="#endregion.*$" endRegion="Region1"/>
<RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" />

@ -8,6 +8,9 @@
Changelog:
- Version 2.03, by Milian Wolff:
- Make it spelling aware
- Version 2.02, by Rafał Miłecki:
- Added CSS 3 properties "border-*-image" and "border-*-radius".
- Added CSS values "clip", "ellipsis" and "ellipsis-word".
@ -25,7 +28,8 @@
-->
<language name="CSS" version="2.02" kateversion="2.4" section="Markup" extensions="*.css" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<language name="CSS" version="2.05" kateversion="2.4" section="Markup" extensions="*.css" indenter="cstyle"
mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<highlighting>
<list name="properties">
@ -424,6 +428,7 @@
<item> aqua </item>
<item> black </item>
<item> blue </item>
<item> cyan </item>
<item> fuchsia </item>
<item> gray </item>
<item> green </item>
@ -557,7 +562,7 @@
<!-- finds arguments to properties -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindValues">
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|px|in|cm|mm|pt|pc|deg|rad|grad|ms|s|Hz|kHz)\b" />
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b" />
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />
<RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />
</context>
@ -672,22 +677,22 @@
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Property" defStyleNum="dsKeyword"/>
<itemData name="Unknown Property" defStyleNum="dsKeyword" italic="1"/>
<itemData name="Media" defStyleNum="dsDecVal" bold="1"/>
<itemData name="At Rule" defStyleNum="dsDecVal" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Value" defStyleNum="dsDataType" />
<itemData name="Important" defStyleNum="dsKeyword" />
<itemData name="Selector Attr" defStyleNum="dsChar" />
<itemData name="Selector Id" defStyleNum="dsFloat" bold="1"/>
<itemData name="Selector Class" defStyleNum="dsFloat" />
<itemData name="Selector Pseudo" defStyleNum="dsDecVal" />
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Property" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Unknown Property" defStyleNum="dsKeyword" italic="1" spellChecking="false"/>
<itemData name="Media" defStyleNum="dsDecVal" bold="1" spellChecking="false"/>
<itemData name="At Rule" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Value" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Important" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Selector Attr" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Selector Id" defStyleNum="dsFloat" bold="1" spellChecking="false"/>
<itemData name="Selector Class" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Selector Pseudo" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
<itemData name="Error" defStyleNum="dsError"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>

@ -101,7 +101,7 @@
========================================================================
-->
<language name="D" version="1.61" kateversion="2.5" section="Sources" extensions="*.d;*.D;*.di;*.DI;" mimetype="text/x-dsrc" casesensitive="true" author="Diggory Hardy (diggory.hardy@gmail.com), Aziz Köksal (aziz.koeksal@gmail.com), Jari-Matti Mäkelä (jmjm@iki.fi), Simon J Mackenzie (project.katedxml@smackoz.fastmail.fm)" license="LGPL">
<language name="D" version="1.62" kateversion="2.5" section="Sources" extensions="*.d;*.D;*.di;*.DI;" mimetype="text/x-dsrc" casesensitive="true" author="Diggory Hardy (diggory.hardy@gmail.com), Aziz Köksal (aziz.koeksal@gmail.com), Jari-Matti Mäkelä (jmjm@iki.fi), Simon J Mackenzie (project.katedxml@smackoz.fastmail.fm)" license="LGPL">
<highlighting>
<!-- User-defined keywords (add identifiers you'd like highlighted here) -->
<list name="userkeywords">
@ -143,6 +143,7 @@
<item> const </item>
<item> export </item>
<item> final </item>
<item> immutable </item>
<item> inout </item>
<item> invariant </item>
<item> lazy </item>

@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Debian Changelog" version="0.63" kateversion="2.4" section="Other" extensions="" mimetype="">
<language name="Debian Changelog" version="0.65" kateversion="2.4" section="Other" extensions="" mimetype="">
<highlighting>
<list name="keywords">
<item>urgency</item>
</list>
<list name="distributions">
<item>oldstable</item>
<item>oldstable-security</item>
<item>oldstable-proposed-updates</item>
<item>stable</item>
<item>stable-security</item>
<item>testing</item>
<item>testing-security</item>
<item>testing-proposed-updates</item>
<item>frozen</item>
<item>unstable</item>
@ -21,7 +25,10 @@
<item>etch-backports</item>
<item>etch-volatile</item>
<item>lenny-backports</item>
<item>lenny-backports-sloppy</item>
<item>lenny-volatile</item>
<item>squeeze-backports</item>
<item>squeeze-volatile</item>
<!-- Ubuntu releases -->
<item>dapper</item>
<item>dapper-security</item>
@ -70,7 +77,21 @@
<item>karmic-proposed</item>
<item>karmic-updates</item>
<item>karmic-backports</item>
<item>karmic-partner</item>
<item>lucid</item>
<item>lucid-security</item>
<item>lucid-proposed</item>
<item>lucid-updates</item>
<item>lucid-backports</item>
<item>maverick</item>
<item>maverick-security</item>
<item>maverick-proposed</item>
<item>maverick-updates</item>
<item>maverick-backports</item>
<item>natty</item>
<item>natty-security</item>
<item>natty-proposed</item>
<item>natty-updates</item>
<item>natty-backports</item>
</list>
<list name="urgencies">

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Debian Control" version="0.83" kateversion="2.4" section="Other" extensions="control" mimetype="">
<language name="Debian Control" version="0.84" kateversion="2.4" section="Other" extensions="control" mimetype="">
<highlighting>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="INIT">
@ -16,12 +16,13 @@
<StringDetect attribute="Keyword" context="DependencyField" String="Build-Depends-Indep:"/>
<StringDetect attribute="Keyword" context="DependencyField" String="Build-Conflicts:"/>
<StringDetect attribute="Keyword" context="DependencyField" String="Build-Conflicts-Indep:"/>
<StringDetect attribute="Keyword" context="DependencyField" String="Breaks:"/>
<RegExpr attribute="Keyword" context="Field" minimal="true" String="[^ ]*:" column="0"/>
<DetectChar attribute="Value" context="Field" char=" " column="0"/>
</context>
<context attribute="Value" lineEndContext="#pop" name="Field">
<RegExpr attribute="Email" context="#stay" String="&lt;.*@.*&gt;"/>
<RegExpr attribute="Email" context="#stay" String="&lt;.*@.*&gt;" minimal="true"/>
<Detect2Chars attribute="Keyword" context="Variable" char="$" char1="{"/>
</context>
@ -30,7 +31,7 @@
</context>
<context attribute="Value" lineEndContext="#pop" name="DependencyField">
<RegExpr attribute="Email" context="#stay" String="&lt;.*@.*&gt;"/>
<RegExpr attribute="Email" context="#stay" String="&lt;.*@.*&gt;" minimal="true"/>
<Detect2Chars attribute="Keyword" context="Variable" char="$" char1="{"/>
<RegExpr attribute="Keyword" context="#stay" String="[,\|]"/>
<DetectChar attribute="Keyword" context="Constrain" char="("/>
@ -56,6 +57,9 @@
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords casesensitive="1" />
</general>
</language>

@ -4,7 +4,7 @@
<!ENTITY name "[A-Za-z_:][\w.:_-]*">
<!ENTITY entref "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
]>
<language name="Django HTML Template" version="1.2" kateversion="2.4" section="Markup" extensions="*.htm;*.html" mimetype="text/html" author="Matthew Marshall (matthew@matthewmarshall.org)" license="LGPL" priority="9">
<language name="Django HTML Template" version="1.3" kateversion="2.4" section="Markup" extensions="*.htm;*.html" mimetype="text/html" author="Matthew Marshall (matthew@matthewmarshall.org)" license="LGPL" priority="9">
<!--
Based off of the katepart html syntax highlighting by Wilbert Berendsen.
@ -23,6 +23,7 @@
<item>ifchanged</item>
<item>blocktrans</item>
<item>spaceless</item>
<item>autoescape</item>
</list>
<list name="endblocktags">
@ -34,6 +35,7 @@
<item>endifchanged</item>
<item>endblocktrans</item>
<item>endspaceless</item>
<item>endautoescape</item>
</list>
<contexts>

@ -0,0 +1,311 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY label "[^\s]+">
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*"> <!-- valid character in a variable name -->
<!ENTITY eop "(?=([\s\\;&quot;&#37;]|$))"> <!-- end of path -->
<!ENTITY pathpart "[^\s\\&#37;;/:\*\?&quot;&gt;&lt;\|]"> <!-- valid character in a file name -->
]>
<language name="MS-DOS Batch" version="0.2" kateversion="2.4" section="Scripts" extensions="*.bat" mimetype="application/x-dos" casesensitive="0" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL">
<!-- (c) 2006, 2009, 2010 Matthew Woehlke (mw_triad@users.sourceforge.net)
Released under the LGPL -->
<highlighting>
<list name="builtins">
<item> assoc </item>
<item> break </item>
<item> call </item>
<item> cd </item>
<item> chdir </item>
<item> cls </item>
<item> color </item>
<item> copy </item>
<item> date </item>
<item> del </item>
<item> dir </item>
<item> endlocal </item>
<item> erase </item>
<item> exit </item>
<item> ftype </item>
<item> md </item>
<item> mkdir </item>
<item> move </item>
<item> path </item>
<item> pause </item>
<item> popd </item>
<item> prompt </item>
<item> pushd </item>
<item> rd </item>
<item> ren </item>
<item> rename </item>
<item> rmdir </item>
<item> setlocal </item>
<item> shift </item>
<item> start </item>
<item> time </item>
<item> title </item>
<item> type </item>
<item> ver </item>
<item> verify </item>
<item> vol </item>
</list>
<!-- these need special handling -->
<list name="echo"><item> echo </item></list>
<list name="else"><item> else </item></list>
<list name="for"><item> for </item></list>
<list name="in"><item> in </item></list>
<list name="do"><item> do </item></list>
<list name="goto"><item> goto </item></list>
<list name="if"><item> if </item></list>
<list name="not"><item> not </item></list>
<list name="set"><item> set </item></list>
<list name="commands">
<!-- the basics -->
<item> at </item>
<item> attrib </item>
<item> break </item>
<item> cacls </item>
<item> chcp </item>
<item> chkdsk </item>
<item> chkntfs </item>
<item> cmd </item>
<item> comp </item>
<item> compact </item>
<item> convert </item>
<item> diskcomp </item>
<item> diskcopy </item>
<item> doskey </item>
<item> fc </item>
<item> find </item>
<item> findstr </item>
<item> format </item>
<item> graftabl </item>
<item> help </item>
<item> label </item>
<item> mode </item>
<item> more </item>
<item> print </item>
<item> recover </item>
<item> replace </item>
<item> sort </item>
<item> subst </item>
<item> tree </item>
<item> xcopy </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Start">
<!-- general syntactical stuff -->
<RegExpr attribute="Comment" context="Comment" String="^\s*[Rr][Ee][Mm](\s|$)"/>
<keyword attribute="Builtin" context="Command" String="builtins"/>
<keyword attribute="Command" context="Command" String="commands"/>
<DetectChar attribute="Label" context="Label" char=":" firstNonSpace="true"/>
<!-- special built-ins -->
<RegExpr attribute="Builtin" context="#stay" String="\b[Ee][Cc][Hh][Oo]\s+[Oo]([Ff][Ff]|[Nn])\s*$"/>
<keyword attribute="Builtin" context="CmdEcho" String="echo"/>
<keyword attribute="Keyword" context="CmdIf" String="if"/>
<keyword attribute="Keyword" context="CmdFor" String="for"/>
<keyword attribute="Keyword" context="Label" String="goto"/>
<keyword attribute="Builtin" context="CmdSet" String="set"/>
<DetectChar attribute="Keyword" context="#stay" char="@"/>
<!-- other syntaxes -->
<IncludeRules context="FindMost"/>
</context>
<!-- the following contexts are meant to be included -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindMost">
<IncludeRules context="FindStrings"/>
<IncludeRules context="FindSubstitutions"/>
<!-- handle command line options -->
<RegExpr attribute="Option" context="#stay" String="[/-][A-Za-z0-9][A-Za-z0-9_]*:?"/>
<!-- handle redirection -->
<RegExpr attribute="Redirection" context="#stay" String="[0-9]*(&gt;&gt;?|&lt;)(&amp;[0-9]+)"/>
<RegExpr attribute="Redirection" context="Path" String="[0-9]*(&gt;&gt;?|&lt;)\s*"/>
<DetectChar attribute="Redirection" context="Start" char="|"/>
<!-- handle paths -->
<RegExpr attribute="Path" context="#stay" String="[.]+&eop;"/>
<RegExpr attribute="Path" context="#stay" String="[A-Za-z][A-Za-z.]*:"/>
<RegExpr attribute="Path" context="#stay" String="&pathpart;+(?=\\)"/>
<RegExpr attribute="Path" context="#stay" String="[.]*\\+&pathpart;*&eop;"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
<DetectChar attribute="String" context="String" char="&quot;"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
<Detect2Chars attribute="Escape" context="#stay" char="&#37;" char1="&#37;"/>
<RegExpr attribute="Variable" context="#stay" String="([&#37;!])[^&#37;\s!]+\1"/>
<RegExpr attribute="Variable" context="#stay" String="[&#37;!][a-z0-9]" insensitive="true"/>
</context>
<!-- basic sub-contexts -->
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<IncludeRules context="##Alerts"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<Detect2Chars attribute="Escape" context="#stay" char="\" char1="&quot;"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
<IncludeRules context="FindSubstitutions"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Command">
<IncludeRules context="FindMost"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="Label">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Label" context="Comment" String="&label;&eos;"/>
</context>
<context attribute="Path" lineEndContext="#pop" name="Path">
<IncludeRules context="FindStrings"/>
<IncludeRules context="FindSubstitutions"/>
<AnyChar attribute="Normal Text" context="#pop" String=" &#9;\&#37;/:*?&quot;&gt;&lt;|" lookAhead="true"/>
</context>
<!-- special sub-contexts -->
<context attribute="Normal Text" lineEndContext="#pop" name="Assign">
<IncludeRules context="FindMost"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdSet">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Variable" context="#pop" String="&varname;="/>
</context>
<context attribute="Echoed Text" lineEndContext="#pop" name="CmdEcho">
<IncludeRules context="FindSubstitutions"/>
<RegExpr attribute="Escape" context="#stay" String="\^."/>
<RegExpr attribute="Redirection" context="#stay" String="[0-9]*(&gt;&gt;?|&lt;)(&amp;[0-9]+)"/>
<RegExpr attribute="Redirection" context="Path" String="[0-9]*(&gt;&gt;?|&lt;)\s*"/>
<DetectChar attribute="Redirection" context="Start" char="|"/>
</context>
<!-- 'for' sub-contexts -->
<context attribute="Error" lineEndContext="#pop" name="CmdFor">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Variable" context="CmdForIn" String="%%[a-z]" insensitive="true"/>
<Detect2Chars attribute="Option" context="#stay" char="/" char1="D"/>
<Detect2Chars attribute="Option" context="CmdForR" char="/" char1="R"/>
<Detect2Chars attribute="Option" context="CmdForL" char="/" char1="L"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForIn">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<keyword attribute="Keyword" context="CmdForList" String="in"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForList">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<DetectChar attribute="Keyword" context="CmdForListBody" char="("/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="CmdForListBody">
<IncludeRules context="FindStrings"/>
<IncludeRules context="FindSubstitutions"/>
<DetectChar attribute="Keyword" context="CmdForDo" char=")"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForDo">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<keyword attribute="Keyword" context="CmdForCommands" String="do"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="CmdForCommands">
<RegExpr attribute="Variable" context="#stay" String="%%(~([fdpnxsatz]|\$&varname;:)*)?[a-z]" insensitive="true"/>
<IncludeRules context="Start"/>
<DetectChar attribute="Keyword" context="CmdForNestedCommands" char="("/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="CmdForNestedCommands">
<DetectChar attribute="Keyword" context="#pop" char=")"/>
<IncludeRules context="CmdForCommands"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForR">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Path" context="#stay" String="([a-z][a-z.]*:)?[.]*\\*&pathpart;*&eop;" insensitive="true"/>
<RegExpr attribute="Variable" context="CmdForIn" String="%%[a-z]" insensitive="true"/>
</context>
<!-- 'for /L' sub-contexts -->
<context attribute="Error" lineEndContext="#pop" name="CmdForL">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Variable" context="CmdForLIn" String="%%[a-z]" insensitive="true"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLIn">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<keyword attribute="Keyword" context="CmdForLRange" String="in"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLRange">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<DetectChar attribute="Keyword" context="CmdForLStart" char="("/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLStart">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Number" context="CmdForLStartComma" String="-?[0-9]+"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLStartComma">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<DetectChar attribute="Keyword" context="CmdForLStep" char=","/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLStep">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Number" context="CmdForLStepComma" String="-?[0-9]+"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLStepComma">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<DetectChar attribute="Keyword" context="CmdForLEnd" char=","/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLEnd">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<RegExpr attribute="Number" context="CmdForLEndParen" String="-?[0-9]+"/>
</context>
<context attribute="Error" lineEndContext="#pop" name="CmdForLEndParen">
<DetectSpaces attribute="Normal Text" context="#stay"/>
<DetectChar attribute="Keyword" context="CmdForDo" char=")"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Number" defStyleNum="dsDecVal"/>
<itemData name="Label" defStyleNum="dsOthers"/>
<itemData name="Builtin" defStyleNum="dsKeyword"/>
<itemData name="Command" defStyleNum="dsKeyword"/>
<itemData name="Redirection" defStyleNum="dsKeyword"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Escape" defStyleNum="dsChar"/>
<itemData name="Echoed Text" defStyleNum="dsNormal"/>
<itemData name="Variable" defStyleNum="dsOthers"/>
<itemData name="Path" defStyleNum="dsNormal"/>
<itemData name="Option" defStyleNum="dsNormal"/>
<itemData name="Error" defStyleNum="dsError"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="rem "/>
</comments>
<keywords casesensitive="0" weakDeliminator="@" additionalDeliminator="@"/>
</general>
</language>

@ -8,6 +8,7 @@
Copyright 2004 Dominik Haumann (dhdev@gmx.de)
Copyright 2007 Matthew Woehlke (mw_triad@users.sourceforge.net)
Copyright 2009 Alex Turbov (I.zaufi@gmail.com)
**********************************************************************
* This library is free software; you can redistribute it and/or *
@ -26,58 +27,85 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language name="Doxygen" version="1.30" kateversion="2.4" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" priority="9">
<!-- NOTE: Tags @code and @endcode do not present in keywords due
separate handle rules...
-->
<language name="Doxygen" version="1.32" kateversion="2.4" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" priority="9">
<highlighting>
<!-- note: all tags may begin with a \ or @ char
so if you add/change tags you have to do it twice -->
<list name="TagOnly">
<item> \arg </item>
<item> \attention </item>
<item> \author </item>
<item> \callgraph </item>
<item> \code </item>
<item> \callergraph </item>
<!-- <item> \code </item> -->
<item> \details </item>
<item> \dot </item>
<item> \else </item>
<item> \endcode </item>
<!-- <item> \endcode </item> -->
<item> \endcond </item>
<item> \enddot </item>
<item> \endhtmlonly </item>
<item> \endif </item>
<item> \endlatexonly </item>
<item> \endlink </item>
<item> \endmanonly </item>
<item> \endmsc </item>
<item> \endverbatim </item>
<item> \endxmlonly </item>
<item> \f[ </item>
<item> \f] </item>
<item> \f$ </item>
<item> \hideinitializer </item>
<item> \htmlonly </item>
<item> \interface </item>
<item> \internal </item>
<item> \invariant </item>
<item> \~ </item>
<item> \@ </item>
<item> \$ </item>
<item> \\ </item>
<item> \# </item>
<item> \latexonly </item>
<item> \li </item>
<item> \manonly </item>
<item> \msc </item>
<item> \n </item>
<item> \nosubgrouping </item>
<item> \note </item>
<item> \only </item>
<item> \post </item>
<item> \pre </item>
<item> \private </item>
<item> \privatesection </item>
<item> \protected </item>
<item> \protectedsection </item>
<item> \public </item>
<item> \publicsection </item>
<item> \remarks </item>
<item> \return </item>
<item> \returns </item>
<item> \sa </item>
<item> \see </item>
<!-- <item> \sa </item> -->
<!-- <item> \see </item> -->
<item> \showinitializer </item>
<item> \since </item>
<item> \test </item>
<item> \todo </item>
<item> \verbatim </item>
<item> \warning </item>
@ -87,49 +115,70 @@
<item> @attention </item>
<item> @author </item>
<item> @callgraph </item>
<item> @code </item>
<item> @callergraph </item>
<!-- <item> @code </item> -->
<item> @details </item>
<item> @dot </item>
<item> @else </item>
<item> @endcode </item>
<!-- <item> @endcode </item> -->
<item> @endcond </item>
<item> @enddot </item>
<item> @endhtmlonly </item>
<item> @endif </item>
<item> @endlatexonly </item>
<item> @endlink </item>
<item> @endmanonly </item>
<item> @endmsc </item>
<item> @endverbatim </item>
<item> @endxmlonly </item>
<item> @f[ </item>
<item> @f] </item>
<item> @f$ </item>
<item> @hideinitializer </item>
<item> @htmlonly </item>
<item> @interface </item>
<item> @internal </item>
<item> @invariant </item>
<item> @~ </item>
<item> @@ </item>
<item> @$ </item>
<item> @\ </item>
<item> @# </item>
<item> @latexonly </item>
<item> @li </item>
<item> @manonly </item>
<item> @msc </item>
<item> @n </item>
<item> @nosubgrouping </item>
<item> @note </item>
<item> @only </item>
<item> @post </item>
<item> @pre </item>
<item> @pivate </item>
<item> @pivatesection </item>
<item> @protected </item>
<item> @protectedsection </item>
<item> @public </item>
<item> @publicsection </item>
<item> @remarks </item>
<item> @return </item>
<item> @returns </item>
<item> @sa </item>
<item> @see </item>
<!-- <item> @sa </item> -->
<!-- <item> @see </item> -->
<item> @showinitializer </item>
<item> @since </item>
<item> @test </item>
<item> @todo </item>
<item> @verbatim </item>
<item> @warning </item>
@ -141,80 +190,118 @@
<item> \a </item>
<item> \anchor </item>
<item> \b </item>
<item> \c </item>
<item> \class </item>
<item> \cond </item>
<item> \copybrief </item>
<item> \copydetails </item>
<item> \copydoc </item>
<item> \def </item>
<item> \dir </item>
<item> \dontinclude </item>
<item> \dotfile </item>
<item> \e </item>
<item> \elseif </item>
<item> \em </item>
<item> \enum </item>
<item> \example </item>
<item> \exception </item>
<item> \exceptions </item>
<item> \extends </item>
<item> \file </item>
<item> \htmlinclude </item>
<item> \if </item>
<item> \ifnot </item>
<item> \implements </item>
<item> \include </item>
<item> \includelineno </item>
<item> \link </item>
<item> \memberof </item>
<item> \namespace </item>
<item> \p </item>
<item> \package </item>
<item> \property </item>
<item> \protocol </item>
<item> \ref </item>
<item> \relatesalso </item>
<item> \relates </item>
<item> \retval </item>
<item> \throw </item>
<item> \throws </item>
<item> \verbinclude </item>
<item> \version </item>
<item> \xrefitem </item>
<item> @addtogroup </item>
<item> @a </item>
<item> @anchor </item>
<item> @b </item>
<item> @c </item>
<item> @class </item>
<item> @cond </item>
<item> @copybrief </item>
<item> @copydetails </item>
<item> @copydoc </item>
<item> @def </item>
<item> @dir </item>
<item> @dontinclude </item>
<item> @dotfile </item>
<item> @e </item>
<item> @elseif </item>
<item> @em </item>
<item> @enum </item>
<item> @example </item>
<item> @exception </item>
<item> @exceptions </item>
<item> @extends </item>
<item> @file </item>
<item> @htmlinclude </item>
<item> @if </item>
<item> @ifnot </item>
<item> @implements </item>
<item> @include </item>
<item> @includelineno </item>
<item> @link </item>
<item> @memberof </item>
<item> @namespace </item>
<item> @p </item>
<item> @package </item>
<item> @property </item>
<item> @prtocol </item>
<item> @ref </item>
<item> @relatesalso </item>
<item> @relates </item>
<item> @retval </item>
<item> @throw </item>
<item> @throws </item>
<item> @verbinclude </item>
<item> @version </item>
<item> @xrefitem </item>
</list>
<list name="TagParam">
<item> \param </item>
<item> \tparam </item>
<item> @param </item>
<item> @tparam </item>
</list>
<list name="TagWordWord">
<item> \image </item>
@ -222,41 +309,57 @@
<item> @image </item>
</list>
<list name="TagWordString">
<item> \category </item>
<item> \defgroup </item>
<item> \headerfile </item>
<item> \page </item>
<item> \paragraph </item>
<item> \section </item>
<item> \struct </item>
<item> \subpage </item>
<item> \subsection </item>
<item> \subsubsection </item>
<item> \union </item>
<item> \weakgroup </item>
<item> @category </item>
<item> @defgroup </item>
<item> @headerfile </item>
<item> @page </item>
<item> @paragraph </item>
<item> @section </item>
<item> @struct </item>
<item> @subpage </item>
<item> @subsection </item>
<item> @subsubsection </item>
<item> @union </item>
<item> @weakgroup </item>
</list>
<list name="TagString">
<item> \addindex </item>
<item> \brief </item>
<item> \bug </item>
<item> \date </item>
<item> \deprecated </item>
<item> \fn </item>
<item> \ingroup </item>
<item> \line </item>
<item> \mainpage </item>
<item> \name </item>
<item> \overload </item>
<item> \par </item>
<item> \sa </item>
<item> \see </item>
<item> \short </item>
<item> \skip </item>
<item> \skipline </item>
<item> \typedef </item>
<item> \until </item>
@ -267,19 +370,25 @@
<item> @bug </item>
<item> @date </item>
<item> @deprecated </item>
<item> @fn </item>
<item> @ingroup </item>
<item> @line </item>
<item> @mainpage </item>
<item> @name </item>
<item> @overload </item>
<item> @par </item>
<item> @sa </item>
<item> @see </item>
<item> @short </item>
<item> @skip </item>
<item> @skipline </item>
<item> @typedef </item>
<item> @until </item>
<item> @var </item>
</list>
<contexts>
<!-- different formats:
@ -290,19 +399,22 @@
@tag <word> rest_of_line : TagWordString
-->
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))&lt;?"/>
<RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]&lt;|\*$)" beginRegion="BlockComment"/>
<RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup"/>
<RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$" endRegion="MemberGroup"/>
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup"/>
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/" endRegion="MemberGroup"/>
<RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))&lt;?" />
<RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]&lt;|\*$)" beginRegion="BlockComment" />
<RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$" endRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/" endRegion="MemberGroup" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="LineComment">
<LineContinue attribute="Comment" context="#stay"/>
<LineContinue attribute="Comment" context="#stay" />
<DetectSpaces />
<IncludeRules context="##Alerts" />
<IncludeRules context="SL_DetectEnv" />
<keyword attribute="Tags" context="#stay" String="TagOnly" />
<keyword attribute="Tags" context="SL_TagWord" String="TagWord" />
<keyword attribute="Tags" context="SL_TagParam" String="TagParam" />
<keyword attribute="Tags" context="SL_TagWordWord" String="TagWordWord" />
<keyword attribute="Tags" context="SL_TagString" String="TagString" />
@ -312,14 +424,17 @@
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="BlockComment">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment" />
<IncludeRules context="##Alerts" />
<Detect2Chars attribute="Region" context="#stay" char="@" char1="{" />
<Detect2Chars attribute="Region" context="#stay" char="@" char1="}" />
<IncludeRules context="SL_DetectEnv" />
<keyword attribute="Tags" context="#stay" String="TagOnly" />
<keyword attribute="Tags" context="ML_TagWord" String="TagWord" />
<keyword attribute="Tags" context="ML_TagParam" String="TagParam" />
<keyword attribute="Tags" context="ML_TagWordWord" String="TagWordWord" />
<keyword attribute="Tags" context="ML_TagString" String="TagString" />
@ -329,18 +444,22 @@
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
</context>
<!-- NOTE: all contexts beginning with ML_ are for multiline comments
The following contexts contain a Detect2Chars that looks for a */ sequence to end multiline comments. Singleline comments do not have this limitation - that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed. <IncludeRules context="acontext"> could be used instead but it would make context switching much more complex and very hard to understand! (But use IncludeRules where the rules don't refer to another SL_*/ML_* context, to help maintainability.)
-->
<!-- tag contexts -->
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWord">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_TagWord" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectSpaces />
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in]" />
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[out]" />
@ -349,53 +468,59 @@
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectSpaces />
<RegExpr attribute="Word" context="ML_Tag2ndWord" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<!-- TODO for kate 2.x, convert references to "#pop!ML_TagWord" -->
<context attribute="Comment" lineEndContext="#pop#pop" name="ML_Tag2ndWord">
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_Tag2ndWord" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagString">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<RegExpr attribute="Description" context="#stay" String="." />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_TagWordString" />
</context>
<!-- html contexts -->
<context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
<RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*"/>
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
<RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*" />
</context>
<context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="##Alerts" />
<StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
</context>
<context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
<DetectChar attribute="Types" context="ML_types1" char="'" />
<DetectChar attribute="Types" context="ML_types2" char="&quot;" />
</context>
<context name="ML_types1" attribute="Types" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectChar attribute="Types" context="#pop#pop" char="'" />
</context>
<context name="ML_types2" attribute="Types" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
</context>
@ -403,7 +528,8 @@
<!-- tag contexts -->
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
<DetectSpaces />
<keyword attribute="Tags" context="#pop" String="TagWord" lookAhead="true"/>
<keyword attribute="Tags" context="#pop" String="TagWord" lookAhead="true" />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
@ -413,6 +539,7 @@
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[out]" />
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in,out]" />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordWord">
@ -422,6 +549,7 @@
</context>
<!-- TODO for kate 2.x, convert references to "#pop!SL_TagWord" -->
<context attribute="Comment" lineEndContext="#pop#pop" name="SL_Tag2ndWord">
<DetectSpaces />
<RegExpr attribute="Word" context="#pop#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
@ -431,6 +559,7 @@
<StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<RegExpr attribute="Description" context="#stay" String="." />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
@ -440,15 +569,17 @@
</context>
<!-- html contexts -->
<context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop">
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
<RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*"/>
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
<RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*" />
</context>
<context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop">
<IncludeRules context="##Alerts" />
<StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
</context>
<context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop">
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
<DetectChar attribute="Types" context="SL_types1" char="'" />
@ -458,24 +589,76 @@
<DetectChar attribute="Types" context="#pop#pop" char="'" />
</context>
<context name="SL_types2" attribute="Types" lineEndContext="#pop">
<DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
</context>
</contexts>
<context name="SL_DetectEnv" lineEndContext="#pop">
<RegExpr attribute="Tags" context="Code" String="[@\\]code" beginRegion="Code" />
<RegExpr attribute="Tags" context="Verbatim" String="[@\\]verbatim" beginRegion="Verbatim" />
<RegExpr attribute="Tags" context="Formula" String="[@\\]f\[" beginRegion="Formula" />
<RegExpr attribute="Tags" context="Msc" String="[@\\]msc" beginRegion="Msc" />
<RegExpr attribute="Tags" context="Dot" String="[@\\]dot" beginRegion="Dot" />
</context>
<context name="SL_DetectComment" lineEndContext="#pop">
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" />
</context>
<context attribute="Code" lineEndContext="#stay" name="Code">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endcode" endRegion="Code" />
</context>
<context attribute="Verbatim" lineEndContext="#stay" name="Verbatim">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endverbatim" endRegion="Verbatim" />
</context>
<context attribute="Formulas" lineEndContext="#stay" name="Formula">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]f\]" endRegion="Formula" />
<!-- TODO: How to force LaTeX math context here?? -->
<!-- <IncludeRules context="##LaTeX" /> -->
</context>
<context attribute="Message Sequence Chart" lineEndContext="#stay" name="Msc">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endmsc" endRegion="Msc" />
</context>
<context attribute="Dot Graph" lineEndContext="#stay" name="Dot">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]enddot" endRegion="Dot" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Tags" defStyleNum="dsKeyword" color="#ca60ca" selColor="#ffffff" bold="1" italic="0" />
<itemData name="Word" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" />
<itemData name="HTML Tag" defStyleNum="dsKeyword" color="#000000" selColor="#ffffff" bold="1" italic="0" />
<itemData name="Description" defStyleNum="dsString" color="#ff0000" />
<itemData name="Comment" defStyleNum="dsComment" color="#0000ff" selColor="#ffffff" italic="1" />
<itemData name="Region" defStyleNum="dsRegionMarker" />
<itemData name="Identifier" defStyleNum="dsOthers" />
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Tags" defStyleNum="dsKeyword" color="#ca60ca" selColor="#ffffff" bold="1" italic="0" />
<itemData name="Word" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" />
<itemData name="HTML Tag" defStyleNum="dsKeyword" color="#000000" selColor="#ffffff" bold="1" italic="0" />
<itemData name="Description" defStyleNum="dsString" color="#ff0000" />
<itemData name="Comment" defStyleNum="dsComment" color="#0000ff" selColor="#ffffff" italic="1" />
<itemData name="Region" defStyleNum="dsRegionMarker" />
<itemData name="Identifier" defStyleNum="dsOthers" />
<itemData name="HTML Comment" defStyleNum="dsComment" />
<itemData name="Types" defStyleNum="dsDataType" />
<itemData name="Types" defStyleNum="dsDataType" />
<itemData name="Code" defStyleNum="dsComment" />
<itemData name="Dot Graph" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Formulas" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Message Sequence Chart" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Verbatim" defStyleNum="dsComment" />
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" weakDeliminator="\$~" />
</general>
</language>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="E Language" version="0.21" kateversion="2.3" section="Sources" extensions="*.e" mimetype="text/x-e-src">
<language name="E Language" version="0.22" kateversion="2.3" section="Sources" extensions="*.e" mimetype="text/x-e-src">
<highlighting>
<list name="Type">
<item> FALSE </item>
@ -200,9 +200,9 @@
</list>
<contexts>
<context name="out_comment" attribute="OutSide E code" lineEndContext="#stay">
<context name="out_comment" attribute="OutSide E code" lineEndContext="#stay">
<Detect2Chars attribute="code_begin" context="normal" char="&lt;" char1="'" />
</context>
</context>
<context name="normal" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Operators" context="#stay" char="{" beginRegion="Region1"/>
@ -215,13 +215,13 @@
<Detect2Chars attribute="Comment" context="comment" char="/" char1="/" />
<DetectChar attribute="Vector" context="string" char="&quot;" />
<AnyChar attribute="Operators" context="#stay" String="'[&amp;&gt;&lt;=:+\-*\|].,;" />
<keyword attribute="Data Type" context="#stay" String="Type"/>
<keyword attribute="Data Type" context="#stay" String="Type"/>
<keyword attribute="Function" context="#stay" String="Function"/>
<keyword attribute="Statement" context="#stay" String="Statement"/>
<keyword attribute="Statement" context="#stay" String="Statement"/>
<keyword attribute="Action" context="#stay" String="Action"/>
<keyword attribute="Keyword" context="#stay" String="Generation"/>
<keyword attribute="Keyword" context="#stay" String="Cover"/>
<keyword attribute="Keyword" context="#stay" String="Simulator"/>
<keyword attribute="Keyword" context="#stay" String="Generation"/>
<keyword attribute="Keyword" context="#stay" String="Cover"/>
<keyword attribute="Keyword" context="#stay" String="Simulator"/>
</context>
@ -251,6 +251,9 @@
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
</comments>
<keywords casesensitive="1" />
</general>
</language>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Fortran" version="1.11" kateversion="2.4" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL">
<language name="Fortran" version="1.12" kateversion="2.4" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL">
<!-- by Franchin Matteo, fnch@libero.it -->
<highlighting>
@ -13,17 +13,17 @@
<item> call </item>
<item> case </item>
<item> common </item>
<item> contains </item>
<!--item> contains </item-->
<item> continue </item>
<item> cycle </item>
<item> deallocate </item>
<item> default </item>
<item> do </item>
<!--item> do </item-->
<item> forall </item>
<item> where </item>
<item> elsewhere </item>
<item> elseif </item>
<item> else </item>
<!--item> elseif </item-->
<!--item> else </item-->
<item> equivalence </item>
<item> exit </item>
<item> external </item>
@ -51,7 +51,7 @@
<item> select </item>
<item> selectcase </item>
<item> stop </item>
<item> then </item>
<!--item> then </item-->
<item> to </item>
<item> use </item>
<item> only </item>
@ -380,8 +380,9 @@
<IncludeRules context="find_preprocessor" />
<IncludeRules context="find_comments" />
<IncludeRules context="find_symbols" />
<IncludeRules context="find_end_stmnts" />
<IncludeRules context="find_begin_stmnts" />
<IncludeRules context="find_end_stmnts" />
<IncludeRules context="find_mid_stmnts" />
</context>
<!--************************END OF THE MAIN CONTEXT*************************-->
@ -458,13 +459,23 @@
<!-- The following context matches the begin of program units -->
<context attribute="Normal Text" lineEndContext="#stay" name="find_begin_stmnts">
<RegExpr attribute="Keyword" context="#stay" String="\bmodule\s+procedure\b" insensitive="TRUE"/>
<RegExpr attribute="Keyword" context="#stay" String="\b(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" beginRegion="Unit"/>
<RegExpr attribute="Keyword" context="#stay" String="\b(subroutine|function|block\s*data)\b" insensitive="TRUE" beginRegion="Routine"/>
<RegExpr attribute="Keyword" context="#stay" String="\b(program|module|block\s*data)\b" insensitive="TRUE" beginRegion="Routine"/>
<RegExpr attribute="Keyword" context="#stay" String="\b(then|do)\b" insensitive="TRUE" beginRegion="Block"/>
</context>
<!-- The following context matches the end of program units -->
<context attribute="Normal Text" lineEndContext="#stay" name="find_end_stmnts">
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" endRegion="Unit"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(do|if|select|where|forall|interface)\b" insensitive="TRUE"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\b" insensitive="TRUE" endRegion="Unit"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(subroutine|function|block\s*data)\b" insensitive="TRUE" endRegion="Routine"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(program|module)\b" insensitive="TRUE" endRegion="Routine"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(do|if)\b" insensitive="TRUE" endRegion="Block"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(select|where|forall|interface)\b" insensitive="TRUE"/>
<RegExpr attribute="Keyword" context="#stay" String="\belse\s*if\b" insensitive="TRUE" endRegion="Block"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend\b" insensitive="TRUE" endRegion="Routine"/>
</context>
<!-- The following context matches the mid of program units -->
<context attribute="Normal Text" lineEndContext="#stay" name="find_mid_stmnts">
<RegExpr attribute="Keyword" context="#stay" String="\belse\b" insensitive="TRUE" endRegion="Block" beginRegion="Block"/>
<RegExpr attribute="Keyword" context="#stay" String="\bcontains\b" insensitive="TRUE" endRegion="Routine" beginRegion="Routine"/>
</context>
<!-- The following two contexts match declarations -->

@ -0,0 +1,287 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Kate syntax highlighting for F# based on the OCAML syntax by Glyn Webster (glyn@wave.co.nz). -->
<!DOCTYPE language SYSTEM "language.dtd"
[
<!-- Regular expresion constants: -->
<!ENTITY LETTER "A-Za-z\0300-\0326\0330-\0366\0370-\0377"> <!-- Latin-1 letters. -->
<!ENTITY IDENT "[&LETTER;_][&LETTER;0-9_']*"> <!-- OCaml identifiers. -->
<!ENTITY MIDENT "[A-Z][&LETTER;0-9_']*"> <!-- OCaml uppercase identifiers. -->
<!ENTITY ESC "(\\[ntbr'&quot;\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
<!ENTITY DEC "[0-9][0-9_]*"> <!-- Decimal digits with underscores. -->
]>
<language name="FSharp" version="0.0.1" kateversion="2.4" section="Sources" extensions="*.fs;*.fsi;*.fsx" mimetype="" priority="10" author="Bas Bossink (bas.bossink@gmail.com)" license="LGPL">
<highlighting>
<list name="keywords">
<item> abstract </item>
<item> and </item>
<item> as </item>
<item> assert </item>
<item> base </item>
<!-- <item> begin </item> -->
<item> class </item>
<item> delegate </item>
<!-- <item> do </item> -->
<!-- <item> done </item> -->
<item> dowcast </item>
<item> downto </item>
<item> elif </item>
<item> else </item>
<!-- <item> end </item> -->
<item> exception </item>
<item> extern </item>
<item> false </item>
<item> for </item>
<item> fun </item>
<item> function </item>
<item> functor </item>
<item> global </item>
<item> if </item>
<item> in </item>
<!-- <item> include </item> -->
<item> inherit </item>
<item> inline </item>
<item> interfaece </item>
<item> internal </item>
<item> lazy </item>
<item> let </item>
<item> match </item>
<item> member </item>
<!-- <item> module </item> -->
<item> mutable </item>
<item> namespace </item>
<item> new </item>
<item> not </item>
<item> null </item>
<!-- <item> object </item> -->
<item> of </item>
<!-- <item> open </item> -->
<item> or </item>
<item> override </item>
<item> private </item>
<item> public </item>
<item> rec </item>
<item> ref </item>
<item> return </item>
<!-- <item> sig </item> -->
<item> static </item>
<!-- <item> struct </item> -->
<item> then </item>
<item> to </item>
<item> true </item>
<item> try </item>
<item> type </item>
<item> upcast </item>
<item> use </item>
<item> val </item>
<item> void </item>
<item> when </item>
<item> while </item>
<item> with </item>
<item> yield </item>
</list>
<list name="core types">
<item> bool </item>
<item> byte </item>
<item> sbyte </item>
<item> int16 </item>
<item> uint16 </item>
<item> int </item>
<item> uint32 </item>
<item> int64 </item>
<item> uint64 </item>
<item> nativeint </item>
<item> unativeint </item>
<item> char </item>
<item> string </item>
<item> decimal </item>
<item> unit </item>
<item> void </item>
<item> float32 </item>
<item> single </item>
<item> float </item>
<item> double </item>
<item> bigint </item>
<item> option </item>
<item> seq </item>
</list>
<list name="symbols">
<item> ? </item>
</list>
<list name="end">
<item> end </item>
</list>
<list name="sig">
<item> sig </item>
</list>
<list name="struct">
<item> struct </item>
</list>
<list name="object">
<item> object </item>
</list>
<list name="begin">
<item> begin </item>
</list>
<list name="do">
<item> do </item>
</list>
<list name="done">
<item> done </item>
</list>
<list name="module_environment">
<item> module </item>
<item> open </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
<Detect2Chars context="Singleline Comment" char="/" char1="/" />
<DetectChar attribute="Symbol" context="#stay" char="(" beginRegion="paren"/>
<DetectChar attribute="Symbol" context="#stay" char=")" endRegion="paren"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="record"/>
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="record"/>
<Detect2Chars attribute="Symbol" context="#stay" char="[" char1="&lt;" beginRegion="attribute"/>
<Detect2Chars attribute="Symbol" context="#stay" char="&gt;" char1="]" endRegion="attribute"/>
<Detect2Chars attribute="Symbol" context="#stay" char="[" char1="|" beginRegion="array"/>
<Detect2Chars attribute="Symbol" context="#stay" char="|" char1="]" endRegion="array"/>
<DetectChar attribute="Symbol" context="#stay" char="[" beginRegion="list"/>
<DetectChar attribute="Symbol" context="#stay" char="]" endRegion="list"/>
<keyword attribute="Keyword" context="#stay" String="do" beginRegion="loop"/>
<keyword attribute="Keyword" context="#stay" String="done" endRegion="loop"/>
<keyword attribute="Directive" context="ModuleEnv" String="module_environment"/>
<keyword attribute="Region Marker" context="Block" String="begin" beginRegion="block"/>
<keyword attribute="Region Marker" context="Object" String="object" beginRegion="object"/>
<keyword attribute="Region Marker" context="Sig" String="sig" beginRegion="sig"/>
<keyword attribute="Region Marker" context="Struct" String="struct" beginRegion="struct"/>
<RegExpr attribute="Constructor" context="#stay" String="`\s*&IDENT;"/>
<RegExpr attribute="Module" lookAhead="true" context="ModuleEnv2" String="&MIDENT;\s*\."/>
<RegExpr attribute="Constructor" context="#stay" String="&MIDENT;"/>
<!-- Interpreter directives. -->
<!-- (These are lines where the first symbol is a '#' followed by an identifier. -->
<!-- Such lines could also be part of a method call split over two lines but -->
<!-- it's unlikey anyone would code like that.) -->
<RegExpr attribute="Directive" context="#stay" String="#&IDENT;.*$" firstNonSpace="true"/>
<!-- String, character and Camlp4 "quotation" constants. -->
<!-- Note: If you must modify the pattern for characters be precise: -->
<!-- single quotes have several meanings in Ocaml. -->
<DetectChar attribute="String" context="String Constant" char="&quot;" />
<RegExpr attribute="Character" context="#stay" String="'(&ESC;|[^'])'" />
<Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="&lt;" char1="&lt;" />
<RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="&lt;:&IDENT;&lt;" />
<!-- Identifiers and keywords. -->
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Core Data Type" context="#stay" String="core types" />
<RegExpr attribute="Identifier" context="#stay" String="&IDENT;" />
<!-- Numeric constants. -->
<!-- Note that they may contain underscores. -->
<RegExpr attribute="Hexadecimal" context="#stay" String="-?0[xX][0-9A-Fa-f_]+" />
<RegExpr attribute="Octal" context="#stay" String="-?0[oO][0-7_]+" />
<RegExpr attribute="Binary" context="#stay" String="-?0[bB][01_]+" />
<RegExpr attribute="Float" context="#stay" String="-?&DEC;((\.(&DEC;)?([eE][-+]?&DEC;)?)|([eE][-+]?&DEC;))" />
<RegExpr attribute="Decimal" context="#stay" String="-?&DEC;" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Singleline Comment"/>
<context attribute="Comment" lineEndContext="#stay" name="Multiline Comment">
<!-- Support for nested comments -->
<Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="comment" />
<Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
</context>
<context attribute="String" lineEndContext="#stay" name="String Constant">
<DetectChar attribute="String" context="#pop" char="&quot;" />
<RegExpr attribute="Escaped characters" context="#stay" String="&ESC;" />
<!-- An underscore at the end of a line in a string indicates -->
<!-- that the string will continue on the next line. -->
<RegExpr attribute="Escaped characters" context="#stay" String="\\$" />
</context>
<context attribute="Normal text" lineEndContext="#stay" name="Block">
<keyword attribute="Region Marker" context="#pop" String="end" endRegion="block"/>
<IncludeRules context="Normal"/>
</context>
<context attribute="Normal text" lineEndContext="#stay" name="Sig">
<keyword attribute="Region Marker" context="#pop" String="end" endRegion="sig"/>
<IncludeRules context="Normal"/>
</context>
<context attribute="Normal text" lineEndContext="#stay" name="Struct">
<keyword attribute="Region Marker" context="#pop" String="end" endRegion="struct"/>
<IncludeRules context="Normal"/>
</context>
<context attribute="Normal text" lineEndContext="#stay" name="Object">
<keyword attribute="Region Marker" context="#pop" String="end" endRegion="object"/>
<IncludeRules context="Normal"/>
</context>
<context attribute="Normal text" lineEndContext="#stay" name="ModuleEnv" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces attribute="Normal text" context="#stay"/>
<RegExpr attribute="Module" lookAhead="true" context="ModuleEnv2" String="&MIDENT;\s*\."/>
<RegExpr attribute="Module" context="#pop" String="&MIDENT;"/>
</context>
<context attribute="Normal text" lineEndContext="#stay" name="ModuleEnv2">
<RegExpr attribute="Module" context="#stay" String="&MIDENT;"/>
<DetectSpaces attribute="Normal text" context="#stay"/>
<StringDetect attribute="Keyword" context="#pop" String="."/>
</context>
<!-- Camlp4 Quotations. These are source code literals used by the Campl4 preprocessor. -->
<!-- The only escapes allowed in a Camlp4 quotation are for the quotation start and stop symbols. -->
<context attribute="Camlp4 Quotation" lineEndContext="#stay" name="Camlp4 Quotation Constant">
<Detect2Chars attribute="Camlp4 Quotation" context="#pop" char="&gt;" char1="&gt;" />
<Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="&lt;" char1="&lt;" />
<RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="&lt;:&IDENT;&lt;" />
<RegExpr attribute="Escaped characters" context="#stay" String="\\(\\|&gt;&gt;|&lt;&lt;)" />
<RegExpr attribute="Escaped characters" context="#stay" String="\\&lt;:&IDENT;&lt;" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Identifier" defStyleNum="dsNormal"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Revised Syntax Keyword" defStyleNum="dsNormal"/>
<itemData name="Core Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Hexadecimal" defStyleNum="dsBaseN"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Binary" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Character" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Escaped characters" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Camlp4 Quotation" defStyleNum="dsString"/>
<itemData name="Directive" defStyleNum="dsOthers"/>
<itemData name="Constructor" defStyleNum="dsNormal"/>
<itemData name="Module" defStyleNum="dsNormal"/>
<itemData name="Region Marker" defStyleNum="dsKeyword"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1" />
<comments>
<comment name="singleLine" start="//" />
<comment name="singleLine" start="///" />
<comment name="multiLine" start="(*" end="*)" />
</comments>
</general>
</language>
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Changelog:
v1.0:
- first Release
-->
<language name="GDB Backtrace" section="Other"
version="1.0" kateversion="2.4"
extensions="*.kcrash;*.crash;*.bt"
mimetype=""
author="Milian Wolff (mail@milianw.de)" license="LGPL">
<highlighting>
<contexts>
<context name="apache" attribute="Normal" lineEndContext="#stay">
<DetectChar char="#" context="stackframe" firstNonSpace="true" />
<IncludeRules context="oneliners" />
</context>
<context name="oneliners" attribute="Normal" lineEndContext="#pop">
<StringDetect attribute="Crash" context="#stay" String="[KCrash Handler]" />
<StringDetect String="Thread" firstNonSpace="true" context="thread" />
<StringDetect String="[Current thread" firstNonSpace="true" context="thread" />
</context>
<context name="stackframe" attribute="Normal" lineEndContext="#stay">
<RegExpr attribute="Normal" context="identifier" String="((?:[^ ]|&lt;.+&gt;)+::)?([^ :]+)\s*\(" lookAhead="true" />
<StringDetect attribute="Normal" String="at" context="file" />
<StringDetect attribute="Normal" String="from" context="file" />
<IncludeRules context="oneliners" />
</context>
<context name="identifier" attribute="Normal" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="QualifiedIdentifier" String="%1" dynamic="true" />
<StringDetect attribute="Function" String="%2" dynamic="true" />
<RegExpr attribute="Crash" String="\b0x0\b" />
<DetectChar char=")" context="#pop" />
</context>
<context name="file" attribute="File" lineEndContext="#pop#pop">
<DetectChar char=":" context="#pop#pop" attribute="Normal" />
</context>
<context name="thread" attribute="Thread" lineEndContext="#pop">
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Crash" defStyleNum="dsError" spellChecking="false" underline="false" bold="true" />
<itemData name="QualifiedIdentifier" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false" bold="true" />
<itemData name="File" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Thread" defStyleNum="dsBaseN" spellChecking="false" />
</itemDatas>
</highlighting>
</language>
<!-- kate: replace-tabs: on; tab-width: 4; indent-width: 4; -->

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="GlossTex" version="0.01" kateversion="2.1" extensions="*.gdf" section="Markup" mimetype="text/x-gdf" casesensitive="1" author="Thomas Braun(braun@physik.fu-berlin.de)" license="LGPL">
<highlighting>
<contexts>
<context name="Comment" attribute="Comment" lineEndContext="#stay">
<StringDetect String="@entry" attribute="Entry" context="Entry"/>
</context>
<context name="Entry" attribute="Entry" lineEndContext="#pop">
<DetectChar char="{" attribute="Normal Text" context="Label"/>
<DetectChar char="}" attribute="Normal Text" context="Text"/>
</context>
<context name="Label" attribute="Label" lineEndContext="#pop">
<DetectChar char="," attribute="Normal Text" context="Abbrev"/>
<DetectChar char="}" attribute="Normal Text" context="Text"/>
</context>
<context name="Abbrev" attribute="Abbrev" lineEndContext="#pop">
<RegExpr String="\{[^\{\}]*\}" attribute="Abbrev" context="#stay"/>
<DetectChar char="," attribute="Normal Text" context="Full"/>
<DetectChar char="}" attribute="Normal Text" context="Text"/>
</context>
<context name="Full" attribute="Full" lineEndContext="#pop">
<RegExpr String="\{[^\{\}]*\}" attribute="Full" context="#stay"/>
<DetectChar char="}" attribute="Normal Text" context="Text"/>
</context>
<context name="Text" attribute="Normal Text" lineEndContext="Comment">
<IncludeRules context="##LaTeX" includeAttrib="true"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Entry" defStyleNum="dsKeyword" color="#0000ff"/>
<itemData name="Label" defStyleNum="dsDataType"/>
<itemData name="Abbrev" defStyleNum="dsOthers"/>
<itemData name="Full" defStyleNum="dsString"/>
<itemData name="Text" defStyleNum="dsChar"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" weakDeliminator="\" wordWrapDeliminator=",{}[]"/>
<comments>
<comment name="singleLine" start="%" />
</comments>
</general>
</language>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="GLSL" section="Sources" extensions="*.glsl;*.vert;*.frag" mimetype="text/x-glslsrc" version="1.02" kateversion="2.4" author="Oliver Richers (o.richers@tu-bs.de)" license="LGPL">
<language name="GLSL" section="Sources" extensions="*.glsl;*.vert;*.frag;*.geom" mimetype="text/x-glslsrc" version="1.03" kateversion="2.4" author="Oliver Richers (o.richers@tu-bs.de)" license="LGPL">
<highlighting>
<list name="keywords">
<item>break</item>

@ -9,6 +9,10 @@
* *
*************************************************************************
Updated: Miquel Sabaté <mikisabate@gmail.com>
Date: 14th September, 2010
Version: 1.02
Updated: Roland Pabel <roland@pabel.name>
Date: 15th August, 2002
Version: 1.01
@ -39,19 +43,22 @@ with this program; if not, write to the Free Software Foundation, Inc.,
-->
<language name="GNU Assembler" version="1.05" kateversion="2.4" section="Assembler" extensions="*.s;*.S" mimetype="text/x-asm" author="John Zaitseff (J.Zaitseff@zap.org.au), Roland Pabel (roland@pabel.name)" license="GPL">
<language name="GNU Assembler" version="1.10" kateversion="2.4" section="Assembler" extensions="*.s;*.S" mimetype="text/x-asm" author="John Zaitseff (J.Zaitseff@zap.org.au), Roland Pabel (roland@pabel.name), Miquel Sabaté (mikisabate@gmail.com)" license="GPL">
<highlighting>
<list name="keywords">
<item>.abort</item>
<item>.align</item>
<item>.appfile</item>
<item>.app-file</item>
<item>.appline</item>
<item>.ascii</item>
<item>.asciz</item>
<item>.att_syntax</item>
<item>.balign</item>
<item>.balignl</item>
<item>.balignw</item>
<item>.byte</item>
<item>.code16</item>
<item>.code32</item>
<item>.comm</item>
<item>.common.s</item>
<item>.common</item>
@ -128,6 +135,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<item>.ifnotdef</item>
<item>.include</item>
<item>.int</item>
<item>.intel_syntax</item>
<item>.internal</item>
<item>.irep</item>
<item>.irepc</item>
@ -148,6 +156,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<item>.noformat</item>
<item>.nolist</item>
<item>.nopage</item>
<item>noprefix</item>
<item>.octa</item>
<item>.offset</item>
<item>.org</item>
@ -164,6 +173,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<item>.purgem</item>
<item>.pushsection</item>
<item>.quad</item>
<item>.rodata</item>
<item>.rep</item>
<item>.rept</item>
<item>.rva</item>
@ -225,7 +235,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<RegExpr attribute="Label" context="#stay" String="[A-Za-z0-9_.$]+:" firstNonSpace="true"/>
<RegExpr attribute="Label" context="#stay" String="[_\w\d-]*\s*:" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<HlCOct attribute="Octal" context="#stay" />
<HlCHex attribute="Hex" context="#stay" />
@ -233,29 +243,39 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<Int attribute="Decimal" context="#stay" />
<RegExpr attribute="Float" context="#stay" String="0[fFeEdD][-+]?[0-9]*\.?[0-9]*[eE]?[-+]?[0-9]+" />
<RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_.$][A-Za-z0-9_.$]*" />
<HlCChar attribute="Char" context="#stay" />
<RegExpr attribute="Char" context="#stay" String="'(\\x[0-9a-fA-F][0-9a-fA-F]?|\\[0-7]?[0-7]?[0-7]?|\\.|.)" />
<DetectChar attribute="String" context="String" char="&quot;" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" firstNonSpace="true" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="*" />
<AnyChar attribute="Comment" context="Commentar 2" String="@;" />
<AnyChar attribute="Comment" context="Commentar 2" String="@;#" />
<AnyChar attribute="Symbol" context="#stay" String="!#%&amp;*()+,-&lt;=&gt;?/:[]^{|}~" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="^#" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 1">
<IncludeRules context="##Alerts" />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 2" />
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor" />
<context attribute="Comment" lineEndContext="#pop" name="Commentar 2" >
<IncludeRules context="##Alerts" />
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="Some Context" />
<HlCStringChar attribute="String Char" context="#stay" />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor" />
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
<LineContinue attribute="Preprocessor" context="#stay"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Some Context" />
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Label" defStyleNum="dsNormal" />
<itemData name="Label" defStyleNum="dsKeyword" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="Decimal" defStyleNum="dsDecVal" />
<itemData name="Octal" defStyleNum="dsBaseN" />
@ -273,8 +293,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<general>
<comments>
<comment name="singleLine" start=";" />
<!--<comment name="singleLine" start=";" />
<comment name="singleLine" start="@" />
<comment name="singleLine" start="#" />-->
<comment name="multiLine" start="/*" end="*/" />
</comments>
<keywords casesensitive="1" weakDeliminator="_.$" />

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of TDE's Kate project
GO.XML supports syntax highlighting for the Go programming language
under Kate. Go is a compiled, garbage-collected, concurrent programming
language developed by Google Inc.
Copyright (C) 2010, Miquel Sabaté <mikisabate@gmail.com>
This program, including associated files, is free software. You may
distribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either Version 2 of
the license, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-->
<language name="Go" version="1.00" kateversion="2.4" section="Sources" indenter="cstyle" extensions="*.go" author="Miquel Sabaté (mikisabate@gmail.com)" license="GPL">
<highlighting>
<list name="keywords">
<!-- Keywords have been taken from The Go Programming Language Specification -> Keywords section -->
<item>break</item>
<item>case</item>
<item>chan</item>
<item>const</item>
<item>continue</item>
<item>default</item>
<item>defer</item>
<item>else</item>
<item>fallthrough</item>
<item>for</item>
<item>func</item>
<item>go</item>
<item>goto</item>
<item>if</item>
<item>import</item>
<item>interface</item>
<item>map</item>
<!-- <item>package</item> -->
<item>range</item>
<item>return</item>
<item>select</item>
<item>struct</item>
<item>switch</item>
<item>type</item>
<item>var</item>
</list>
<list name="types">
<item>bool</item>
<item>byte</item>
<item>complex64</item>
<item>complex128</item>
<item>float</item>
<item>float32</item>
<item>float64</item>
<item>int</item>
<item>int8</item>
<item>int16</item>
<item>int32</item>
<item>int64</item>
<item>string</item>
<item>uint</item>
<item>uint8</item>
<item>uint16</item>
<item>uint32</item>
<item>uint64</item>
</list>
<list name="builtin">
<item>cap</item>
<item>len</item>
<item>make</item>
<item>new</item>
<item>panic</item>
<item>recover</item>
</list>
<list name="special">
<item>false</item>
<item>nil</item>
<item>true</item>
</list>
<contexts>
<context name="normal" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Special" context="#stay" String="special" />
<keyword attribute="Type" context="#stay" String="types" />
<keyword attribute="Builtin" context="#stay" String="builtin" />
<StringDetect attribute="Package" context="Package" String="package" />
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/" />
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" />
<HlCChar attribute="Char" context="#stay" />
<DetectChar attribute="String" context="String" char="&quot;" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
<LineContinue attribute="Comment" context="#stay"/>
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Package" lineEndContext="#pop" name="Package" />
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay" />
<HlCStringChar attribute="String Char" context="#stay" />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Special" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Builtin" defStyleNum="dsOthers" color="#000e52" selColor="#ffffff" spellChecking="false" />
<itemData name="String Char" defStyleNum="dsChar" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Package" defStyleNum="dsNormal" color="#000080" selColor="#ffffff" spellChecking="false" />
<itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
Syntax definition for tdev-pg/tdev-pg-qt grammars.
-->
<language name="KDev-PG[-Qt] Grammar" version="0.24" kateversion="2.5" section="Sources" extensions="*.g" casesensitive="1" author="Milian Wolff (mail@milianw.de), Jonathan Schmidt-Dominé (devel@the-user.org)" license="">
<highlighting>
<list name="macros">
<item> ast_extra_members </item>
<item> export_macro </item>
<item> export_macro_header </item>
<item> namespace </item>
<item> parserclass </item>
<item> token </item>
<item> token_stream </item>
<item> parser_declaration_header </item>
<item> parser_bits_header </item>
<item> ast_header </item>
<item> ast_base </item>
<item> parser_base </item>
<item> bin </item>
<item> pre </item>
<item> post </item>
<item> tern </item>
<item> paren </item>
<item> left </item>
<item> right </item>
<item> &lt; </item>
<item> &gt; </item>
</list>
<list name="keywords">
<item> try/rollback </item>
<item> try/recover </item>
<item> catch </item>
</list>
<list name="access">
<item> public </item>
<item> protected </item>
<item> private </item>
</list>
<list name="locations">
<item> declaration </item>
<item> destructor </item>
<item> constructor </item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<!-- keywords -->
<DetectChar attribute="Keyword" context="Macros" char="%" firstNonSpace="true" />
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Access" context="#stay" String="access" />
<keyword attribute="Location" context="#stay" String="locations" />
<!-- numbers -->
<Float attribute="Float" context="#stay" />
<Int attribute="Decimal" context="#stay" />
<!-- strings -->
<DetectChar attribute="String" context="String" char="&quot;" />
<!-- comments -->
<Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-" />
<!-- code segments -->
<Detect2Chars attribute="Code Segment" context="CodeSegment" char="[" char1=":" beginRegion="code" />
<!-- tokens are all-uppercase -->
<RegExpr attribute="Token" insensitive="false" context="#stay" String="\b[A-Z_]+\b" />
<!-- simple use of an ASTNode without assigning it -->
<RegExpr attribute="AstNode" insensitive="true" context="#stay" String="\b[a-z]+\b(?!=)" />
<!-- member=ASTNode -->
<DetectChar attribute="Symbol" context="MemberAst" char="=" />
<!-- -> ASTNode -->
<Detect2Chars attribute="Symbol" context="AstDecl" char="-" char1=">" />
<!-- symbols -->
<AnyChar attribute="Symbol" context="#stay" String=";[()]->|=*#@:?" />
</context>
<!-- keywords -->
<context name="Macros" attribute="Keyword" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
<keyword attribute="Keyword" context="#stay" String="macros" />
<Detect2Chars lookAhead="true" context="#pop" attribute="Normal Text" char="[" char1=":" />
<Detect2Chars context="#pop" attribute="Keyword" char=";" char1=";" />
</context>
<!-- "string" -->
<context name="String" attribute="String" lineEndContext="#stay">
<HlCStringChar attribute="String Char" context="#stay" />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<!-- comments -->
<context name="SingleLineComment" attribute="Comment" lineEndContext="#pop"/>
<!-- code segments -->
<context name="CodeSegment" attribute="Code Segmentt" lineEndContext="#stay">
<Detect2Chars attribute="Code Segment" context="#pop" char=":" char1="]" endRegion="code" />
<IncludeRules context="##C++" />
</context>
<!-- memberVar=AstNode -->
<context name="MemberAst" attribute="AstNode" lineEndContext="#pop">
<DetectSpaces />
<!-- tokens are all-uppercase -->
<RegExpr attribute="Token" insensitive="false" context="#pop" String="\b[A-Z_]+\b" />
<DetectIdentifier attribute="AstNode" context="#pop" />
</context>
<!-- -> AstNode -->
<context name="AstDecl" attribute="Error" lineEndContext="#stay">
<DetectSpaces attribute="Normal Text" />
<DetectIdentifier attribute="AstNode" />
<DetectChar char="[" attribute="Symbol" context="AstMemberDecl" />
<Detect2Chars char=";" char1=";" attribute="Symbol" context="#pop" />
</context>
<!-- member or temporary variables -->
<context name="AstMemberDecl" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<RegExpr attribute="Keyword" String="\b(member|temporary)\s+variable\b" />
<DetectIdentifier attribute="AstMember" />
<DetectChar attribute="Symbol" char=":" context="AstMemberType" />
<DetectChar attribute="Symbol" char="]" context="#pop" />
</context>
<context name="AstMemberType" attribute="Normal Text" lineEndContext="#stay">
<DetectIdentifier attribute="AstMemberType" />
<DetectChar attribute="Symbol" char=";" context="#pop" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Access" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Location" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="String Char" defStyleNum="dsChar" spellChecking="false" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Symbol" defStyleNum="dsOthers" />
<itemData name="Code Segment" defStyleNum="dsFunction" />
<itemData name="Token" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="AstNode" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="Error" defStyleNum="dsError" spellChecking="false" />
<itemData name="AstMember" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="AstMemberType" defStyleNum="dsDataType" spellChecking="false" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="--" />
</comments>
<keywords casesensitive="true" weakDeliminator="/" />
</general>
</language>

@ -1,388 +1,380 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Haskell syntax highlighting by Marcel Martin <mmar@freenet.de> -->
<language name="Haskell" version="1.2" kateversion="2.3" section="Sources" extensions="*.hs" mimetype="text/x-haskell" author="Marcel Martin (mmar@freenet.de)" license="" indenter="haskell">
<highlighting>
<list name="keywords">
<item> case </item>
<item> class </item>
<item> data </item>
<item> deriving </item>
<item> do </item>
<item> else </item>
<item> if </item>
<item> import </item>
<item> in </item>
<item> infixl </item>
<item> infixr </item>
<item> instance </item>
<item> let </item>
<item> module </item>
<item> of </item>
<item> primitive </item>
<item> then </item>
<item> type </item>
<item> where </item>
</list>
<list name="infix operators">
<item> quot </item>
<item> rem </item>
<item> div </item>
<item> mod </item>
<item> elem </item>
<item> notElem </item>
<item> seq </item>
</list>
<list name="functions">
<!--
These operators are not handled yet.
<item> !! </item>
<item> % </item>
<item> && </item>
<item> $! </item>
<item> $ </item>
<item> * </item>
<item> ** </item>
<item> - </item>
<item> . </item>
<item> /= </item>
<item> < </item>
<item> <= </item>
<item> =<< </item>
<item> == </item>
<item> > </item>
<item> >= </item>
<item> >> </item>
<item> >>= </item>
<item> ^ </item>
<item> ^^ </item>
<item> ++ </item>
<item> || </item>
//-->
<language name="Haskell" version="2.0.3" kateversion="2.3" section="Sources" extensions="*.hs" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell">
<highlighting>
<list name="keywords">
<item> as </item>
<item> case </item>
<item> class </item>
<item> data </item>
<item> deriving </item>
<item> do </item>
<item> else </item>
<item> hiding </item>
<item> if </item>
<item> import </item>
<item> in </item>
<item> infixl </item>
<item> infixr </item>
<item> instance </item>
<item> let </item>
<item> module </item>
<item> newtype </item>
<item> of </item>
<item> primitive </item>
<item> qualified </item>
<item> then </item>
<item> type </item>
<item> where </item>
</list>
<list name="prelude function">
<item> FilePath </item>
<item> IOError </item>
<item> abs </item>
<item> acos </item>
<item> acosh </item>
<item> all </item>
<item> and </item>
<item> any </item>
<item> appendFile </item>
<item> approxRational </item>
<item> asTypeOf </item>
<item> asin </item>
<item> asinh </item>
<item> atan </item>
<item> atan2 </item>
<item> atanh </item>
<item> basicIORun </item>
<item> break </item>
<item> catch </item>
<item> ceiling </item>
<item> chr </item>
<item> compare </item>
<item> concat </item>
<item> concatMap </item>
<item> const </item>
<item> cos </item>
<item> cosh </item>
<item> curry </item>
<item> cycle </item>
<item> decodeFloat </item>
<item> denominator </item>
<item> digitToInt </item>
<item> div </item>
<item> divMod </item>
<item> drop </item>
<item> dropWhile </item>
<item> either </item>
<item> elem </item>
<item> encodeFloat </item>
<item> enumFrom </item>
<item> enumFromThen </item>
<item> enumFromThenTo </item>
<item> enumFromTo </item>
<item> error </item>
<item> even </item>
<item> exp </item>
<item> exponent </item>
<item> fail </item>
<item> filter </item>
<item> flip </item>
<item> floatDigits </item>
<item> floatRadix </item>
<item> floatRange </item>
<item> floor </item>
<item> fmap </item>
<item> foldl </item>
<item> foldl1 </item>
<item> foldr </item>
<item> foldr1 </item>
<item> fromDouble </item>
<item> fromEnum </item>
<item> fromInt </item>
<item> fromInteger </item>
<item> fromIntegral </item>
<item> fromRational </item>
<item> fst </item>
<item> gcd </item>
<item> getChar </item>
<item> getContents </item>
<item> getLine </item>
<item> group </item>
<item> head </item>
<item> id </item>
<item> inRange </item>
<item> index </item>
<item> init </item>
<item> intToDigit </item>
<item> interact </item>
<item> ioError </item>
<item> isAlpha </item>
<item> isAlphaNum </item>
<item> isAscii </item>
<item> isControl </item>
<item> isDenormalized </item>
<item> isDigit </item>
<item> isHexDigit </item>
<item> isIEEE </item>
<item> isInfinite </item>
<item> isLower </item>
<item> isNaN </item>
<item> isNegativeZero </item>
<item> isOctDigit </item>
<item> isPrint </item>
<item> isSpace </item>
<item> isUpper </item>
<item> iterate </item>
<item> last </item>
<item> lcm </item>
<item> length </item>
<item> lex </item>
<item> lexDigits </item>
<item> lexLitChar </item>
<item> lines </item>
<item> log </item>
<item> logBase </item>
<item> lookup </item>
<item> map </item>
<item> mapM </item>
<item> mapM_ </item>
<item> max </item>
<item> maxBound </item>
<item> maximum </item>
<item> maybe </item>
<item> min </item>
<item> minBound </item>
<item> minimum </item>
<item> mod </item>
<item> negate </item>
<item> not </item>
<item> notElem </item>
<item> null </item>
<item> numerator </item>
<item> odd </item>
<item> or </item>
<item> ord </item>
<item> otherwise </item>
<item> pack </item>
<item> pi </item>
<item> pred </item>
<item> primExitWith </item>
<item> print </item>
<item> product </item>
<item> properFraction </item>
<item> putChar </item>
<item> putStr </item>
<item> putStrLn </item>
<item> quot </item>
<item> quotRem </item>
<item> range </item>
<item> rangeSize </item>
<item> read </item>
<item> readDec </item>
<item> readFile </item>
<item> readFloat </item>
<item> readHex </item>
<item> readIO </item>
<item> readInt </item>
<item> readList </item>
<item> readLitChar </item>
<item> readLn </item>
<item> readOct </item>
<item> readParen </item>
<item> readSigned </item>
<item> reads </item>
<item> readsPrec </item>
<item> realToFrac </item>
<item> recip </item>
<item> rem </item>
<item> repeat </item>
<item> replicate </item>
<item> return </item>
<item> reverse </item>
<item> round </item>
<item> scaleFloat </item>
<item> scanl </item>
<item> scanl1 </item>
<item> scanr </item>
<item> scanr1 </item>
<item> seq </item>
<item> sequence </item>
<item> sequence_ </item>
<item> show </item>
<item> showChar </item>
<item> showInt </item>
<item> showList </item>
<item> showLitChar </item>
<item> showParen </item>
<item> showSigned </item>
<item> showString </item>
<item> shows </item>
<item> showsPrec </item>
<item> significand </item>
<item> signum </item>
<item> sin </item>
<item> sinh </item>
<item> snd </item>
<item> sort </item>
<item> span </item>
<item> splitAt </item>
<item> sqrt </item>
<item> subtract </item>
<item> succ </item>
<item> sum </item>
<item> tail </item>
<item> take </item>
<item> takeWhile </item>
<item> tan </item>
<item> tanh </item>
<item> threadToIOResult </item>
<item> toEnum </item>
<item> toInt </item>
<item> toInteger </item>
<item> toLower </item>
<item> toRational </item>
<item> toUpper </item>
<item> truncate </item>
<item> uncurry </item>
<item> undefined </item>
<item> unlines </item>
<item> until </item>
<item> unwords </item>
<item> unzip </item>
<item> unzip3 </item>
<item> userError </item>
<item> words </item>
<item> writeFile </item>
<item> zip </item>
<item> zip3 </item>
<item> zipWith </item>
<item> zipWith3 </item>
</list>
<list name="prelude class">
<item> Bounded </item>
<item> Enum </item>
<item> Eq </item>
<item> Floating </item>
<item> Fractional </item>
<item> Functor </item>
<item> Integral </item>
<item> Ix </item>
<item> Monad </item>
<item> Num </item>
<item> Ord </item>
<item> Read </item>
<item> Real </item>
<item> RealFloat </item>
<item> RealFrac </item>
<item> Show </item>
</list>
<list name="prelude type">
<item> Bool </item>
<item> Char </item>
<item> Double </item>
<item> Either </item>
<item> FilePath </item>
<item> Float </item>
<item> Int </item>
<item> Integer </item>
<item> IO </item>
<item> IOError </item>
<item> Maybe </item>
<item> Ordering </item>
<item> Ratio </item>
<item> Rational </item>
<item> ReadS </item>
<item> ShowS </item>
<item> String </item>
<item> ByteString </item>
</list>
<list name="prelude data">
<item> False </item>
<item> True </item>
<item> Left </item>
<item> Right </item>
<item> Just </item>
<item> Nothing </item>
<item> EQ </item>
<item> LT </item>
<item> GT </item>
</list>
<contexts>
<context attribute="Normal" lineEndContext="#stay" name="code">
<RegExpr attribute="Pragma" context="#stay" String="\{-#.*#-\}"/>
<RegExpr attribute="Comment" context="comments" String="\{-[^#]?" />
<RegExpr attribute="Comment" context="comment" String="--[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:].*$" />
<item> FilePath </item>
<item> IOError </item>
<item> abs </item>
<item> acos </item>
<item> acosh </item>
<item> all </item>
<item> and </item>
<item> any </item>
<item> appendFile </item>
<item> approxRational </item>
<item> asTypeOf </item>
<item> asin </item>
<item> asinh </item>
<item> atan </item>
<item> atan2 </item>
<item> atanh </item>
<item> basicIORun </item>
<item> break </item>
<item> catch </item>
<item> ceiling </item>
<item> chr </item>
<item> compare </item>
<item> concat </item>
<item> concatMap </item>
<item> const </item>
<item> cos </item>
<item> cosh </item>
<item> curry </item>
<item> cycle </item>
<item> decodeFloat </item>
<item> denominator </item>
<item> digitToInt </item>
<item> div </item>
<item> divMod </item>
<item> drop </item>
<item> dropWhile </item>
<item> either </item>
<item> elem </item>
<item> encodeFloat </item>
<item> enumFrom </item>
<item> enumFromThen </item>
<item> enumFromThenTo </item>
<item> enumFromTo </item>
<item> error </item>
<item> even </item>
<item> exp </item>
<item> exponent </item>
<item> fail </item>
<item> filter </item>
<item> flip </item>
<item> floatDigits </item>
<item> floatRadix </item>
<item> floatRange </item>
<item> floor </item>
<item> fmap </item>
<item> foldl </item>
<item> foldl1 </item>
<item> foldr </item>
<item> foldr1 </item>
<item> fromDouble </item>
<item> fromEnum </item>
<item> fromInt </item>
<item> fromInteger </item>
<item> fromIntegral </item>
<item> fromRational </item>
<item> fst </item>
<item> gcd </item>
<item> getChar </item>
<item> getContents </item>
<item> getLine </item>
<item> head </item>
<item> id </item>
<item> inRange </item>
<item> index </item>
<item> init </item>
<item> intToDigit </item>
<item> interact </item>
<item> ioError </item>
<item> isAlpha </item>
<item> isAlphaNum </item>
<item> isAscii </item>
<item> isControl </item>
<item> isDenormalized </item>
<item> isDigit </item>
<item> isHexDigit </item>
<item> isIEEE </item>
<item> isInfinite </item>
<item> isLower </item>
<item> isNaN </item>
<item> isNegativeZero </item>
<item> isOctDigit </item>
<item> isPrint </item>
<item> isSpace </item>
<item> isUpper </item>
<item> iterate </item>
<item> last </item>
<item> lcm </item>
<item> length </item>
<item> lex </item>
<item> lexDigits </item>
<item> lexLitChar </item>
<item> lines </item>
<item> log </item>
<item> logBase </item>
<item> lookup </item>
<item> map </item>
<item> mapM </item>
<item> mapM_ </item>
<item> max </item>
<item> maxBound </item>
<item> maximum </item>
<item> maybe </item>
<item> min </item>
<item> minBound </item>
<item> minimum </item>
<item> mod </item>
<item> negate </item>
<item> not </item>
<item> notElem </item>
<item> null </item>
<item> numerator </item>
<item> odd </item>
<item> or </item>
<item> ord </item>
<item> otherwise </item>
<item> pi </item>
<item> pred </item>
<item> primExitWith </item>
<item> print </item>
<item> product </item>
<item> properFraction </item>
<item> putChar </item>
<item> putStr </item>
<item> putStrLn </item>
<item> quot </item>
<item> quotRem </item>
<item> range </item>
<item> rangeSize </item>
<item> read </item>
<item> readDec </item>
<item> readFile </item>
<item> readFloat </item>
<item> readHex </item>
<item> readIO </item>
<item> readInt </item>
<item> readList </item>
<item> readLitChar </item>
<item> readLn </item>
<item> readOct </item>
<item> readParen </item>
<item> readSigned </item>
<item> reads </item>
<item> readsPrec </item>
<item> realToFrac </item>
<item> recip </item>
<item> rem </item>
<item> repeat </item>
<item> replicate </item>
<item> return </item>
<item> reverse </item>
<item> round </item>
<item> scaleFloat </item>
<item> scanl </item>
<item> scanl1 </item>
<item> scanr </item>
<item> scanr1 </item>
<item> seq </item>
<item> sequence </item>
<item> sequence_ </item>
<item> show </item>
<item> showChar </item>
<item> showInt </item>
<item> showList </item>
<item> showLitChar </item>
<item> showParen </item>
<item> showSigned </item>
<item> showString </item>
<item> shows </item>
<item> showsPrec </item>
<item> significand </item>
<item> signum </item>
<item> sin </item>
<item> sinh </item>
<item> snd </item>
<item> span </item>
<item> splitAt </item>
<item> sqrt </item>
<item> subtract </item>
<item> succ </item>
<item> sum </item>
<item> tail </item>
<item> take </item>
<item> takeWhile </item>
<item> tan </item>
<item> tanh </item>
<item> threadToIOResult </item>
<item> toEnum </item>
<item> toInt </item>
<item> toInteger </item>
<item> toLower </item>
<item> toRational </item>
<item> toUpper </item>
<item> truncate </item>
<item> uncurry </item>
<item> undefined </item>
<item> unlines </item>
<item> until </item>
<item> unwords </item>
<item> unzip </item>
<item> unzip3 </item>
<item> userError </item>
<item> words </item>
<item> writeFile </item>
<item> zip </item>
<item> zip3 </item>
<item> zipWith </item>
<item> zipWith3 </item>
</list>
<list name="type constructors">
<item> Bool </item>
<item> Char </item>
<item> Double </item>
<item> Either </item>
<item> Float </item>
<item> IO </item>
<item> Integer </item>
<item> Int </item>
<item> Maybe </item>
<item> Ordering </item>
<item> Rational </item>
<item> Ratio </item>
<item> ReadS </item>
<item> ShowS </item>
<item> String </item>
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Function Prelude" context="#stay" String="prelude function" />
<keyword attribute="Type Prelude" context="#stay" String="prelude type" />
<keyword attribute="Data Prelude" context="#stay" String="prelude data" />
<keyword attribute="Class Prelude" context="#stay" String="prelude class" />
</list>
<list name="classes">
<item> Bounded </item>
<item> Enum </item>
<item> Eq </item>
<item> Floating </item>
<item> Fractional </item>
<item> Functor </item>
<item> Integral </item>
<item> Ix </item>
<item> Monad </item>
<item> Num </item>
<item> Ord </item>
<item> Read </item>
<item> RealFloat </item>
<item> RealFrac </item>
<item> Real </item>
<item> Show </item>
</list>
<list name="data constructors">
<item> EQ </item>
<item> False </item>
<item> GT </item>
<item> Just </item>
<item> LT </item>
<item> Left </item>
<item> Nothing </item>
<item> Right </item>
<item> True </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="normal">
<Detect2Chars attribute="Comment" context="comment_multi_line" char="{" char1="-" />
<Detect2Chars attribute="Comment" context="comment_single_line" char="-" char1="-" />
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Class" context="#stay" String="classes" />
<keyword attribute="Type Constructor" context="#stay" String="type constructors" />
<keyword attribute="Function" context="#stay" String="functions" />
<keyword attribute="Data Constructor" context="#stay" String="data constructors" />
<DetectChar attribute="String" context="string" char="&quot;" />
<DetectChar attribute="Infix Operator" context="infix" char="`"/>
<RegExpr attribute="Normal Text" context="#stay" String="\w[']+" />
<DetectChar attribute="Char" context="single_char" char="'" />
<RegExpr attribute="Function Definition" context="#stay" String="[a-z_]+\w*'*\s*::" />
<Float attribute="Float" context="#stay" />
<Int attribute="Decimal" context="#stay" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="comment_single_line" />
<context attribute="Comment" lineEndContext="#stay" name="comment_multi_line">
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
</context>
<context attribute="String" lineEndContext="#stay" name="string">
<RegExpr attribute="String" context="#stay" String="\\." />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context attribute="Infix Operator" lineEndContext="#stay" name="infix">
<DetectChar attribute="Infix Operator" context="#pop" char="`"/>
</context>
<context attribute="Char" lineEndContext="#pop" name="single_char">
<RegExpr attribute="Char" context="#stay" String="\\." />
<DetectChar attribute="Char" context="#pop" char="'" />
</context>
<context attribute="Function Definition" lineEndContext="#pop" name="function_definition">
<DetectChar attribute="Function Definition" context="#pop" char=";" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Function Definition" defStyleNum="dsFunction"/>
<itemData name="Class" defStyleNum="dsKeyword"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Constructor" defStyleNum="dsOthers"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Data Constructor" defStyleNum="dsKeyword"/>
<itemData name="Type Constructor" defStyleNum="dsDataType"/>
<itemData name="Infix Operator" defStyleNum="dsOthers"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="--" />
<comment name="multiLine" start="{-" end="-}" />
</comments>
<keywords casesensitive="1" />
</general>
<RegExpr attribute="Special" context="#stay" String="(::|=&gt;|\-&gt;|&lt;\-)" />
<AnyChar attribute="Special" context="#stay" String="∷⇒→←∀∃" />
<RegExpr attribute="Signature" context="#stay" String="\s*[a-z][a-zA-Z0-9_']*\s*(?=::[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:])" />
<RegExpr attribute="Signature" context="#stay" String="\s*(\([\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]*\))*\s*(?=::[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:])" />
<RegExpr attribute="Function" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z][a-zA-Z0-9_']*" />
<RegExpr attribute="Operator" context="#stay" String="([A-Z][a-zA-Z0-0_']*\.)*[\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]+" />
<RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
<Int attribute="Decimal" context="#stay" />
<RegExpr attribute="Float" context="#stay" String="\d+\.\d+" />
<DetectChar attribute="Char" context="char" char="'" />
<DetectChar attribute="String" context="string" char="&quot;" />
<DetectChar attribute="Function Infix" context="infix" char="`"/>
<Detect2Chars attribute="EnumFromTo" context="#stay" char ="." char1="." />
<AnyChar attribute="EnumFromTo" context="#stay" String="‥" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="comment" />
<context attribute="Comment" lineEndContext="#stay" name="comments">
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
</context>
<context attribute="Char" lineEndContext="#pop" name="char">
<RegExpr attribute="Char" context="#stay" String="\\." />
<DetectChar attribute="Char" context="#pop" char="'" />
</context>
<context attribute="String" lineEndContext="#stay" name="string">
<RegExpr attribute="String" context="#stay" String="\\." />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context attribute="Function Infix" lineEndContext="#stay" name="infix">
<DetectChar attribute="Function Infix" context="#pop" char="`"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Pragma" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Type Prelude" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Function Prelude" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="Data Prelude" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Class Prelude" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Signature" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Function" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Operator" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Special" defStyleNum="dsOthers" 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" />
<itemData name="Function Infix" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="EnumFromTo" defStyleNum="dsOthers" spellChecking="false" />
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="1"/>
<comments>
<comment name="singleLine" start="--" />
<comment name="multiLine" start="{-" end="-}" />
</comments>
<keywords casesensitive="1" />
</general>
</language>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="INI Files" section="Configuration" extensions="*.ini;*.pls" mimetype="" version="1.0" author="Jan Janssen (medhefgo@web.de)" license="LGPL">
<language name="INI Files" section="Configuration" extensions="*.ini;*.pls;*.kcfgc" mimetype="" version="1.1" kateversion="2.0" author="Jan Janssen (medhefgo@web.de)" license="LGPL">
<highlighting>
<list name="keywords">

@ -0,0 +1,347 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
Copyright (C) 2006 Mildred <silkensedai@online.fr>.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
-->
<language name="Jam" version="0.3" kateversion="2.3" section="Other" extensions="Jam*;*.jam" mimetype="text/x-jam;text/x-Jamfile;text/x-Jamrules;text/x-Jambase">
<!--
Changelog
0.2
* now tokens like [ ] { } ( ) : ; are not detected if there is no whitespace before and after
* Jam* files are handled (example Jamrules or Jambase)
* different colors
* Subvariables are handled (example : $(varname[$(v)])
* Include bash highlighting inside actions blocks
* rules names are found in rules definitions
* highlight the variable reference in rule definitions after 'bind'
0.3
* because weakDelimiter isn't supported, it is not possible to just have some locals delimiters for the tokens and globals delimiters as default. So it's not possible to have our usual double click to select.
* 'actions action_name bind var' instead of 'actions bind var action_name'
* bun in syntax 'rule Rulename : param param ...' ':' is not recognized. fixed
* fixed some bugs found when looking at Jambase (peacemeal -> piecemeal, ...)
* variables recognized in strings
* named parameters for rules ... the syntax has changed : 'rule rulename param : param : param {'
* changed section from Scripts to Other
Feature request to Kate dev.
* returnContext attribute
* ability to enter a new context after a #pop
* when you include rules from foreign contexts (here Bash), having the ability to prepend some rules to all foreign contexts for example to terminate the included context before it naturally ends.
-->
<highlighting>
<list name="keywords">
<item> actions </item>
<item> break </item>
<item> continue </item>
<item> for </item>
<item> in </item>
<item> if </item>
<item> else </item>
<item> include </item>
<item> local </item>
<item> on </item>
<item> return </item>
<item> rule </item>
<item> switch </item>
<item> case </item>
<item> while </item>
</list>
<list name="keywordLocal">
<item> local </item>
</list>
<list name="actionAttribute">
<item> existing </item>
<item> ignore </item>
<item> piecemeal </item>
<item> quietly </item>
<item> together </item>
<item> updated </item>
</list>
<list name="actionAttributeBind">
<item> bind </item>
</list>
<list name="tokenColon"><item> : </item></list>
<list name="tokenSemicolon"><item> ; </item></list>
<list name="tokenSquareOpen"><item> [ </item></list>
<list name="tokenSquareClose"><item> ] </item></list>
<list name="tokenBraceOpen"><item> ( </item></list>
<list name="tokenBraceClose"><item> ) </item></list>
<list name="tokenBlockOpen"><item> { </item></list>
<list name="tokenBlockClose"><item> } </item></list>
<contexts>
<context attribute="Normal" lineEndContext="#stay" name="Normal">
<IncludeRules context="Preprocess"/>
<keyword attribute="Error" context="#stay" String="tokenBlockClose" endRegion="block" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<IncludeRules context="Statement"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="Block">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#pop" String="tokenBlockClose" endRegion="block" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<IncludeRules context="Statement"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="Statement">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Keyword" context="ActionDefinition" String="actions"/>
<StringDetect attribute="Keyword" context="RuleDefinition" String="rule"/>
<StringDetect attribute="Keyword" context="ForStatement" String="for"/>
<StringDetect attribute="Keyword" context="IfStatement" String="if"/>
<StringDetect attribute="Keyword" context="IfStatement" String="while"/>
<StringDetect attribute="Keyword" context="Rule" String="include"/>
<StringDetect attribute="Keyword" context="OnPreStment" String="on"/>
<StringDetect attribute="Keyword" context="Rule" String="return"/>
<StringDetect attribute="Keyword" context="CaseCond" String="case"/>
<keyword attribute="Keyword" context="VarAssign" String="keywordLocal"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Operator" context="Block" String="tokenBlockOpen" beginRegion="block" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<RegExpr attribute="VarAssign" context="VarAssign" String="[^\t ]+[\t ]*[\+\?]?=" lookAhead="true"/>
<RegExpr attribute="VarAssign" context="VarAssign" String="[^\t ]+[\t ]+on" lookAhead="true"/>
<keyword attribute="Operator" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#stay" String="tokenSemicolon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#stay" String="tokenBraceOpen" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#stay" String="tokenBraceClose" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<RegExpr attribute="Rule" context="Rule" String="([^\t ][^\t ]+|[^\{\}\t ])"/>
</context>
<!-- General instructions -->
<context attribute="Normal" lineEndContext="#stay" name="Rule">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenSemicolon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="CaseCond">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#pop" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="OnPreStment">
<IncludeRules context="Preprocess"/>
<RegExpr attribute="Normal" context="#pop" String="[^\t ]+"/>
<RegExpr attribute="Normal" context="#pop" String="." lookAhead="true"/>
</context>
<!-- Assigment -->
<context attribute="Variable" lineEndContext="#stay" name="VarAssign">
<IncludeRules context="Preprocess"/>
<RegExpr attribute="VarAssign" context="Assigment" String="[^\t ]+[\t ]*[\+\?]?=" lookAhead="true"/>
<RegExpr attribute="VarAssign" context="Assigment" String="[^\t ]+[\t ]+on" lookAhead="true"/>
<RegExpr attribute="VarAssign" context="Assigment" String="[\+\?]?=" lookAhead="true"/>
<keyword attribute="Operator" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenSemicolon" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="Assigment">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Operator" context="#stay" String="on"/>
<StringDetect attribute="Operator" context="Assigment2" String="="/>
<StringDetect attribute="Operator" context="Assigment2" String="+="/>
<StringDetect attribute="Operator" context="Assigment2" String="?="/>
<keyword attribute="Operator" context="#pop#pop" String="tokenSemicolon" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<RegExpr attribute="VarAssign" context="#stay" String="[^\t ]+"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="Assigment2">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#pop#pop#pop" String="tokenSemicolon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<!-- Sub statements -->
<context attribute="Normal" lineEndContext="#stay" name="SubStatement">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Keyword" context="OnPreStment" String="on"/>
<RegExpr attribute="Rule" context="SubRule" String="[^\t ]+"/>
<keyword attribute="Operator" context="#pop" String="tokenSquareClose" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="SubRule">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop#pop" String="tokenSquareClose" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<!-- Actions, Rules definitions -->
<context attribute="Normal" lineEndContext="#stay" name="ActionDefinition">
<IncludeRules context="Preprocess"/>
<keyword attribute="Error" context="#stay" String="actionAttributeBind"/>
<keyword attribute="actionAttribute" context="#stay" String="actionAttribute"/>
<StringDetect attribute="Operator" context="ActionBody" String="{"/>
<RegExpr attribute="Action" context="ActionDefinitionFull" String="[^\t ]+"/>
<DetectSpaces attribute="Normal"/>
</context>
<context attribute="Error" lineEndContext="#stay" name="ActionDefinitionFull">
<IncludeRules context="Preprocess"/>
<DetectSpaces attribute="Normal"/>
<StringDetect attribute="Operator" context="#pop" String="{" lookAhead="true"/>
<keyword attribute="actionAttribute" context="ActionDefinitionBind" String="actionAttributeBind"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="ActionDefinitionBind">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Operator" context="#pop" String="{" lookAhead="true"/>
<RegExpr attribute="Varname" context="#stay" String="[^\t ]+"/>
</context>
<context attribute="ActionText" lineEndContext="#stay" name="ActionBody">
<StringDetect attribute="Comment" context="Comment" String="#"/>
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="Operator" context="#pop#pop" String="}"/>
<IncludeRules context="##Bash"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="RuleDefinition">
<IncludeRules context="Preprocess"/>
<keyword attribute="Error" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<RegExpr attribute="Rule" context="VarnameList" String="[^\t ]+"/>
</context>
<context attribute="Error" lineEndContext="#stay" name="RuleDefinitionFull">
<IncludeRules context="Preprocess"/>
<DetectSpaces attribute="Normal"/>
<keyword attribute="Operator" context="VarnameList" String="tokenColon" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="VarnameList">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="VarnameList" String="tokenColon" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<RegExpr attribute="Varname" context="#stay" String="[^\t ]+"/>
</context>
<!-- For, While, If -->
<context attribute="Normal" lineEndContext="#stay" name="ForStatement">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Operator" context="ForList" String="in"/>
<RegExpr attribute="Varname" context="#stay" String="[^\t ]+"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="ForList">
<IncludeRules context="Preprocess"/>
<keyword attribute="Operator" context="#pop#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Normal" lineEndContext="#stay" name="IfStatement">
<IncludeRules context="Preprocess"/>
<StringDetect attribute="Operator" context="#stay" String="="/>
<StringDetect attribute="Operator" context="#stay" String="!="/>
<StringDetect attribute="Operator" context="#stay" String="&lt;"/>
<StringDetect attribute="Operator" context="#stay" String="&lt;="/>
<StringDetect attribute="Operator" context="#stay" String="&gt;"/>
<StringDetect attribute="Operator" context="#stay" String="&gt;="/>
<StringDetect attribute="Operator" context="#stay" String="in"/>
<StringDetect attribute="Operator" context="#stay" String="!"/>
<StringDetect attribute="Operator" context="#stay" String="&amp;&amp;"/>
<StringDetect attribute="Operator" context="#stay" String="||"/>
<keyword attribute="Operator" context="#stay" String="tokenBraceOpen" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#stay" String="tokenBraceClose" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<!-- Variables, Strings, Comments -->
<context attribute="Normal" lineEndContext="#stay" name="Preprocess">
<RegExpr attribute="Normal" context="#stay" String="\\(&quot;|\w)"/>
<StringDetect attribute="CommentTitle" context="CommentTitle" String="##"/>
<StringDetect attribute="Comment" context="Comment" String="#"/>
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="String" context="String" String="&quot;"/>
<keyword attribute="Operator" context="SubStatement" String="tokenSquareOpen" weakDelimiter=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*,"/>
</context>
<context attribute="Variable" lineEndContext="Error" name="Variable">
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="VariableDelimiter" context="#pop" String=")"/>
<StringDetect attribute="VariableAttribute" context="VariableRange" String="["/>
<StringDetect attribute="VariableAttribute" context="VariableAttribute" String=":"/>
</context>
<context attribute="VariableAttribute" lineEndContext="Error" name="VariableRange">
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="VariableAttribute" context="#pop" String="]"/>
</context>
<context attribute="VariableAttribute" lineEndContext="Error" name="VariableAttribute">
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="Variable" context="#pop" String=")" lookAhead="true"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)"/>
</context>
<context attribute="CommentTitle" lineEndContext="#pop" name="CommentTitle">
<IncludeRules context="Comment"/>
</context>
<context attribute="String" lineEndContext="Error" name="String">
<StringDetect attribute="VariableDelimiter" context="Variable" String="$("/>
<StringDetect attribute="EscapeSeq" context="#stay" String="\&quot;"/>
<StringDetect attribute="EscapeSeq" context="#stay" String="\"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<!-- Error -->
<context attribute="Error" lineEndContext="#stay" name="Error"/>
</contexts>
<itemDatas>
<!-- action definition (shell script) -->
<itemData name="actionAttribute" defStyleNum="dsNormal" italic="1"/>
<itemData name="ActionText" defStyleNum="dsNormal"/>
<!-- rule / action call -->
<itemData name="Rule" defStyleNum="dsFunction" color="black" underline="1"/>
<itemData name="Action" defStyleNum="dsNormal"/>
<!-- variables with attributes -->
<itemData name="Variable" defStyleNum="dsNormal" color="darkgreen"/>
<itemData name="VariableDelimiter" defStyleNum="dsNormal" color="blue"/>
<itemData name="VariableAttribute" defStyleNum="dsNormal" color="blue"/>
<itemData name="VarAssign" defStyleNum="dsNormal" color="darkgreen"/>
<itemData name="Varname" defStyleNum="dsNormal" color="darkgreen" italic="1"/>
<!-- common -->
<itemData name="Normal" defStyleNum="dsNormal"/>
<itemData name="Operator" defStyleNum="dsNormal" bold="1"/>
<itemData name="Keyword" defStyleNum="dsKeyword" bold="1"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="CommentTitle" defStyleNum="dsComment" color="darkorange" bold="1"/>
<itemData name="String" defStyleNum="dsString" color="red"/>
<itemData name="EscapeSeq" defStyleNum="dsString" color="purple" bold="1"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
<itemData name="Error" defStyleNum="dsError"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords weakDeliminator=":;{}()[].!+,-&lt;=&gt;%&amp;/?^|~\*," additionalDeliminator=" "/>
</general>
</language>
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Java" version="1.19" kateversion="2.4" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
<language name="Java" version="1.20" kateversion="2.4" section="Sources" extensions="*.java" mimetype="text/x-java" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
<highlighting>
<list name="java15">
<item> ACTIVE </item>
@ -3767,13 +3767,6 @@
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="#stay">
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
</Int>
<HlCChar attribute="Char" context="#stay"/>

@ -3,7 +3,9 @@
<!-- Author: Anders Lund <anders@alweb.dk> //-->
<!-- Minor changes: Joseph Wenninger <jowenn@kde.org> //-->
<!-- Full JavaScript 1.0 support by Whitehawk Stormchaser //-->
<language name="JavaScript" version="1.13" kateversion="2.3" section="Scripts" extensions="*.js" mimetype="text/x-javascript;application/x-javascript" author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
<language name="JavaScript" version="1.19" kateversion="2.4" section="Scripts" extensions="*.js;*.kwinscript"
mimetype="text/x-javascript;application/x-javascript" indenter="cstyle"
author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
<highlighting>
<list name="keywords">
<item> if </item>
@ -125,288 +127,27 @@
<item>onSubmit</item>
<item>onUnload</item>
</list>
<list name="methods">
<item>above</item>
<item>action</item>
<item>alinkColor</item>
<item>alert</item>
<item>anchor</item>
<item>anchors</item>
<item>appCodeName</item>
<item>applets</item>
<item>apply</item>
<item>appName</item>
<item>appVersion</item>
<item>argument</item>
<item>arguments</item>
<item>arity</item>
<item>availHeight</item>
<item>availWidth</item>
<item>back</item>
<item>background</item>
<item>below</item>
<item>bgColor</item>
<item>border</item>
<item>big</item>
<item>blink</item>
<item>blur</item>
<item>bold</item>
<item>border</item>
<item>call</item>
<item>caller</item>
<item>charAt</item>
<item>charCodeAt</item>
<item>checked</item>
<item>clearInterval</item>
<item>clearTimeout</item>
<item>click</item>
<item>clip</item>
<item>close</item>
<item>closed</item>
<item>colorDepth</item>
<item>complete</item>
<item>compile</item>
<item>constructor</item>
<item>confirm</item>
<item>cookie</item>
<item>current</item>
<item>cursor</item>
<item>data</item>
<item>defaultChecked</item>
<item>defaultSelected</item>
<item>defaultStatus</item>
<item>defaultValue</item>
<item>description</item>
<item>disableExternalCapture</item>
<item>domain</item>
<item>elements</item>
<item>embeds</item>
<item>enabledPlugin</item>
<item>enableExternalCapture</item>
<item>encoding</item>
<item>eval</item>
<item>exec</item>
<item>fgColor</item>
<item>filename</item>
<item>find</item>
<item>fixed</item>
<item>focus</item>
<item>fontcolor</item>
<item>fontsize</item>
<item>form</item>
<item>forms</item>
<item>formName</item>
<item>forward</item>
<item>frames</item>
<item>fromCharCode</item>
<item>getDate</item>
<item>getDay</item>
<item>getHours</item>
<item>getMiliseconds</item>
<item>getMinutes</item>
<item>getMonth</item>
<item>getSeconds</item>
<item>getSelection</item>
<item>getTime</item>
<item>getTimezoneOffset</item>
<item>getUTCDate</item>
<item>getUTCDay</item>
<item>getUTCFullYear</item>
<item>getUTCHours</item>
<item>getUTCMilliseconds</item>
<item>getUTCMinutes</item>
<item>getUTCMonth</item>
<item>getUTCSeconds</item>
<item>getYear</item>
<item>global</item>
<item>go</item>
<item>hash</item>
<item>height</item>
<item>history</item>
<item>home</item>
<item>host</item>
<item>hostname</item>
<item>href</item>
<item>hspace</item>
<item>ignoreCase</item>
<item>images</item>
<item>index</item>
<item>indexOf</item>
<item>innerHeight</item>
<item>innerWidth</item>
<item>input</item>
<item>italics</item>
<item>javaEnabled</item>
<item>join</item>
<item>language</item>
<item>lastIndex</item>
<item>lastIndexOf</item>
<item>lastModified</item>
<item>lastParen</item>
<item>layers</item>
<item>layerX</item>
<item>layerY</item>
<item>left</item>
<item>leftContext</item>
<item>length</item>
<item>link</item>
<item>linkColor</item>
<item>links</item>
<item>location</item>
<item>locationbar</item>
<item>load</item>
<item>lowsrc</item>
<item>match</item>
<item>MAX_VALUE</item>
<item>menubar</item>
<item>method</item>
<item>mimeTypes</item>
<item>MIN_VALUE</item>
<item>modifiers</item>
<item>moveAbove</item>
<item>moveBelow</item>
<item>moveBy</item>
<item>moveTo</item>
<item>moveToAbsolute</item>
<item>multiline</item>
<item>name</item>
<item>NaN</item>
<item>NEGATIVE_INFINITY</item>
<item>negative_infinity</item>
<item>next</item>
<item>open</item>
<item>opener</item>
<item>options</item>
<item>outerHeight</item>
<item>outerWidth</item>
<item>pageX</item>
<item>pageY</item>
<item>pageXoffset</item>
<item>pageYoffset</item>
<item>parent</item>
<item>parse</item>
<item>pathname</item>
<item>personalbar</item>
<item>pixelDepth</item>
<item>platform</item>
<item>plugins</item>
<item>pop</item>
<item>port</item>
<item>POSITIVE_INFINITY</item>
<item>positive_infinity</item>
<item>preference</item>
<item>previous</item>
<item>print</item>
<item>prompt</item>
<item>protocol</item>
<item>prototype</item>
<item>push</item>
<item>referrer</item>
<item>refresh</item>
<item>releaseEvents</item>
<item>reload</item>
<item>replace</item>
<item>reset</item>
<item>resizeBy</item>
<item>resizeTo</item>
<item>reverse</item>
<item>rightContext</item>
<item>screenX</item>
<item>screenY</item>
<item>scroll</item>
<item>scrollbar</item>
<item>scrollBy</item>
<item>scrollTo</item>
<item>search</item>
<item>select</item>
<item>selected</item>
<item>selectedIndex</item>
<item>self</item>
<item>setDate</item>
<item>setHours</item>
<item>setMinutes</item>
<item>setMonth</item>
<item>setSeconds</item>
<item>setTime</item>
<item>setTimeout</item>
<item>setUTCDate</item>
<item>setUTCDay</item>
<item>setUTCFullYear</item>
<item>setUTCHours</item>
<item>setUTCMilliseconds</item>
<item>setUTCMinutes</item>
<item>setUTCMonth</item>
<item>setUTCSeconds</item>
<item>setYear</item>
<item>shift</item>
<item>siblingAbove</item>
<item>siblingBelow</item>
<item>small</item>
<item>sort</item>
<item>source</item>
<item>splice</item>
<item>split</item>
<item>src</item>
<item>status</item>
<item>statusbar</item>
<item>strike</item>
<item>sub</item>
<item>submit</item>
<item>substr</item>
<item>substring</item>
<item>suffixes</item>
<item>sup</item>
<item>taintEnabled</item>
<item>target</item>
<item>test</item>
<item>text</item>
<item>title</item>
<item>toGMTString</item>
<item>toLocaleString</item>
<item>toLowerCase</item>
<item>toolbar</item>
<item>toSource</item>
<item>toString</item>
<item>top</item>
<item>toUpperCase</item>
<item>toUTCString</item>
<item>type</item>
<item>URL</item>
<item>unshift</item>
<item>unwatch</item>
<item>userAgent</item>
<item>UTC</item>
<item>value</item>
<item>valueOf</item>
<item>visibility</item>
<item>vlinkColor</item>
<item>vspace</item>
<item>width</item>
<item>watch</item>
<item>which</item>
<item>width</item>
<item>write</item>
<item>writeln</item>
<item>x</item>
<item>y</item>
<item>zIndex</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces/>
<StringDetect attribute="Region Marker" context="region_marker" String="//BEGIN" beginRegion="Region1"/>
<StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1"/>
<Float attribute="Float" context="#stay" />
<Int attribute="Decimal" context="#stay" />
<RegExpr attribute="JSON" context="#stay" String="\b[\w\.]+\b\s*(?=:)" />
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Function" context="#stay" String="functions" />
<keyword attribute="Objects" context="#stay" String="objects" />
<keyword attribute="Math" context="#stay" String="math" />
<keyword attribute="Events" context="#stay" String="events" />
<keyword attribute="Data Type" context="#stay" String="methods" />
<DetectChar context="ObjectMember" char="." />
<RegExpr attribute="Objects" context="ObjectMember" String="\b[\w\.]+(?=\.)" />
<DetectIdentifier/>
<Float attribute="Float" context="#stay" />
<Int attribute="Decimal" context="#stay" />
<DetectChar attribute="String" context="String" char="&quot;"/>
<DetectChar attribute="String" context="String 1" char="'"/>
<DetectChar attribute="String Char" context="String 1" char="'"/>
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Normal Text" context="(Internal regex catch)" String="[=?:]" />
@ -458,6 +199,7 @@
</context>
<context attribute="Pattern Character Class" lineEndContext="#stay" name="Regular Expression Character Class">
<RegExpr attribute="Pattern Character Class" context="#stay" String="\\[\[\]]" />
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\." />
<DetectChar attribute="Pattern Character Class" context="#pop#pop" char="]" />
</context>
<context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(regex caret first check)" fallthrough="true" fallthroughContext="Regular Expression">
@ -471,26 +213,34 @@
<DetectIdentifier />
<DetectSpaces />
</context>
<context name="ObjectMember" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#stay" char="." />
<DetectIdentifier attribute="Object Member" />
<DetectSpaces context="#pop" />
<AnyChar lookAhead="true" context="#pop" String="(){}:!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Objects" defStyleNum="dsKeyword" color="#008000" selColor="#00ffff" bold="0" italic="0"/>
<itemData name="Math" defStyleNum="dsKeyword" color="#DBA716" selColor="#00ffff" bold="0" italic="0"/>
<itemData name="Events" defStyleNum="dsKeyword" color="#F766D5" selColor="#00ffff" bold="0" italic="0"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Objects" defStyleNum="dsKeyword" color="#008000" selColor="#00ffff" bold="0" italic="0" spellChecking="false"/>
<itemData name="Object Member" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Math" defStyleNum="dsKeyword" color="#DBA716" selColor="#00ffff" bold="0" italic="0" spellChecking="false"/>
<itemData name="Events" defStyleNum="dsKeyword" color="#F766D5" selColor="#00ffff" bold="0" italic="0" 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"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Regular Expression" defStyleNum="dsOthers" />
<itemData name="Pattern Internal Operator" defStyleNum="dsFloat" />
<itemData name="Pattern Character Class" defStyleNum="dsBaseN" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Regular Expression" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Pattern Internal Operator" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Pattern Character Class" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="JSON" defStyleNum="dsDataType" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>

@ -12,9 +12,9 @@
** http://tools.ietf.org/html/rfc4627
***************************************************************************
-->
<language name="JSON" section="Markup" version="1.00" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (webmaster@hartwork.org)" license="GPL">
<language name="JSON" section="Markup" version="1.2" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
<highlighting>
<list name="Constants">
<list name="Constants">
<item>null</item>
<item>true</item>
<item>false</item>
@ -23,6 +23,9 @@
<contexts>
<context name="Normal" lineEndContext="#stay" attribute="Style_Error">
<DetectChar char="{" context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
<DetectChar char="[" context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
<DetectSpaces context="#stay" attribute="Style_Normal" />
</context>
<context name="Pair" lineEndContext="#stay" attribute="Style_Error">
@ -64,6 +67,7 @@
<DetectChar char="]" context="#pop" endRegion="Region_Array" attribute="Style_Seperator_Array" />
<DetectChar char="{" context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
<DetectChar char="[" context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
<DetectChar char="&quot;" context="String_Value" attribute="Style_String_Value" />
<DetectSpaces context="#stay" attribute="Style_Normal" />
@ -88,9 +92,9 @@
<itemData name="Style_String_Key_Char" defStyleNum="dsDataType" underline="1" />
<itemData name="Style_String_Value_Char" defStyleNum="dsString" color="#FF00FF" underline="1" />
<itemData name="Style_Keyword" defStyleNum="dsDecVal" bold="1" />
<itemData name="Style_Keyword" defStyleNum="dsDecVal" bold="1" />
<itemData name="Style_Error" defStyleNum="dsError" />
<itemData name="Style_Error" defStyleNum="dsError" />
</itemDatas>
</highlighting>
</language>

@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="LaTeX" version="1.33" section="Markup" kateversion="2.3" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (braun@physik.fu-berlin.de)" license="LGPL" >
<language name="LaTeX" version="1.47" section="Markup" kateversion="2.3" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" >
<highlighting>
<contexts>
<!-- Normal text -->
<context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" context="FindEnvironment" beginRegion="block" />
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" context="FindEnvironment" endRegion="block" />
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" context="FindBeginEnvironment" beginRegion="block" />
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" context="FindEndEnvironment" />
<RegExpr String="\\(cite|parencite|autocite|Autocite|citetitle)\*(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
<RegExpr String="\\(cites|Cites|parencites|Parencites|autocites|Autocites|supercites|footcites|Footcites)(?=[^a-zA-Z])" attribute="Structure" context="FancyLabel"/>
<RegExpr String="\\(cite|nocite|Cite|parencite|Parencite|footcite|Footcite|textcite|Textcite|supercite|autocite|Autocite|citeauthor|Citeauthor|citetitle|citeyear|citeurl|nocite|fullcite|footfullcite)(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
<RegExpr String="\\(subref\*?|cref\*?|label|pageref|autoref|ref|vpageref|vref|pagecite)(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
<RegExpr String="\\(subref\*?|cref\*?|label|pageref|autoref|ref|vpageref|vref|pagecite|eqref)(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
<RegExpr String="\\(part|chapter|section|subsection|subsubsection|paragraph|subparagraph)\*?\s*(?=[\{\[])" attribute="Structure" context="Sectioning"/>
<RegExpr String="\\(footnote)\*?\s*(?=[\{\[])" attribute="Footnote" context="Footnoting"/>
<RegExpr String="\\(footnote)\*?\s*(?=[\{\[])" attribute="Keyword" context="Footnoting"/>
<RegExpr String="\\(renewcommand|providenewcommand|newcommand)\*?(?=[^a-zA-Z])" attribute="Keyword" context="NewCommand"/>
<RegExpr String="\\(e|g|x)?def(?=[^a-zA-Z])" attribute="Keyword" context="DefCommand"/>
<RegExpr String="&lt;&lt;.*&gt;&gt;=" attribute="Normal Text" context="NoWeb" />
<StringDetect String="\(" attribute="Math" context="MathMode" beginRegion="mathMode" />
<StringDetect String="\(" attribute="Math" context="MathMode" />
<StringDetect String="\[" attribute="Math" context="MathModeEquation" beginRegion="mathMode" />
<StringDetect String="\iffalse" attribute="Comment" context="Multiline Comment"/>
<StringDetect String="\ensuremath{" attribute="Math" context="MathModeEnsure"/>
<DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
<StringDetect String="$$" attribute="Math" context="MathModeDisplay" beginRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="MathMode" beginRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="MathMode" />
<RegExpr String="%\s*BEGIN.*$" attribute="Region Marker" context="#stay" beginRegion="regionMarker" firstNonSpace="true" />
<RegExpr String="%\s*END.*$" attribute="Region Marker" context="#stay" endRegion="regionMarker" firstNonSpace="true" />
<DetectChar char="%" attribute="Comment" context="Comment"/>
@ -45,9 +45,9 @@
<context name="SectioningInside" attribute="Structure Text" lineEndContext="#stay">
<DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
<DetectChar char="}" attribute="Normal Text" context="#pop"/>
<StringDetect String="\(" attribute="Structure Math" context="SectioningMathMode" beginRegion="mathMode" />
<StringDetect String="\(" attribute="Structure Math" context="SectioningMathMode" />
<DetectChar char="\" attribute="Structure Keyword" context="SectioningContrSeq"/>
<DetectChar char="$" attribute="Structure Math" context="SectioningMathMode" beginRegion="mathMode" />
<DetectChar char="$" attribute="Structure Math" context="SectioningMathMode" />
<DetectChar char="%" attribute="Comment" context="Comment"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
</context>
@ -58,8 +58,8 @@
</context>
<context name="SectioningMathMode" attribute="Structure Math" lineEndContext="#stay">
<StringDetect String="$$" attribute="Error" context="#stay" />
<DetectChar char="$" attribute="Structure Math" context="#pop" endRegion="mathMode" />
<Detect2Chars char="\" char1=")" attribute="Structure Math" context="#pop" endRegion="mathMode" />
<DetectChar char="$" attribute="Structure Math" context="#pop" />
<Detect2Chars char="\" char1=")" attribute="Structure Math" context="#pop" />
<Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
<DetectChar char="\" attribute="Structure Keyword Mathmode" context="SectioningMathContrSeq"/>
<DetectChar char="%" attribute="Comment" context="Comment"/>
@ -79,33 +79,19 @@
<DetectChar char="}" attribute="Normal Text" context="#pop"/>
<DetectChar char="%" attribute="Comment" context="Comment"/>
</context>
<context name="FootnotingInside" attribute="Footnote Text" lineEndContext="#stay">
<context name="FootnotingInside" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
<DetectChar char="}" attribute="Normal Text" context="#pop"/>
<StringDetect String="\(" attribute="Footnote Math" context="FootnotingMathMode" beginRegion="mathMode" />
<DetectChar char="\" attribute="Footnote Keyword" context="FootnotingContrSeq"/>
<DetectChar char="$" attribute="Footnote Math" context="FootnotingMathMode" beginRegion="mathMode" />
<DetectChar char="%" attribute="Comment" context="Comment"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
</context>
<context name="FootnotingContrSeq" attribute="Keyword" lineEndContext="#pop">
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="[a-zA-Z]+(\+?|\*{0,3})" attribute="Footnote Keyword" context="#pop"/>
<RegExpr String="[^a-zA-Z]" attribute="Footnote Keyword" context="#pop" />
<StringDetect String="\(" attribute="Math" context="FootnotingMathMode" />
<DetectChar char="$" attribute="Math" context="FootnotingMathMode" />
<IncludeRules context="Normal Text" />
</context>
<context name="FootnotingMathMode" attribute="Footnote Math" lineEndContext="#stay">
<context name="FootnotingMathMode" attribute="Math" lineEndContext="#stay">
<StringDetect String="$$" attribute="Error" context="#stay" />
<DetectChar char="$" attribute="Footnote Math" context="#pop" endRegion="mathMode" />
<Detect2Chars char="\" char1=")" attribute="Footnote Math" context="#pop" endRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="#pop" />
<Detect2Chars char="\" char1=")" attribute="Math" context="#pop" />
<Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
<DetectChar char="\" attribute="Footnote Keyword Mathmode" context="FootnotingMathContrSeq"/>
<DetectChar char="%" attribute="Comment" context="Comment"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
</context>
<context name="FootnotingMathContrSeq" attribute="Footnote Keyword Mathmode" lineEndContext="#pop">
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="[a-zA-Z]+\*?" attribute="Footnote Keyword Mathmode" context="#pop"/>
<RegExpr String="[^a-zA-Z]" attribute="Footnote Keyword Mathmode" context="#pop" />
<IncludeRules context="MathMode" />
</context>
<!-- LaTeX commands \newcommand and \renewcommand -->
@ -137,7 +123,7 @@
<!-- LaTeX command in text mode -->
<context name="ContrSeq" attribute="Keyword" lineEndContext="#pop">
<StringDetect String="verb*" attribute="Keyword" context="Verb"/>
<RegExpr String="verb(?=[^a-zA-Z])" attribute="Keyword" context="Verb"/>
<RegExpr String="(Verb|verb|lstinline)(?=[^a-zA-Z])" attribute="Keyword" context="Verb"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="[a-zA-Z@]+(\+?|\*{0,3})" attribute="Keyword" context="#pop"/>
<RegExpr String="[^a-zA-Z]" attribute="Keyword" context="#pop" />
@ -163,9 +149,9 @@
</context>
<context name="LabelOption" attribute="Normal Text" lineEndContext="#stay">
<StringDetect String="\(" attribute="Math" context="MathMode" beginRegion="mathMode" />
<StringDetect String="\(" attribute="Math" context="MathMode" />
<DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
<DetectChar char="$" attribute="Math" context="MathMode" beginRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="MathMode" />
<DetectChar char="%" attribute="Comment" context="Comment"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="\s*\]\s*" attribute="Normal Text" context="#pop"/>
@ -189,26 +175,46 @@
</context>
<context name="FancyLabelRoundBrackets" attribute="Normal Text" lineEndContext="#stay">
<StringDetect String="\(" attribute="Math" context="MathMode" beginRegion="mathMode" />
<StringDetect String="\(" attribute="Math" context="MathMode" />
<DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
<DetectChar char="$" attribute="Math" context="MathMode" beginRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="MathMode" />
<DetectChar char="%" attribute="Comment" context="Comment"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="\s*\)\s*" attribute="Normal Text" context="#pop"/>
</context>
<!-- end of an environment -->
<context name="FindEndEnvironment" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" attribute="Normal Text" context="EndEnvironment"/>
<RegExpr String="\S" attribute="Normal Text" context="#pop"/>
</context>
<context name="EndEnvironment" attribute="Environment" lineEndContext="#stay">
<RegExpr String="[a-zA-Z]" attribute="Environment" context="EndLatexEnv"/>
<RegExpr String="\s+" attribute="Error" context="#pop"/>
<RegExpr String="[^a-zA-Z]" attribute="Error" context="#pop"/>
</context>
<context name="EndLatexEnv" attribute="Environment" lineEndContext="#stay">
<DetectChar char="}" attribute="Normal Text" endRegion="block" context="#pop#pop#pop"/>
<RegExpr String="[a-zA-Z]+(\*)?" attribute="Environment" context="#stay"/>
<RegExpr String="\s+" attribute="Error" context="#stay"/>
<RegExpr String="[a-zA-Z]" attribute="Error" context="#pop#pop#pop"/>
</context>
<!-- start of an environment -->
<context name="FindEnvironment" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" attribute="Normal Text" context="Environment"/>
<context name="FindBeginEnvironment" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="{" attribute="Normal Text" context="BeginEnvironment"/>
<RegExpr String="\S" attribute="Normal Text" context="#pop"/>
</context>
<!-- filter the environment name and check the type -->
<context name="Environment" attribute="Environment" lineEndContext="#stay">
<context name="BeginEnvironment" attribute="Environment" lineEndContext="#stay">
<RegExpr String="(lstlisting|(B|L)?Verbatim)" attribute="Environment" context="VerbatimEnvParam"/>
<RegExpr String="(verbatim|boxedverbatim)" attribute="Environment" context="VerbatimEnv"/>
<RegExpr String="comment" attribute="Environment" context="CommentEnv"/>
<RegExpr String="(alignat|xalignat|xxalignat)" attribute="Environment" context="MathEnvParam"/>
<RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign)" attribute="Environment" context="MathEnv"/>
<RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|IEEEeqnarray|IEEEeqnarraybox|smallmatrix|pmatrix|bmatrix|Bmatrix|vmatrix|Vmatrix)" attribute="Environment" context="MathEnv"/>
<RegExpr String="(tabularx|tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)" attribute="Environment" context="TabEnv"/>
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="[a-zA-Z]" attribute="Environment" context="LatexEnv"/>
@ -251,6 +257,26 @@
<DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
</context>
<!-- begin comment environment -->
<context name="CommentEnv" attribute="Environment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop">
<DetectChar char="}" attribute="Normal Text" context="BlockComment"/>
<RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
<IncludeRules context="EnvCommon" />
</context>
<!-- parse comment text -->
<context name="BlockComment" attribute="Comment" lineEndContext="#stay">
<DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
<RegExpr String="\\end(?=\s*\{comment\*?\})" attribute="Structure" context="CommFindEnd"/>
</context>
<!-- end of comment environment -->
<context name="CommFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
<RegExpr String="comment\*?" attribute="Environment" context="#stay"/>
<DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
</context>
<!-- environment type 4: math environment with its own mathmode -->
<context name="MathEnv" attribute="Environment" lineEndContext="#stay">
<DetectChar char="}" attribute="Normal Text" context="MathModeEnv"/>
@ -276,9 +302,8 @@
<!-- parse math environment -->
<context name="MathModeEnv" attribute="Math" lineEndContext="#stay">
<RegExpr String="\\end(?=\s*\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat)\*?\})" attribute="Structure" context="MathFindEnd"/>
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" beginRegion="block" />
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" endRegion="block" />
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" context="FindBeginEnvironment" beginRegion="block"/>
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" context="MathFindEnd"/>
<StringDetect String="\(" attribute="Error" context="#stay" />
<StringDetect String="\[" attribute="Error" context="#stay" />
<StringDetect String="\)" attribute="Error" context="#stay" />
@ -296,7 +321,7 @@
<!-- end of math environment -->
<context name="MathFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
<RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat)\*?" attribute="Environment" context="#stay"/>
<RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat|IEEEeqnarray|IEEEeqnarraybox|smallmatrix|pmatrix|bmatrix|Bmatrix|vmatrix|Vmatrix)\*?" attribute="Environment" context="#stay"/>
<DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
</context>
@ -332,8 +357,8 @@
<!-- math mode: starting with $ or \( -->
<context name="MathMode" attribute="Math" lineEndContext="#stay">
<StringDetect String="$$" attribute="Error" context="#stay" />
<DetectChar char="$" attribute="Math" context="#pop" endRegion="mathMode" />
<Detect2Chars char="\" char1=")" attribute="Math" context="#pop" endRegion="mathMode" />
<DetectChar char="$" attribute="Math" context="#pop" />
<Detect2Chars char="\" char1=")" attribute="Math" context="#pop" />
<Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
<IncludeRules context="MathModeCommon" />
</context>
@ -365,9 +390,9 @@
<!-- math mode common -->
<context name="MathModeCommon" attribute="Math" lineEndContext="#stay">
<RegExpr String="\\(begin|end)\s*\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat)\*?\}" attribute="Error" context="#stay"/>
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" beginRegion="block" />
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" endRegion="block" />
<RegExpr String="\\(begin|end)\s*\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat|IEEEeqnarray)\*?\}" attribute="Error" context="#stay"/>
<RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" beginRegion="block" />
<RegExpr String="\\end(?=[^a-zA-Z])" attribute="Keyword Mathmode" context="#stay" endRegion="block" />
<RegExpr String="\\(text|intertext|mbox)\s*(?=\{)" attribute="Keyword Mathmode" context="MathModeText" />
<DetectChar char="\" attribute="Keyword Mathmode" context="MathContrSeq"/>
<DetectChar char="%" attribute="Comment" context="Comment"/>
@ -421,29 +446,24 @@
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="0"/>
<itemData name="Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="0" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Error" defStyleNum="dsAlert"/>
<itemData name="Math" defStyleNum="dsNormal" color="#00A000" selColor="#FF40FF" bold="0" italic="0"/>
<itemData name="Structure" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0"/>
<itemData name="Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="0" italic="0"/>
<itemData name="Environment" defStyleNum="dsNormal" color="#0000D0" selColor="#FFFF90" bold="0" italic="0"/>
<itemData name="Verbatim" defStyleNum="dsNormal" color="#a08000" selColor="#80D0FF" bold="0" italic="0"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Bullet" defStyleNum="dsNormal" color="#FF00C4" bold="1" underline="1"/>
<itemData name="Ampersand" defStyleNum="dsNormal" color="#002793" bold="1" />
<itemData name="Column Separator" defStyleNum="dsNormal" color="#002793" />
<itemData name="Alert" defStyleNum="dsAlert" />
<itemData name="Error" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Math" defStyleNum="dsNormal" color="#00A000" selColor="#FF40FF" bold="0" italic="0" spellChecking="false"/>
<itemData name="Structure" defStyleNum="dsNormal" color="#F00000" selColor="#80FFD0" bold="0" italic="0" spellChecking="false"/>
<itemData name="Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="0" italic="0" spellChecking="false"/>
<itemData name="Environment" defStyleNum="dsNormal" color="#0000D0" selColor="#FFFF90" bold="0" italic="0" spellChecking="false"/>
<itemData name="Verbatim" defStyleNum="dsNormal" color="#a08000" selColor="#80D0FF" bold="0" italic="0" spellChecking="false"/>
<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
<itemData name="Bullet" defStyleNum="dsNormal" color="#FF00C4" bold="1" underline="1" spellChecking="false"/>
<itemData name="Ampersand" defStyleNum="dsNormal" color="#002793" bold="1" spellChecking="false"/>
<itemData name="Column Separator" defStyleNum="dsNormal" color="#002793" spellChecking="false"/>
<itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Structure Text" defStyleNum="dsNormal" color="#000000" selColor="#FFFFFF" bold="1" italic="0"/>
<itemData name="Structure Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="1" italic="0"/>
<itemData name="Structure Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="1" italic="0" spellChecking="false"/>
<itemData name="Structure Math" defStyleNum="dsNormal" color="#00A000" selColor="#FF40FF" bold="1" italic="0"/>
<itemData name="Structure Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="1" italic="0"/>
<itemData name="Footnote" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="0"/>
<itemData name="Footnote Text" defStyleNum="dsNormal" color="#000000" selColor="#FFFFFF" bold="0" italic="0"/>
<itemData name="Footnote Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="0"/>
<itemData name="Footnote Math" defStyleNum="dsNormal" color="#00A000" selColor="#FF40FF" bold="0" italic="0"/>
<itemData name="Footnote Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="0" italic="0"/>
</itemDatas>
<itemData name="Structure Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="1" italic="0" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
@ -452,4 +472,122 @@
<comment name="singleLine" start="%" />
</comments>
</general>
<spellchecking>
<configuration encodingReplacementPolicy="EncodeWhenPresent"/>
<encodings>
<encoding char="&#192;" string="\`{A}" />
<encoding char="&#192;" string="\`A" />
<encoding char="&#193;" string="\'{A}" />
<encoding char="&#193;" string="\'A" />
<encoding char="&#194;" string="\^{A}" />
<encoding char="&#194;" string="\^A" />
<encoding char="&#195;" string="\~{A}" />
<encoding char="&#195;" string="\~A" />
<encoding char="&#196;" string="\&#34;{A}" />
<encoding char="&#196;" string="\&#34;A" />
<encoding char="&#197;" string="\AA{}" />
<encoding char="&#198;" string="\AE{}" />
<encoding char="&#199;" string="\c{C}" />
<encoding char="&#200;" string="\`{E}" />
<encoding char="&#200;" string="\`E" />
<encoding char="&#201;" string="\'{E}" />
<encoding char="&#201;" string="\'E" />
<encoding char="&#202;" string="\^{E}" />
<encoding char="&#202;" string="\^E" />
<encoding char="&#203;" string="\&#34;{E}" />
<encoding char="&#203;" string="\&#34;E" />
<encoding char="&#204;" string="\`{I}" />
<encoding char="&#204;" string="\`I" />
<encoding char="&#205;" string="\'{I}" />
<encoding char="&#205;" string="\'I" />
<encoding char="&#206;" string="\^{I}" />
<encoding char="&#206;" string="\^I" />
<encoding char="&#207;" string="\&#34;{I}" />
<encoding char="&#207;" string="\&#34;I" />
<encoding char="&#208;" string="\DH{}" />
<encoding char="&#209;" string="\~{N}" />
<encoding char="&#209;" string="\~N" />
<encoding char="&#210;" string="\`{O}" />
<encoding char="&#210;" string="\`O" />
<encoding char="&#211;" string="\'{O}" />
<encoding char="&#211;" string="\'O" />
<encoding char="&#212;" string="\^{O}" />
<encoding char="&#212;" string="\^O" />
<encoding char="&#213;" string="\~{O}" />
<encoding char="&#213;" string="\~O" />
<encoding char="&#214;" string="\&#34;{O}" />
<encoding char="&#214;" string="\&#34;O" />
<encoding char="&#216;" string="\O{}" />
<encoding char="&#217;" string="\`{U}" />
<encoding char="&#217;" string="\`U" />
<encoding char="&#218;" string="\'{U}" />
<encoding char="&#218;" string="\'U" />
<encoding char="&#219;" string="\^{U}" />
<encoding char="&#219;" string="\^U" />
<encoding char="&#220;" string="\&#34;{U}" />
<encoding char="&#220;" string="\&#34;U" />
<encoding char="&#221;" string="\'{Y}" />
<encoding char="&#221;" string="\'Y" />
<encoding char="&#222;" string="\TH{}" />
<encoding char="&#223;" string="\ss{}" />
<encoding char="&#224;" string="\`{a}" />
<encoding char="&#224;" string="\`a" />
<encoding char="&#225;" string="\'{a}" />
<encoding char="&#225;" string="\'a" />
<encoding char="&#226;" string="\^{a}" />
<encoding char="&#226;" string="\^a" />
<encoding char="&#227;" string="\~{a}" />
<encoding char="&#227;" string="\~a" />
<encoding char="&#228;" string="\&#34;{a}" />
<encoding char="&#228;" string="\&#34;a" />
<encoding char="&#229;" string="\aa{}" />
<encoding char="&#230;" string="\ae{}" />
<encoding char="&#231;" string="\c{c}" />
<encoding char="&#232;" string="\`{e}" />
<encoding char="&#232;" string="\`e" />
<encoding char="&#233;" string="\'{e}" />
<encoding char="&#233;" string="\'e" />
<encoding char="&#234;" string="\^{e}" />
<encoding char="&#234;" string="\^e" />
<encoding char="&#235;" string="\&#34;{e}" />
<encoding char="&#235;" string="\&#34;e" />
<encoding char="&#236;" string="\`{i}" />
<encoding char="&#236;" string="\`i" />
<encoding char="&#237;" string="\'{i}" />
<encoding char="&#237;" string="\'i" />
<encoding char="&#238;" string="\^{i}" />
<encoding char="&#238;" string="\^i" />
<encoding char="&#239;" string="\&#34;{i}" />
<encoding char="&#239;" string="\&#34;i" />
<encoding char="&#240;" string="\dh{}" />
<encoding char="&#241;" string="\~{n}" />
<encoding char="&#241;" string="\~n" />
<encoding char="&#242;" string="\`{o}" />
<encoding char="&#242;" string="\`o" />
<encoding char="&#243;" string="\'{o}" />
<encoding char="&#243;" string="\'o" />
<encoding char="&#244;" string="\^{o}" />
<encoding char="&#244;" string="\^o" />
<encoding char="&#245;" string="\~{o}" />
<encoding char="&#245;" string="\~o" />
<encoding char="&#246;" string="\&#34;{o}" />
<encoding char="&#246;" string="\&#34;o" />
<encoding char="&#248;" string="\o{}" />
<encoding char="&#249;" string="\`{u}" />
<encoding char="&#249;" string="\`u" />
<encoding char="&#250;" string="\'{u}" />
<encoding char="&#250;" string="\'u" />
<encoding char="&#251;" string="\^{u}" />
<encoding char="&#251;" string="\^u" />
<encoding char="&#252;" string="\&#34;{u}" />
<encoding char="&#252;" string="\&#34;u" />
<encoding char="&#253;" string="\'{y}" />
<encoding char="&#253;" string="\'y" />
<encoding char="&#254;" string="\th{}" />
<encoding char="&#255;" string="\&#34;{y}" />
<encoding char="&#255;" string="\&#34;y" />
<encoding string="''" ignored="true" />
</encodings>
</spellchecking>
</language>

@ -1,386 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Literate Haskell" version="1.05" kateversion="2.4" section="Sources" extensions="*.lhs" author="Marcel Martin (mmar@freenet.de)" license="">
<highlighting>
<list name="keywords">
<item> case </item>
<item> class </item>
<item> data </item>
<item> deriving </item>
<item> do </item>
<item> else </item>
<item> if </item>
<item> in </item>
<item> infixl </item>
<item> infixr </item>
<item> instance </item>
<item> let </item>
<item> module </item>
<item> of </item>
<item> primitive </item>
<item> then </item>
<item> type </item>
<item> where </item>
</list>
<list name="infix operators">
<item> quot </item>
<item> rem </item>
<item> div </item>
<item> mod </item>
<item> elem </item>
<item> notElem </item>
<item> seq </item>
</list>
<list name="functions">
<!--
These operators are not handled yet.
<item> !! </item>
<item> % </item>
<item> && </item>
<item> $! </item>
<item> $ </item>
<item> * </item>
<item> ** </item>
<item> - </item>
<item> . </item>
<item> /= </item>
<item> < </item>
<item> <= </item>
<item> =<< </item>
<item> == </item>
<item> > </item>
<item> >= </item>
<item> >> </item>
<item> >>= </item>
<item> ^ </item>
<item> ^^ </item>
<item> ++ </item>
<item> || </item>
//-->
<item> FilePath </item>
<item> IOError </item>
<item> abs </item>
<item> acos </item>
<item> acosh </item>
<item> all </item>
<item> and </item>
<item> any </item>
<item> appendFile </item>
<item> approxRational </item>
<item> asTypeOf </item>
<item> asin </item>
<item> asinh </item>
<item> atan </item>
<item> atan2 </item>
<item> atanh </item>
<item> basicIORun </item>
<item> break </item>
<item> catch </item>
<item> ceiling </item>
<item> chr </item>
<item> compare </item>
<item> concat </item>
<item> concatMap </item>
<item> const </item>
<item> cos </item>
<item> cosh </item>
<item> curry </item>
<item> cycle </item>
<item> decodeFloat </item>
<item> denominator </item>
<item> digitToInt </item>
<item> div </item>
<item> divMod </item>
<item> drop </item>
<item> dropWhile </item>
<item> either </item>
<item> elem </item>
<item> encodeFloat </item>
<item> enumFrom </item>
<item> enumFromThen </item>
<item> enumFromThenTo </item>
<item> enumFromTo </item>
<item> error </item>
<item> even </item>
<item> exp </item>
<item> exponent </item>
<item> fail </item>
<item> filter </item>
<item> flip </item>
<item> floatDigits </item>
<item> floatRadix </item>
<item> floatRange </item>
<item> floor </item>
<item> fmap </item>
<item> foldl </item>
<item> foldl1 </item>
<item> foldr </item>
<item> foldr1 </item>
<item> fromDouble </item>
<item> fromEnum </item>
<item> fromInt </item>
<item> fromInteger </item>
<item> fromIntegral </item>
<item> fromRational </item>
<item> fst </item>
<item> gcd </item>
<item> getChar </item>
<item> getContents </item>
<item> getLine </item>
<item> head </item>
<item> id </item>
<item> inRange </item>
<item> index </item>
<item> init </item>
<item> intToDigit </item>
<item> interact </item>
<item> ioError </item>
<item> isAlpha </item>
<item> isAlphaNum </item>
<item> isAscii </item>
<item> isControl </item>
<item> isDenormalized </item>
<item> isDigit </item>
<item> isHexDigit </item>
<item> isIEEE </item>
<item> isInfinite </item>
<item> isLower </item>
<item> isNaN </item>
<item> isNegativeZero </item>
<item> isOctDigit </item>
<item> isPrint </item>
<item> isSpace </item>
<item> isUpper </item>
<item> iterate </item>
<item> last </item>
<item> lcm </item>
<item> length </item>
<item> lex </item>
<item> lexDigits </item>
<item> lexLitChar </item>
<item> lines </item>
<item> log </item>
<item> logBase </item>
<item> lookup </item>
<item> map </item>
<item> mapM </item>
<item> mapM_ </item>
<item> max </item>
<item> maxBound </item>
<item> maximum </item>
<item> maybe </item>
<item> min </item>
<item> minBound </item>
<item> minimum </item>
<item> mod </item>
<item> negate </item>
<item> not </item>
<item> notElem </item>
<item> null </item>
<item> numerator </item>
<item> odd </item>
<item> or </item>
<item> ord </item>
<item> otherwise </item>
<item> pi </item>
<item> pred </item>
<item> primExitWith </item>
<item> print </item>
<item> product </item>
<item> properFraction </item>
<item> putChar </item>
<item> putStr </item>
<item> putStrLn </item>
<item> quot </item>
<item> quotRem </item>
<item> range </item>
<item> rangeSize </item>
<item> read </item>
<item> readDec </item>
<item> readFile </item>
<item> readFloat </item>
<item> readHex </item>
<item> readIO </item>
<item> readInt </item>
<item> readList </item>
<item> readLitChar </item>
<item> readLn </item>
<item> readOct </item>
<item> readParen </item>
<item> readSigned </item>
<item> reads </item>
<item> readsPrec </item>
<item> realToFrac </item>
<item> recip </item>
<item> rem </item>
<item> repeat </item>
<item> replicate </item>
<item> return </item>
<item> reverse </item>
<item> round </item>
<item> scaleFloat </item>
<item> scanl </item>
<item> scanl1 </item>
<item> scanr </item>
<item> scanr1 </item>
<item> seq </item>
<item> sequence </item>
<item> sequence_ </item>
<item> show </item>
<item> showChar </item>
<item> showInt </item>
<item> showList </item>
<item> showLitChar </item>
<item> showParen </item>
<item> showSigned </item>
<item> showString </item>
<item> shows </item>
<item> showsPrec </item>
<item> significand </item>
<item> signum </item>
<item> sin </item>
<item> sinh </item>
<item> snd </item>
<item> span </item>
<item> splitAt </item>
<item> sqrt </item>
<item> subtract </item>
<item> succ </item>
<item> sum </item>
<item> tail </item>
<item> take </item>
<item> takeWhile </item>
<item> tan </item>
<item> tanh </item>
<item> threadToIOResult </item>
<item> toEnum </item>
<item> toInt </item>
<item> toInteger </item>
<item> toLower </item>
<item> toRational </item>
<item> toUpper </item>
<item> truncate </item>
<item> uncurry </item>
<item> undefined </item>
<item> unlines </item>
<item> until </item>
<item> unwords </item>
<item> unzip </item>
<item> unzip3 </item>
<item> userError </item>
<item> words </item>
<item> writeFile </item>
<item> zip </item>
<item> zip3 </item>
<item> zipWith </item>
<item> zipWith3 </item>
</list>
<list name="type constructors">
<item> Bool </item>
<item> Char </item>
<item> Double </item>
<item> Either </item>
<item> Float </item>
<item> IO </item>
<item> Integer </item>
<item> Int </item>
<item> Maybe </item>
<item> Ordering </item>
<item> Rational </item>
<item> Ratio </item>
<item> ReadS </item>
<item> ShowS </item>
<item> String </item>
</list>
<list name="classes">
<item> Bounded </item>
<item> Enum </item>
<item> Eq </item>
<item> Floating </item>
<item> Fractional </item>
<item> Functor </item>
<item> Integral </item>
<item> Ix </item>
<item> Monad </item>
<item> Num </item>
<item> Ord </item>
<item> Read </item>
<item> RealFloat </item>
<item> RealFrac </item>
<item> Real </item>
<item> Show </item>
</list>
<list name="data constructors">
<item> EQ </item>
<item> False </item>
<item> GT </item>
<item> Just </item>
<item> LT </item>
<item> Left </item>
<item> Nothing </item>
<item> Right </item>
<item> True </item>
</list>
<contexts>
<context attribute="Comment" lineEndContext="#stay" name="literate-normal">
<DetectChar attribute="Special" context="normal" char="&gt;" column="0"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="normal">
<Detect2Chars attribute="Comment" context="comment_multi_line" char="{" char1="-" />
<Detect2Chars attribute="Comment" context="comment_single_line" char="-" char1="-" />
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Class" context="#stay" String="classes" />
<keyword attribute="Type Constructor" context="#stay" String="type constructors" />
<keyword attribute="Function" context="#stay" String="functions" />
<keyword attribute="Data Constructor" context="#stay" String="data constructors" />
<DetectChar attribute="String" context="string" char="&quot;" />
<DetectChar attribute="Infix Operator" context="infix" char="`"/>
<RegExpr attribute="Normal Text" context="#stay" String="\w[']+" />
<DetectChar attribute="Char" context="single_char" char="'" />
<RegExpr attribute="Function Definition" context="#stay" String="\s*[a-z_]+\w*'*\s*::" />
<Float attribute="Float" context="#stay" />
<Int attribute="Decimal" context="#stay" />
</context>
<context attribute="Comment" lineEndContext="#pop#pop" name="comment_single_line" />
<context attribute="Comment" lineEndContext="#stay" name="comment_multi_line">
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
</context>
<context attribute="String" lineEndContext="#stay" name="string">
<RegExpr attribute="String" context="#stay" String="\\." />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context attribute="Infix Operator" lineEndContext="#stay" name="infix">
<DetectChar attribute="Infix Operator" context="#pop" char="`"/>
</context>
<context attribute="Char" lineEndContext="#pop" name="single_char">
<RegExpr attribute="Char" context="#stay" String="\\." />
<DetectChar attribute="Char" context="#pop" char="'" />
</context>
<context attribute="Function Definition" lineEndContext="#pop" name="function_definition">
<DetectChar attribute="Function Definition" context="#pop" char=";" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Function Definition" defStyleNum="dsFunction"/>
<itemData name="Class" defStyleNum="dsKeyword"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Constructor" defStyleNum="dsOthers"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Data Constructor" defStyleNum="dsKeyword"/>
<itemData name="Type Constructor" defStyleNum="dsDataType"/>
<itemData name="Infix Operator" defStyleNum="dsOthers"/>
<itemData name="Special" defStyleNum="dsChar"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1" />
</general>
<language name="Literate Haskell" version="2.0.1" kateversion="2.3" section="Sources" extensions="*.lhs" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell">
<highlighting>
<contexts>
<context attribute="Text" lineEndContext="#stay" name="text">
<DetectChar attribute="BirdTrack" context="normal" char="&gt;" column="0"/>
<DetectChar attribute="BirdTrack" context="normal" char="&lt;" column="0"/>
<StringDetect attribute="Text" context="normals" String="&#92;begin&#123;code&#125;"/>
<StringDetect attribute="Text" context="normals" String="&#92;begin&#123;spec&#125;"/>
</context>
<context attribute="Normal" lineEndContext="#pop" name="normal">
<RegExpr attribute="Comment" context="comments'" String="\{-[^#]" />
<IncludeRules context="##Haskell" />
</context>
<context attribute="Normal" lineEndContext="#stay" name="normals">
<StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;code&#125;"/>
<StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;spec&#125;"/>
<IncludeRules context="##Haskell" />
</context>
<context attribute="Comment" lineEndContext="uncomments" name="comments'" >
<Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
</context>
<context attribute="Text" lineEndContext="#stay" name="uncomments">
<DetectChar attribute="BirdTrack" context="recomments" char="&gt;" column="0"/>
<DetectChar attribute="BirdTrack" context="recomments" char="&lt;" column="0"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="recomments">
<Detect2Chars attribute="Comment" context="#pop#pop#pop" char="-" char1="}" />
</context>
</contexts>
<itemDatas>
<itemData name="Text" defStyleNum="dsNormal" spellChecking="true" />
<itemData name="BirdTrack" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Comment" defStyleNum="dsComment" />
</itemDatas>
</highlighting>
</language>

@ -35,7 +35,7 @@
- improved highlighting
-->
<language name="Lua" version="1.03" kateversion="2.4" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
<language name="Lua" version="1.04" indenter="lua" kateversion="2.4" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
<highlighting>
<list name="keywords">
<item> and </item>
@ -213,6 +213,10 @@
</list>
<contexts>
<context name="Base" attribute="Comment" lineEndContext="Normal">
<RegExpr attribute="Comment" context="Normal" String="#!.*$" column="0" />
<RegExpr attribute="Comment" context="Normal" String="^.*$" lookAhead="true" />
</context>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="##DoxygenLua" />
<keyword attribute="Error" context="#stay" String="deprecated" />

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
GNU M4 syntax highlightning.
Corresponds to GNU M4 version 1.4.16.
For KatePart (Kate, KWrite etc) copy this file to
~/.tde/share/apps/katepart/syntax/
For Qt Creator copy this file to
~/.config/Nokia/qtcreator/generic-highlighter/
Copyright (c) 2011, Cybernetica AS ( http://www.cyber.ee/ )
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Cybernetica AS nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL Cybernetica AS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<language name="GNU M4" version="1.0" section="Sources" kateversion="2.5" extensions="*.m4;" author="Jaak Ristioja" license="New BSD License">
<highlighting>
<list name="optbuiltins">
<item> __gnu__ </item>
<item> __os2__ </item>
<item> os2 </item>
<item> __unix__ </item>
<item> unix </item>
<item> __windows__ </item>
<item> windows </item>
</list>
<list name="m4_optbuiltins">
<item> m4___gnu__ </item>
<item> m4___os2__ </item>
<item> m4_os2 </item>
<item> m4___unix__ </item>
<item> m4_unix </item>
<item> m4___windows__ </item>
<item> m4_windows </item>
</list>
<list name="builtins">
<item> __file__ </item>
<item> __line__ </item>
<item> __program__ </item>
<item> builtin </item>
<item> changecom </item>
<item> changequote </item>
<item> changeword </item>
<item> debugfile </item>
<item> debugmode </item>
<item> decr </item>
<item> define </item>
<item> defn </item>
<item> divert </item>
<item> divnum </item>
<item> dnl </item>
<item> dumpdef </item>
<item> errprint </item>
<item> esyscmd </item>
<item> eval </item>
<item> format </item>
<item> ifdef </item>
<item> ifelse </item>
<item> include </item>
<item> incr </item>
<item> index </item>
<item> indir </item>
<item> len </item>
<item> m4exit </item>
<item> m4wrap </item>
<item> maketemp </item>
<item> mkstemp </item>
<item> patsubst </item>
<item> popdef </item>
<item> pushdef </item>
<item> regexp </item>
<item> shift </item>
<item> sinclude </item>
<item> substr </item>
<item> syscmd </item>
<item> sysval </item>
<item> traceon </item>
<item> traceoff </item>
<item> translit </item>
<item> undefine </item>
<item> undivert </item>
</list>
<list name="m4_builtins">
<item> m4___file__ </item>
<item> m4___line__ </item>
<item> m4___program__ </item>
<item> m4_builtin </item>
<item> m4_changecom </item>
<item> m4_changequote </item>
<item> m4_changeword </item>
<item> m4_debugfile </item>
<item> m4_debugmode </item>
<item> m4_decr </item>
<item> m4_define </item>
<item> m4_defn </item>
<item> m4_divert </item>
<item> m4_divnum </item>
<item> m4_dnl </item>
<item> m4_dumpdef </item>
<item> m4_errprint </item>
<item> m4_esyscmd </item>
<item> m4_eval </item>
<item> m4_format </item>
<item> m4_ifdef </item>
<item> m4_ifelse </item>
<item> m4_include </item>
<item> m4_incr </item>
<item> m4_index </item>
<item> m4_indir </item>
<item> m4_len </item>
<item> m4_m4exit </item>
<item> m4_m4wrap </item>
<item> m4_maketemp </item>
<item> m4_mkstemp </item>
<item> m4_patsubst </item>
<item> m4_popdef </item>
<item> m4_pushdef </item>
<item> m4_regexp </item>
<item> m4_shift </item>
<item> m4_sinclude </item>
<item> m4_substr </item>
<item> m4_syscmd </item>
<item> m4_sysval </item>
<item> m4_traceon </item>
<item> m4_traceoff </item>
<item> m4_translit </item>
<item> m4_undefine </item>
<item> m4_undivert </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text">
<keyword attribute="Builtins" String="builtins" context="#stay"/>
<keyword attribute="Builtins (prefixed with m4_)" String="m4_builtins" context="#stay"/>
<keyword attribute="Optional builtins" String="optbuiltins" context="#stay"/>
<keyword attribute="Optional builtins (prefixed with m4_)" String="m4_optbuiltins" context="#stay"/>
<RegExpr attribute="Normal Text" String="[a-zA-Z_]\w+" context="#stay"/>
<RegExpr attribute="Special arguments to macros" String="\$([1-9]\d*|0|\#|\*|\@|\{([1-9]\d*|0)\})" context="#stay"/>
<RegExpr attribute="Int" String="([1-9]\d*|0|0x[0-9abcdefABCDEF]+)" context="#stay"/>
<RegExpr attribute="Comment" String="#.*$" context="#stay"/>
<DetectChar attribute="Commas" char="," context="#stay"/>
<DetectChar attribute="Operators" char="(" context="inparenthesis" beginRegion="parenthesis"/>
<DetectChar attribute="Operators" char=")" context="#pop" endRegion="parenthesis"/>
<RegExpr attribute="Operators" String="[+*/%\|=\!&lt;&gt;!^&amp;~-]" context="#stay"/>
</context>
<context name="inparenthesis" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
<IncludeRules context="Normal Text" />
</context>
</contexts>
<itemDatas>
<itemData name="Builtins" defStyleNum="dsKeyword"/>
<itemData name="Builtins (prefixed with m4_)" defStyleNum="dsKeyword"/>
<itemData name="Optional builtins" defStyleNum="dsKeyword"/>
<itemData name="Optional builtins (prefixed with m4_)" defStyleNum="dsKeyword"/>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Special arguments to macros" defStyleNum="dsChar"/>
<itemData name="Int" defStyleNum="dsDecVal"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Commas" defStyleNum="dsChar"/>
<itemData name="Operators" defStyleNum="dsChar"/>
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="1" />
<comments>
<comment name="singleLine" start="#" position="afterwhitespace"/>
</comments>
</general>
</language>

@ -3,7 +3,8 @@
<!-- Makefile syntaxfile v0.9 by Per Wigren <wigren@home.se> -->
<!-- Modified by Joseph Wenninger <jowenn@kde.org> -->
<!-- Modified by Rui Santana <santana.rui@gmail.com> -->
<language name="Makefile" version="1.10" kateversion="2.4" section="Other" extensions="GNUmakefile;Makefile*;makefile*" mimetype="text/x-makefile" author="Per Wigren (wigren@home.se)" license="">
<!-- small priority to allow for example Makefile.cpp to be detected as cpp file -->
<language name="Makefile" version="1.12" kateversion="2.4" section="Other" extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*" mimetype="text/x-makefile" author="Per Wigren (wigren@home.se)" license="">
<highlighting>
<list name = "keywords">
<item> include </item>
@ -57,11 +58,12 @@
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<RegExpr attribute="Variable" context="Value" String="[_\w\d]*\s*(?=:=|=)"/>
<RegExpr attribute="Variable" context="Value" String="[_\w\d]*\s*(?=:=|=|\+=|\?=)"/>
<RegExpr attribute="Target" context="#stay" String="[_\w\d-]*\s*:" firstNonSpace="true"/>
<RegExpr attribute="Section" context="#stay" String="^[.].*:"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<RegExpr attribute="Operator" context="VarFromNormal" String="[$][\({]"/>
<Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/>
<Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
<Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
<AnyChar attribute="Operator" context="#stay" String="+*=%$():\&#059;"/>
@ -74,32 +76,47 @@
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context name="Value" attribute="String" lineEndContext="#stay">
<RegExpr attribute="Operator" String="\\$" context="#stay"/>
<RegExpr attribute="String" String="[^\\]?$" context="#pop"/>
<RegExpr attribute="Operator" String="[$][\({]" context="VarFromValue"/>
<context name="Value" attribute="String" lineEndContext="#pop">
<LineContinue attribute="Operator"/>
<Detect2Chars attribute="Operator" context="VarFromValue{" char="$" char1="{"/>
<Detect2Chars attribute="Operator" context="VarFromValue(" char="$" char1="("/>
<RegExpr attribute="Special" context="#pop" String="@[-_\d\w]*@" />
<DetectChar attribute="Operator" char="&#059;" context="#pop"/>
</context>
<context name="VarFromValue" attribute="Variable" lineEndContext="#stay">
<RegExpr attribute="Operator" String="[\)}](?=/)" context="#pop"/>
<RegExpr attribute="Operator" String="[\)}][^$]" context="#pop"/>
<RegExpr attribute="Operator" String="[\)}]$" context="#pop#pop"/>
<context name="VarFromValue(" attribute="Variable" lineEndContext="#stay">
<DetectChar attribute="Operator" char=")" context="#pop"/>
</context>
<context name="VarFromNormal" attribute="Variable" lineEndContext="#stay">
<keyword attribute="Keyword" context="FunctionCall" String="functions"/>
<AnyChar attribute="Operator" String=")}" context="#pop"/>
<context name="VarFromValue{" attribute="Variable" lineEndContext="#stay">
<DetectChar attribute="Operator" char="}" context="#pop"/>
</context>
<context name="FunctionCall" attribute="String" lineEndContext="#stay">
<RegExpr attribute="Operator" context="VarFromNormal" String="[$][\({]"/>
<AnyChar attribute="Operator" String=")}" context="#pop#pop"/>
<context name="VarFromNormal(" attribute="Variable" lineEndContext="#stay">
<keyword attribute="Keyword" context="FunctionCall(" String="functions"/>
<DetectChar attribute="Operator" char=")" context="#pop"/>
</context>
<context name="VarFromNormal{" attribute="Variable" lineEndContext="#stay">
<keyword attribute="Keyword" context="FunctionCall{" String="functions"/>
<DetectChar attribute="Comment" char="}" context="#pop"/>
</context>
<context name="FunctionCall(" attribute="String" lineEndContext="#stay">
<Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/>
<Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/>
<DetectChar attribute="Operator" char=")" context="#pop#pop"/>
</context>
<context name="FunctionCall{" attribute="String" lineEndContext="#stay">
<Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/>
<Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/>
<DetectChar attribute="Operator" char="}" context="#pop#pop"/>
</context>
<context name="Commands" attribute="Normal Text" lineEndContext="#pop">
<RegExpr attribute="Operator" context="VarFromNormal" String="[$][\({]"/>
<Detect2Chars attribute="Operator" context="VarFromNormal{" char="$" char1="{"/>
<Detect2Chars attribute="Operator" context="VarFromNormal(" char="$" char1="("/>
<RegExpr attribute="Commands" context="#pop" String="[_\w-]*\b"/>
</context>

@ -1,6 +1,6 @@
<?xml version = '1.0' encoding = 'UTF-8'?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="MediaWiki" section="Markup" version="1.02" kateversion="2.4" extensions="" mimetype="" license="FDL" >
<language name="MediaWiki" section="Markup" version="1.03" kateversion="2.4" extensions="" mimetype="" license="FDL" >
<highlighting>
<contexts>
<context attribute="Normal" lineEndContext="#stay" name="normal" >
@ -45,12 +45,12 @@
</context>
<context attribute="Link" lineEndContext="#stay" name="URL" >
<DetectChar char="]" context="#pop" attribute="Wiki-Tag" />
<DetectChar char="'" context="Error" attribute="Error" />
<!-- <DetectChar char="'" context="Error" attribute="Error" /> -->
</context>
<context attribute="Link" lineEndContext="#stay" name="WikiLink" >
<DetectChar char="|" attribute="Wiki-Tag" context="WikiLinkDescription" />
<Detect2Chars char="]" char1="]" context="#pop" attribute="Wiki-Tag" />
<DetectChar char="'" context="Error" attribute="Error" />
<!-- <DetectChar char="'" context="Error" attribute="Error" /> -->
</context>
<context attribute="Link" lineEndContext="#stay" name="WikiLinkDescription" >
<Detect2Chars char="]" char1="]" context="#pop" attribute="Wiki-Tag" lookAhead="true" />
@ -62,7 +62,7 @@
<context attribute="Error" lineEndContext="#pop" name="Error" />
<context attribute="Link" lineEndContext="#stay" name="Template" >
<Detect2Chars char="}" char1="}" context="#pop" attribute="Wiki-Tag" />
<DetectChar char="'" context="Error" attribute="Error" />
<!-- <DetectChar char="'" context="Error" attribute="Error" /> -->
</context>
<context attribute="NoWiki" lineEndContext="#stay" name="NoWiki" >
<RegExpr String="&lt;!--[^-]*--&gt;" attribute="NoWiki" />

File diff suppressed because it is too large Load Diff

@ -6,6 +6,8 @@
Created: Nicola Gigante <nicola.gigante@gmail.com>
Changes: Bogdan Drozdowski (bogdandr@op.pl)
Version: 1.3
Lyle Putnam (lcputnam@gmail.com)
Version: 1.4
Changes from 1.0:
15/01/2006: version 1.1
@ -18,6 +20,9 @@ Changes from 1.0:
Corrections in register list and a few new ones (not 64-bit).
Changed regexes for hex, octal and bin numbers. Now words like
"change" and "blah" will NOT have the "ch" and "ah" coloured.
24/07/2011: Version 1.4 from Lyle Putnam (lcputnam@gmail.com):
The above change to fix the regex for hex numbers was incorrect on Kate
3.6.2. Fixed.
GNU GENERAL PUBLIC LICENCE
@ -35,7 +40,7 @@ You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-->
<language name="Intel x86 (NASM)" section="Assembler" version="1.30" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPL">
<language name="Intel x86 (NASM)" section="Assembler" version="1.40" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPL">
<highlighting>
<list name="registers">
<!-- General purpose registers -->
@ -845,7 +850,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<!-- The NASM's CPU directive -->
<RegExpr attribute="NASM Keywords" context="#stay" String="cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*"/>
<!-- hexadecimal numbers -->
<RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[a-f0-9]+h)([ \t,]+|$)"/>
<RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[0-9]+[a-f0-9]*h)([ \t,]+|$)"/>
<!-- octal and binary numbers -->
<RegExpr attribute="BaseN" context="#stay" insensitive="TRUE" String="(^|[ \t,]+)([0-7]+(q|o)|[01]+b)([ \t,]+|$)"/>
<DetectChar attribute="Number" context="#stay" char="$"/>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Objective-C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.mm;*.M;*.h" mimetype="text/x-objcpp-src;text/x-c-hdr" author="Gennady Telegin (gepo@lvk.cs.msu.su">
<language name="Objective-C++" version="1.01" kateversion="2.4" section="Sources" extensions="*.mm;*.M;*.h" mimetype="text/x-objcpp-src;text/x-c-hdr" author="Gennady Telegin (gepo@lvk.cs.msu.su">
<highlighting>
<list name="keywords">
<item> break </item>
@ -79,9 +79,6 @@
<item> or_eq </item>
<item> xor </item>
<item> xor_eq </item>
<item> except </item>
<item> finally </item>
<item> xalloc </item>
</list>
<list name="extensions">
<item> K_DCOP </item>

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="OORS" version="1.0" kateversion="2.4" section="Sources" extensions="*.oors" author="Gernot Gebhard (gebhard@cs.uni-sb.de)" license="LGPL">
<highlighting>
<list name="oors">
<item>allow</item>
<item>apply</item>
<item>copy</item>
<item>condition</item>
<item>deny</item>
<item>extends</item>
<item>graph</item>
<item>linear</item>
<item>profile</item>
<item>rule</item>
<item>ruleset</item>
<item>search</item>
<item>unsafe</item>
</list>
<contexts>
<context name="Main" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Directive" context="#stay" String="oors" />
<IncludeRules context="Comment" />
<DetectSpaces />
<DetectChar attribute="Normal Text" context="Ordered" char="[" beginRegion="Ordered" />
<DetectChar attribute="Normal Text" context="Unordered" char="{" beginRegion="Unordered" />
<Detect2Chars attribute="Content-Type Delimiter" context="Header" char="%" char1="{" beginRegion="Header" />
<Detect2Chars attribute="Content-Type Delimiter" context="Header" char="%" char1="%" beginRegion="Header" />
</context>
<context name="Header" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="Comment" />
<Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="}" endRegion="Header" />
<Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="%" endRegion="Header" />
<IncludeRules context="##C++" />
</context>
<context name="Ordered" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Directive" context="#stay" String="oors" />
<IncludeRules context="Comment" />
<IncludeRules context="Accessor" />
<DetectChar attribute="Normal Text" context="Ordered" char="[" beginRegion="Ordered" />
<DetectChar attribute="Normal Text" context="Unordered" char="{" beginRegion="Unordered" />
<DetectChar attribute="Normal Text" context="#pop" char="]" endRegion="Ordered" />
<IncludeRules context="##C++" />
</context>
<context name="Unordered" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Directive" context="#stay" String="oors" />
<IncludeRules context="Comment" />
<IncludeRules context="Accessor" />
<DetectChar attribute="Normal Text" context="Ordered" char="[" beginRegion="Ordered" />
<DetectChar attribute="Normal Text" context="Unordered" char="{" beginRegion="Unordered" />
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="Unordered" />
<IncludeRules context="##C++" />
</context>
<context name="Accessor" attribute="Directive">
<Detect2Chars attribute="Directive" context="#stay" char="$" char1="$" />
<RegExpr attribute="Directive" context="#stay" String="\$-?[_a-zA-Z1-9][_a-zA-Z0-9]*" />
</context>
<context name="Comment" attribute="Comment">
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="CommentStar" char="/" char1="*" />
<Detect2Chars attribute="Comment" context="CommentSlash" char="/" char1="/" />
</context>
<context name="CommentStar" attribute="Comment" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
</context>
<context name="CommentSlash" attribute="Comment" lineEndContext="#stay">
<RegExpr attribute="Comment" context="#pop" String="[^\\]$" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Definition" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Content-Type Delimiter" defStyleNum="dsBaseN" bold="1" />
<itemData name="Directive" defStyleNum="dsKeyword"/>
<itemData name="Rule" defStyleNum="dsString" />
<itemData name="Backslash Code" defStyleNum="dsString" bold="1" />
<itemData name="Alert" defStyleNum="dsAlert" />
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
</itemDatas>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="1" />
</general>
</highlighting>
</language>

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Pango" version="0.1" kateversion="2.4" section="Markup" extensions="" mimetype="" author="Jonathan Schmidt-Domniné &lt;devel@the-user.org&gt;" license="LGPL" priority="10">
<highlighting>
<list name="tags">
<item> &lt;span </item>
<item> &lt;b </item>
<item> &lt;big </item>
<item> &lt;i </item>
<item> &lt;s </item>
<item> &lt;sub </item>
<item> &lt;sup </item>
<item> &lt;small </item>
<item> &lt;tt </item>
<item> &lt;u </item>
</list>
<list name="endtags">
<item> &lt;/span&gt; </item>
<item> &lt;/b&gt; </item>
<item> &lt;/big&gt; </item>
<item> &lt;/i&gt; </item>
<item> &lt;/s&gt; </item>
<item> &lt;/sub&gt; </item>
<item> &lt;/sup&gt; </item>
<item> &lt;/small&gt; </item>
<item> &lt;/tt&gt; </item>
<item> &lt;/u&gt; </item>
</list>
<list name="int_attributes">
<item> size= </item>
<item> font_size= </item>
<item> rise= </item>
<item> letter_spacing= </item>
</list>
<list name="plain_attributes">
<item> font= </item>
<item> font_desc= </item>
<item> font_family= </item>
<item> face= </item>
<item> lang= </item>
</list>
<list name="color_attributes">
<item> strikethrough_color= </item>
<item> foreground= </item>
<item> fgcolor= </item>
<item> color= </item>
<item> background= </item>
<item> bgcolor= </item>
<item> underline_color= </item>
</list>
<list name="colors">
<item> 'aqua' </item>
<item> 'black' </item>
<item> 'blue' </item>
<item> 'cyan' </item>
<item> 'fuchsia' </item>
<item> 'gray' </item>
<item> 'green' </item>
<item> 'lime' </item>
<item> 'maroon' </item>
<item> 'navy' </item>
<item> 'olive' </item>
<item> 'purple' </item>
<item> 'red' </item>
<item> 'silver' </item>
<item> 'teal' </item>
<item> 'white' </item>
<item> 'yellow' </item>
</list>
<contexts>
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindPango" />
</context>
<context name="FindPango" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces/>
<RegExpr attribute="Element" context="#stay" String="&lt;/(span|b|big|i|s|sub|sup|small|tt|u)&gt;" endRegion="pango_node" />
<RegExpr attribute="Element" context="FindAttributes" String="&lt;(span|b|big|i|s|sub|sup|small|tt|u)" beginRegion="pango_node" />
<DetectIdentifier />
</context>
<context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces/>
<RegExpr attribute="Key" context="InGravity" String="gravity=" />
<RegExpr attribute="Key" context="InGravityHint" String="gravity_hint=" />
<RegExpr attribute="Key" context="InStretch" String="(font_)?stretch=" />
<RegExpr attribute="Key" context="InBoolean" String="(strikethrough|fallback)=" />
<RegExpr attribute="Key" context="InStyle" String="(font_)?style=" />
<RegExpr attribute="Key" context="InUnderline" String="underline=" />
<RegExpr attribute="Key" context="InVariant" String="(font_)?variant=" />
<RegExpr attribute="Key" context="InWeight" String="(font_)?weight=" />
<RegExpr attribute="Key" context="InInt" String="(size|font_size|rise|letter_spacing)=" />
<RegExpr attribute="Key" context="InString" String="(font|font_desc|font_family|face|lang)=" />
<RegExpr attribute="Key" context="InColor" String="(strikethrough_color|foreground|fgcolor|color|background|bgcolor|underline_color)=" />
<DetectChar attribute="Element" context="#pop" char="&gt;" />
<RegExpr attribute="Error" context="#stay" String="\S" />
</context>
<context name="InGravity" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(south|east|north|west|auto)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InGravityHint" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(natural|strong|line)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InStretch" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(ultracondensed|extracondensed|condensed|semicondensed|normal|semiexpanded|expanded|extraexpanded|ultraexpanded)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InBoolean" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(false|true)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InStyle" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(normal|oblique|italic)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InUnderline" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(none|single|double|low|error)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InVariant" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'(normal|smallcaps)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InWeight" attribute="String" lineEndContext="#stay">
<RegExpr attribute="Decimal" context="#pop" String="'[0-9]*'" />
<RegExpr attribute="String" context="#pop" String="'(ultralight|light|normal|bold|ultrabold|heavy)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InColor" attribute="Color" lineEndContext="#stay">
<RegExpr attribute="Color" context="#pop" String="'(#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?|aqua|black|blue|cyan|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InInt" attribute="Decimal" lineEndContext="#stay">
<RegExpr attribute="Decimal" context="#pop" String="'(-?)[0-9]*'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
<context name="InString" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" context="#pop" String="'[^']*'" />
<RegExpr attribute="Error" context="#pop#pop" String="\S" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Element" defStyleNum="dsKeyword" />
<itemData name="Key" defStyleNum="dsOthers" />
<itemData name="Value" defStyleNum="dsString" color="#a00" />
<itemData name="Decimal" defStyleNum="dsDecVal" />
<itemData name="Color" defStyleNum="dsFloat" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Error" defStyleNum="dsError" />
</itemDatas>
</highlighting>
<general>
<indentation mode="xml" />
</general>
</language>

@ -39,7 +39,7 @@
Enhance tr/// and y/// support.
-->
<language name="Perl" version="1.23" kateversion="2.4" section="Scripts" extensions="*.pl;*.pm" mimetype="application/x-perl;text/x-perl" author="Anders Lund (anders@alweb.dk)" license="LGPL">
<language name="Perl" version="1.25" kateversion="2.4" section="Scripts" extensions="*.pl;*.pm" mimetype="application/x-perl;text/x-perl" author="Anders Lund (anders@alweb.dk)" license="LGPL">
<highlighting>
<list name="keywords">
<item> if </item>
@ -85,6 +85,7 @@
<item> **= </item>
<item> |= </item>
<item> ||= </item>
<item> //= </item>
<item> &amp;= </item>
<item> &amp;&amp;= </item>
<item> ?= </item>
@ -94,6 +95,7 @@
<!-- <item> / </item>//-->
<item> % </item>
<item> || </item>
<item> // </item>
<item> &amp;&amp; </item>
<item> | </item>
<item> &amp; </item>
@ -362,8 +364,9 @@
<RegExpr attribute="Operator" context="find_here_document" String="\s*&lt;&lt;(?=\w+|\s*[&quot;'])" beginRegion="HereDocument" />
<RegExpr attribute="Normal Text" context="#stay" String="\s*\}\s*/" endRegion="Block"/>
<RegExpr attribute="Normal Text" context="#stay" String="\s*[)]\s*/" />
<RegExpr attribute="Normal Text" context="#stay" String="\s*\}\s*/{1,2}" endRegion="Block"/>
<RegExpr attribute="Normal Text" context="#stay" String="\s*[)\]]\s*/{1,2}" />
<RegExpr attribute="Function" context="sub_name_def" String="\w+::" />
<RegExpr attribute="Normal Text" context="#stay" String="\w+[=]" />
@ -661,7 +664,7 @@
<RegExpr attribute="Data Type" context="var_detect" String="\$\$[\$\w_]" />
<RegExpr attribute="Data Type" context="var_detect" String="\$[#_][\w_]" />
<RegExpr attribute="Data Type" context="var_detect" String="\$+::" />
<RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
<RegExpr attribute="Special Variable" context="var_detect" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
<RegExpr attribute="Data Type" context="var_detect" String="[\$@%]\{[\w_]+\}" />
<AnyChar attribute="Data Type" context="var_detect" String="$@%" />
<RegExpr attribute="Data Type" context="var_detect" String="\*[a-zA-Z_]+" />
@ -679,7 +682,7 @@
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$+::" />
<RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]\{[\w_]+\}" />
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]" />
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]" /><!-- AnyChar! -->
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\*\w+" />
<AnyChar attribute="Operator" context="#pop" String="$@%*" />
</context>
@ -762,10 +765,10 @@
</context>
<context name="slash_safe_escape" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<RegExpr attribute="Normal Text" context="#pop" String="\s*\]?\s*/" />
<RegExpr attribute="Normal Text" context="#pop" String="\s*\}?\s*/" endRegion="Block" />
<RegExpr attribute="Normal Text" context="#pop" String="\s*\)?\s*/" />
<keyword attribute="Keyword" context="#pop" String="keywords" />
<DetectSpaces />
<RegExpr attribute="Normal Text" context="#pop" String="\}\s*/{1,2}" endRegion="Block"/>
<RegExpr attribute="Normal Text" context="#pop" String="[)\]]?\s*/{1,2}" />
<keyword attribute="Keyword" context="#pop" String="keywords" /><!-- wonder why??? -->
</context>
<context name="package_qualified_blank" attribute="Normal Text" lineEndContext="#stay">

File diff suppressed because it is too large Load Diff

@ -4,7 +4,16 @@
<!-- Python syntax highlighting v1.9 by Michael Bueker (improved keyword differentiation) -->
<!-- Python syntax highlighting v1.97 by Paul Giannaros -->
<!-- Python syntax highlighting v1.99 by Primoz Anzur -->
<language name="Python" version="1.99" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
<!-- Python syntax highlighting v2.01 by Paul Giannaros:
* full format character support
* unicode string modifier supported -->
<!-- v2.02 remove RegExpr for nums and make indent consistent -->
<!-- v2.03 highlight decorators, remove operator regex, don't highlight parens as operators -->
<!-- v2.04 make alerts visible even if they are directly after ''' or # without a space -->
<!-- v2.06 decorator names can (and often do) contain periods -->
<!-- v2.07 add support for %prog and co, see bug 142832 -->
<!-- v2.08 add missing overloaders, new Python 3 statements, builtins, and keywords -->
<language name="Python" version="2.11" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
<highlighting>
<list name="prep">
<item> import </item>
@ -17,10 +26,10 @@
<item> del </item>
<item> global </item>
<item> lambda </item>
<item> nonlocal </item>
</list>
<list name="operators">
<item> and </item>
<item> assert </item>
<item> in </item>
<item> is </item>
<item> not </item>
@ -31,6 +40,7 @@
<item> print </item>
</list>
<list name="flow">
<item> assert </item>
<item> break </item>
<item> continue </item>
<item> elif </item>
@ -44,6 +54,7 @@
<item> return </item>
<item> try </item>
<item> while </item>
<item> with </item>
<item> yield </item>
</list>
<list name="builtinfuncs">
@ -55,6 +66,7 @@
<item> any </item>
<item> apply </item>
<item> basestring </item>
<item> bin </item>
<item> bool </item>
<item> buffer </item>
<item> callable </item>
@ -74,11 +86,13 @@
<item> file </item>
<item> filter </item>
<item> float </item>
<item> format </item>
<item> frozenset </item>
<item> getattr </item>
<item> globals </item>
<item> hasattr </item>
<item> hash </item>
<item> help </item>
<item> hex </item>
<item> id </item>
<item> input </item>
@ -94,6 +108,7 @@
<item> map </item>
<item> max </item>
<item> min </item>
<item> next </item>
<item> object </item>
<item> oct </item>
<item> open </item>
@ -130,6 +145,8 @@
<item> False </item>
<item> NotImplemented </item>
<item> Ellipsis </item>
<item> __debug__ </item>
<item> __file__ </item>
</list>
<list name="bindings">
<item> SIGNAL </item>
@ -153,6 +170,79 @@
<item>__hash__</item>
<item>__nonzero__</item>
<item>__unicode__</item>
<item>__getattr__</item>
<item>__setattr__</item>
<item>__delattr__</item>
<item>__getattribute__</item>
<item>__get__</item>
<item>__set__</item>
<item>__delete__</item>
<item>__call__</item>
<item>__len__</item>
<item>__getitem__</item>
<item>__setitem__</item>
<item>__delitem__</item>
<item>__iter__</item>
<item>__reversed__</item>
<item>__contains__</item>
<item>__getslice__</item>
<item>__setslice__</item>
<item>__delslice__</item>
<item>__add__</item>
<item>__sub__</item>
<item>__mul__</item>
<item>__floordiv__</item>
<item>__mod__</item>
<item>__divmod__</item>
<item>__pow__</item>
<item>__lshift__</item>
<item>__rshift__</item>
<item>__and__</item>
<item>__xor__</item>
<item>__or__</item>
<item>__div__</item>
<item>__truediv__</item>
<item>__radd__</item>
<item>__rsub__</item>
<item>__rmul__</item>
<item>__rdiv__</item>
<item>__rtruediv__</item>
<item>__rfloordiv__</item>
<item>__rmod__</item>
<item>__rdivmod__</item>
<item>__rpow__</item>
<item>__rlshift__</item>
<item>__rrshift__</item>
<item>__rand__</item>
<item>__rxor__</item>
<item>__ror__</item>
<item>__iadd__</item>
<item>__isub__</item>
<item>__imul__</item>
<item>__idiv__</item>
<item>__itruediv__</item>
<item>__ifloordiv__</item>
<item>__imod__</item>
<item>__ipow__</item>
<item>__ilshift__</item>
<item>__irshift__</item>
<item>__iand__</item>
<item>__ixor__</item>
<item>__ior__</item>
<item>__neg__</item>
<item>__pos__</item>
<item>__abs__</item>
<item>__invert__</item>
<item>__complex__</item>
<item>__int__</item>
<item>__long__</item>
<item>__float__</item>
<item>__oct__</item>
<item>__hex__</item>
<item>__index__</item>
<item>__coerce__</item>
<item>__enter__</item>
<item>__exit__</item>
</list>
<list name="exceptions">
<item>ArithmeticError</item>
@ -203,6 +293,7 @@
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<LineContinue context="CheckForString" attribute="Normal Text"/>
<keyword attribute="Preprocessor" String="prep" context="#stay"/>
<keyword attribute="Definition Keyword" String="defs" context="#stay"/>
<keyword attribute="Operator" String="operators" context="#stay"/>
@ -216,150 +307,187 @@
<RegExpr attribute="Normal" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>
<RegExpr attribute="Complex" String=" ((([0-9]*\.[0-9]+|[0-9]+\.)|([0-9]+|([0-9]*\.[0-9]+|[0-9]+\.))[eE](\+|-)?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
<RegExpr attribute="Float" String="([0-9]+\.[0-9]*|\.[0-9]+)([eE][0-9]+)?" context="#stay"/>
<RegExpr attribute="Int" String="([1-9][0-9]*([eE][0-9]+)?|0)" context="#stay"/>
<RegExpr attribute="Long" String="[1-9][0-9]*([eE][0-9.]+)?[Ll]" context="#stay"/>
<RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
<RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
<Float attribute="Float" context="#stay" />
<HlCHex attribute="Hex" context="#stay"/>
<HlCOct attribute="Octal" context="#stay"/>
<Int attribute="Int" context="#stay">
<StringDetect attribute="Int" String="L" insensitive="true" context="#stay"/>
</Int>
<RegExpr attribute="Raw String" String="[rR]'''" context="Raw Tripple A-string"/>
<RegExpr attribute="Raw String" String="[rR]&quot;&quot;&quot;" context="Raw Tripple Q-string"/>
<StringDetect attribute="Raw String" String="r'''" insensitive="true" context="Raw Tripple A-string"/>
<StringDetect attribute="Raw String" String="r&quot;&quot;&quot;" insensitive="true" context="Raw Tripple Q-string"/>
<RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
<RegExpr attribute="Raw String" String="[rR]&quot;" context="Raw Q-string"/>
<StringDetect attribute="Raw String" String="r'" insensitive="true" context="Raw A-string"/>
<StringDetect attribute="Raw String" String="r&quot;" insensitive="true" context="Raw Q-string"/>
<RegExpr attribute="Comment" String="#.*$" context="#stay"/>
<RegExpr attribute="Comment" String="^\s*'''" context="Tripple A-comment" beginRegion="Tripple A-region"/>
<RegExpr attribute="Comment" String="^\s*&quot;&quot;&quot;" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
<DetectChar attribute="Comment" char="#" context="Hash comment"/>
<RegExpr attribute="Comment" String="u?'''" firstNonSpace="true" context="Tripple A-comment" beginRegion="Tripple A-region"/>
<RegExpr attribute="Comment" String="u?&quot;&quot;&quot;" firstNonSpace="true" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
<!-- ''' -->
<StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
<StringDetect attribute="String" String="u'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
<!-- """ -->
<StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
<StringDetect attribute="String" String="u&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
<!-- ' -->
<DetectChar attribute="String" char="'" context="Single A-string"/>
<Detect2Chars attribute="String" char="u" char1="'" context="Single A-string"/>
<!-- " -->
<DetectChar attribute="String" char="&quot;" context="Single Q-string"/>
<Detect2Chars attribute="String" char="u" char1="&quot;" context="Single Q-string"/>
<DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
<DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
<RegExpr attribute="Operator" String="[+*/%\|=;\!&lt;&gt;!^&amp;~-]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<DetectChar attribute="Normal" char="(" context="parenthesised" beginRegion="parenthesis"/>
<DetectChar attribute="Normal" char=")" context="#pop" endRegion="parenthesis"/>
<AnyChar attribute="Operator" String="+*/%\|=;\!&lt;&gt;!^&amp;~-" context="#stay"/>
<RegExpr attribute="Decorator" String="@[_a-zA-Z][\._a-zA-Z0-9]*" firstNonSpace="true"/>
</context>
<!-- The context CheckForString only exists to catch LineContinue with \ at end of previous line. So that we don't interpret it as comment. -->
<context name="CheckForString" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces/>
<StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
<StringDetect attribute="String" String="u'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
<!-- """ -->
<StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
<StringDetect attribute="String" String="u&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
</context>
<context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
<IncludeRules context="Normal" />
</context>
<!-- Comments -->
<context name="Hash comment" attribute="Comment" lineEndContext="#pop">
<IncludeRules context="##Alerts_indent" />
</context>
<context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
<StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Tripple A-region"/>
<IncludeRules context="##Alerts_indent" />
</context>
<context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
<HlCChar attribute="Comment" context="#stay"/>
<RegExpr attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
<StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
<IncludeRules context="##Alerts_indent" />
</context>
<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
<HlCStringChar attribute="Comment" context="#stay"/>
<DetectChar attribute="Comment" char="'" context="#pop"/>
<IncludeRules context="##Alerts_indent" />
</context>
<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
<HlCStringChar attribute="Comment" context="#stay"/>
<DetectChar attribute="Comment" char="&quot;" context="#pop"/>
<IncludeRules context="##Alerts_indent" />
</context>
<!-- Strings -->
<!-- format characters -->
<context name="stringformat" attribute="String Substitution" lineEndContext="#stay">
<!-- Python 2 style. Syntax:
1. start character '%'
2. [optional] Mapping key, e.g. '(foo)'
3. [optional] Conversion flags, one of '#0- +'
4. [optional] Minimum width, integer or '*'
5. [optional] Precision, '.' followed by integer or '*'
6. [optional] Length modifier, one of 'hlL'
7. conversion type, one of 'crsdiouxXeEfFgG%'
[Special cases: %prog and %default - see http://docs.python.org/library/optparse.html]
-->
<RegExpr attribute="String Substitution" String="%((\([a-zA-Z0-9_]+\))?[#0\- +]?([1-9][0-9]*|\*)?(\.([1-9][0-9]*|\*))?[hlL]?[crsdiouxXeEfFgG%]|prog|default)" context="#stay"/>
</context>
<context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
<HlCStringChar attribute="String Char" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
<IncludeRules context="stringformat"/>
<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
</context>
<context name="Raw Tripple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
<HlCStringChar attribute="Raw String" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
<IncludeRules context="stringformat"/>
<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
</context>
<context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
<HlCStringChar attribute="String Char" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
<IncludeRules context="stringformat"/>
<StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
</context>
<context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
<HlCStringChar attribute="Raw String" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
</context>
<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
<HlCStringChar attribute="Comment" context="#stay"/>
<DetectChar attribute="Comment" char="'" context="#pop"/>
<IncludeRules context="stringformat"/>
<StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
</context>
<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
<HlCStringChar attribute="Comment" context="#stay"/>
<DetectChar attribute="Comment" char="&quot;" context="#pop"/>
</context>
<context name="Single A-string" attribute="String" lineEndContext="#stay">
<HlCStringChar attribute="String Char" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<IncludeRules context="stringformat"/>
<DetectChar attribute="String" char="'" context="#pop"/>
</context>
<context name="Single Q-string" attribute="String" lineEndContext="#stay">
<HlCStringChar attribute="String Char" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<IncludeRules context="stringformat"/>
<DetectChar attribute="String" char="&quot;" context="#pop"/>
</context>
<context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
<HlCStringChar attribute="Raw String" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<IncludeRules context="stringformat"/>
<DetectChar attribute="Raw String" char="'" context="#pop"/>
</context>
<context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
<HlCStringChar attribute="Raw String" context="#stay"/>
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
<IncludeRules context="stringformat"/>
<DetectChar attribute="Raw String" char="&quot;" context="#pop"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
<itemData name="Operator" defStyleNum="dsNormal"/>
<itemData name="String Substitution" defStyleNum="dsNormal"/>
<itemData name="Command Keyword" defStyleNum="dsKeyword"/>
<itemData name="Flow Control Keyword" defStyleNum="dsKeyword"/>
<itemData name="Builtin Function" defStyleNum="dsDataType"/>
<itemData name="Special Variable" defStyleNum="dsOthers"/>
<itemData name="Extensions" defStyleNum="dsOthers" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="Exceptions" defStyleNum="dsOthers" color="#054d00" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="Overloaders" defStyleNum="dsOthers" color="#000e52" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="Preprocessor" defStyleNum="dsChar"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Long" defStyleNum="dsOthers"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Int" defStyleNum="dsDecVal"/>
<itemData name="Hex" defStyleNum="dsOthers"/>
<itemData name="Octal" defStyleNum="dsOthers"/>
<itemData name="Complex" defStyleNum="dsOthers"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Definition Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Operator" defStyleNum="dsNormal" bold="1" spellChecking="false"/>
<itemData name="String Substitution" defStyleNum="dsOthers" color="#0057ae" selColor="#ffffff" spellChecking="false"/>
<itemData name="Command Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Flow Control Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Builtin Function" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Special Variable" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Extensions" defStyleNum="dsOthers" color="#0095ff" selColor="#ffffff" bold="1" italic="0" spellChecking="false"/>
<itemData name="Exceptions" defStyleNum="dsOthers" color="#054d00" selColor="#ffffff" bold="1" italic="0" spellChecking="false"/>
<itemData name="Overloaders" defStyleNum="dsOthers" color="#000e52" selColor="#ffffff" bold="1" italic="0" spellChecking="false"/>
<itemData name="Preprocessor" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Complex" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Raw String" defStyleNum="dsString"/>
<itemData name="Decorator" defStyleNum="dsOthers" color="#8f6b32" selColor="#ffffff" italic="0" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="1" />
<emptyLines>
<emptyLine regexpr="\s+" casesensitive="false"/>
<emptyLine regexpr="\s*#.*$" casesensitive="false"/>
</emptyLines>
<comments>
<comment name="singleLine" start="#" position="afterwhitespace"/>
</comments>
<keywords casesensitive="1" />
</general>
<general>
<folding indentationsensitive="1" />
<emptyLines>
<emptyLine regexpr="(?:\s+|\s*#.*)"/>
</emptyLines>
<comments>
<comment name="singleLine" start="#" position="afterwhitespace"/>
</comments>
<keywords casesensitive="1" additionalDeliminator="#'"/>
</general>
</language>

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="QMake" section="Other" extensions="*.pro;*.pri;" mimetype="" version="1.1" kateversion="2.0" author="Milian Wolff (mail@milianw.de)" license="LGPL">
<highlighting>
<list name="variables">
<item>CONFIG</item>
<item>DEFINES</item>
<item>DESTDIR</item>
<item>DLLDESTDIR</item>
<item>FORMS</item>
<item>HEADERS</item>
<item>INCLUDEPATH</item>
<item>INSTALLS</item>
<item>LIBS</item>
<item>OBJECTIVE_SOURCES</item>
<item>OTHER_FILES</item>
<item>OUT_PWD</item>
<item>QMAKE_CXXFLAGS</item>
<item>QMAKE_EXTRA_COMPILERS</item>
<item>QMAKE_FILE_IN</item>
<item>QMAKE_FILE_OUT</item>
<item>QMAKE_LFLAGS</item>
<item>QMAKE_LFLAGS_SONAME</item>
<item>QMAKE_RPATHDIR</item>
<item>QMAKE_SUBSTITUTES</item>
<item>QT</item>
<item>QT_CONFIG</item>
<item>QT_MAJOR_VERSION</item>
<item>QT_MINOR_VERSION</item>
<item>QT_PATCH_VERSION</item>
<item>RCC_DIR</item>
<item>RESOURCES</item>
<item>SOURCES</item>
<item>SUBDIRS</item>
<item>TARGET</item>
<item>TEMPLATE</item>
<item>UI_DIR</item>
<item>MOC_DIR</item>
<item>OBJECTS_DIR</item>
</list>
<list name="functions">
<item>contains</item>
<item>defineReplace</item>
<item>defineTest</item>
<item>equals</item>
<item>error</item>
<item>eval</item>
<item>greaterThan</item>
<item>include</item>
<item>isEmpty</item>
<item>isEqual</item>
<item>message</item>
<item>return</item>
<item>unset</item>
</list>
<list name="systems">
<item>build_pass</item>
<item>debug</item>
<item>debug_and_release</item>
<item>linux</item>
<item>macx</item>
<item>msvc</item>
<item>release</item>
<item>unix</item>
<item>win32</item>
</list>
<list name="keywords">
<item>else</item>
<item>for</item>
<item>if</item>
</list>
<contexts>
<context name="normal" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Predefined Variable" String="variables" />
<keyword attribute="Function" String="functions" />
<keyword attribute="System" String="systems" />
<keyword attribute="Keyword" String="keywords" />
<DetectChar char="#" attribute="Comment" context="Comment" />
<RegExpr attribute="Variable" context="#stay" String="\$\$?[a-zA-Z0-9_]+" />
<RegExpr attribute="Variable" context="#stay" String="\$\$\{[^\}]*\}" />
<RegExpr attribute="Variable" context="#stay" String="\$\$\[[^\]]*\]" />
<RegExpr attribute="Variable" context="#stay" String="\$\$\([^\)]*\)" />
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;" />
<DetectChar char="&quot;" attribute="String" context="String" />
</context>
<context name="String" attribute="String" lineEndContext="#stay">
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;" />
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop">
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Predefined Variable" defStyleNum="dsDataType" bold="1" spellChecking="false" />
<itemData name="Variable" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="System" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="String" defStyleNum="dsString" spellChecking="false" />
<itemData name="Backslash Code" defStyleNum="dsKeyword" bold="1" spellChecking="false" />
<itemData name="Comment" defStyleNum="dsComment" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
</comments>
<keywords casesensitive="1" />
</general>
</language>
<!-- kate: indent-width 2; -->

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Author: Milian Wolff <mail@milianw.de> -->
<language name="QML" version="1.3" kateversion="2.4" section="Scripts" extensions="*.qml"
mimetype="text/x-qml;application/x-qml" indenter="cstyle"
author="Milian Wolff (mail@milianw.de)" license="">
<highlighting>
<list name="elements">
<!-- see: http://doc.trolltech.com/4.7-snapshot/qmlelements.html -->
<item>State</item>
<item>PropertyChanges</item>
<item>StateGroup</item>
<item>ParentChange</item>
<item>StateChangeScript</item>
<item>AnchorChanges</item>
<item>PropertyAnimation</item>
<item>NumberAnimation</item>
<item>ColorAnimation</item>
<item>SequentialAnimation</item>
<item>ParallelAnimation</item>
<item>PauseAnimation</item>
<item>PropertyAction</item>
<item>ParentAction</item>
<item>ScriptAction</item>
<item>Transition</item>
<item>SpringFollow</item>
<item>EaseFollow</item>
<item>Behavior</item>
<item>Binding</item>
<item>ListModel</item>
<item>ListElement</item>
<item>VisualItemModel</item>
<item>XmlListModel</item>
<item>XmlRole</item>
<item>DateTimeFormatter</item>
<item>NumberFormatter</item>
<item>Script</item>
<item>Connection</item>
<item>Component</item>
<item>Timer</item>
<item>QtObject</item>
<item>Item</item>
<item>Rectangle</item>
<item>Image</item>
<item>BorderImage</item>
<item>Text</item>
<item>TextInput</item>
<item>TextEdit</item>
<item>MouseArea</item>
<item>FocusScope</item>
<item>Flickable</item>
<item>Flipable</item>
<item>WebView</item>
<item>Loader</item>
<item>Repeater</item>
<item>SystemPalette</item>
<item>GraphicsObjectContainer</item>
<item>LayoutItem</item>
<item>ListView</item>
<item>GridView</item>
<item>PathView</item>
<item>Path</item>
<item>PathLine</item>
<item>PathQuad</item>
<item>PathCubic</item>
<item>PathAttribute</item>
<item>PathPercent</item>
<item>Column</item>
<item>Row</item>
<item>Grid</item>
<item>Scale</item>
<item>Rotation</item>
<item>Blur</item>
<item>Colorize</item>
<item>DropShadow</item>
<item>Opacity</item>
<item>Particles</item>
<item>ParticleMotionLinear</item>
<item>ParticleMotionGravity</item>
<item>ParticleMotionWander</item>
<!-- here some other items I find in the examples, we really need a proper list of them... -->
<item>Gradient</item>
<item>GradientStop</item>
<item>MouseRegion</item>
</list>
<list name="types">
<!-- see: http://doc.trolltech.com/4.7-snapshot/qml-extending-types.html -->
<item>string</item>
<item>int</item>
<item>bool</item>
<item>date</item>
<item>color</item>
<item>url</item>
<item>real</item>
<item>double</item>
<item>var</item>
<item>variant</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces/>
<StringDetect attribute="Import" context="Import" String="import"/>
<keyword attribute="Elements" context="#stay" String="elements" />
<StringDetect attribute="Signal" context="Signal" String="signal" />
<StringDetect attribute="Keywords" context="Property" String="default property" />
<StringDetect attribute="Keywords" context="Property" String="property" />
<IncludeRules context="##JavaScript" />
</context>
<context attribute="ImportValue" lineEndContext="#pop" name="Import">
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Property">
<StringDetect attribute="Property Type" context="#stay" String="alias" />
<keyword attribute="Property Type" context="#stay" String="types" />
<DetectSpaces />
<DetectIdentifier />
<DetectSpaces />
<DetectChar char=":" context="#pop" />
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Signal">
<DetectSpaces />
<DetectIdentifier />
<DetectChar char="(" context="SignalParameter" />
</context>
<context attribute="Normal Text" name="SignalParameter" lineEndContext="#pop">
<DetectSpaces />
<keyword attribute="Property Type" context="#stay" String="types" />
<DetectSpaces />
<DetectIdentifier />
<DetectSpaces />
<AnyChar String=")" context="#pop"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Import" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="ImportValue" defStyleNum="dsString" spellChecking="false" />
<itemData name="Keywords" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Elements" defStyleNum="dsKeyword" color="#008000" selColor="#00ffff" bold="0" italic="0" spellChecking="false"/>
<itemData name="Signal" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" spellChecking="false"/>
<itemData name="Property Type" defStyleNum="dsDataType" spellChecking="false" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" />
</comments>
<keywords casesensitive="1" />
</general>
</language>
<!-- kate: tab-width 2; replace-tabs on; indent-width 2; -->

@ -8,7 +8,7 @@
R : http://www.r-project.org/
RKWard : http://rkward.sourceforge.net/
-->
<language version="2.02" kateversion="2.5" name="R Script" section="Scripts" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPL">
<language version="2.07" kateversion="2.5" name="R Script" section="Scripts" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPL">
<highlighting>
<list name="controls">
@ -77,6 +77,15 @@
<HlCStringChar attribute="String Char" context="#stay"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="operator_rhs" fallthrough="true" fallthroughContext="#pop">
<!-- While there is nothing of interest, stay in the context -->
<StringDetect attribute="Headline" context="Headline" String="##"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<DetectChar attribute="String" context="#stay" char=" "/>
<!-- Operators other than +, -, and ! directly after another operator are an error. -->
<RegExpr attribute="Error" context="#stay" String="(\*|/|&lt;|&gt;|\!=|=|\||&amp;|:|\^|@|\$|~)"/>
</context>
<context attribute="Headline" lineEndContext="#pop" name="Headline"/>
<context attribute="Comment" lineEndContext="#pop" name="Comment"/>
@ -95,21 +104,12 @@
<StringDetect attribute="Headline" context="Headline" String="##"/>
<DetectChar attribute="Comment" context="Comment" char="#"/>
<!-- The following three lines look worse than they are: If there are any other operators directly before or after -> and <-, this is a syntax error (expections: ->> and <<-) -->
<RegExpr attribute="Error" context="#stay" String="([\+\-\*/\^\:\$~!&amp;\|=&gt;@^])([&lt;]{1,2}\-|\-[&gt;]{1,2})"/>
<RegExpr attribute="Error" context="#stay" String="([&lt;]{1,2}\-|\-[&gt;]{1,2})([\+\-\*/\^\:\$~!&amp;\|=&lt;@])"/>
<RegExpr attribute="Error" context="#stay" String="([&lt;]{3}|[&gt;]{3})"/>
<RegExpr attribute="Assign" context="#stay" String="[&lt;]{1,2}\-"/>
<RegExpr attribute="Assign" context="#stay" String="\-[&gt;]{1,2}"/>
<!-- Much like above: Most other operators are forbidden around = -->
<RegExpr attribute="Error" context="#stay" String="([\+\-\*/\^\:\$~&amp;\|@^])="/>
<RegExpr attribute="Error" context="#stay" String="=([\+\-\*/\^\:\$~!&lt;&gt;&amp;\|@^])"/>
<RegExpr attribute="Assign" context="#stay" String="=(?!=)"/>
<!-- These operators are fine as long as they're followed by something else or end of line. Error otherwise -->
<RegExpr attribute="Operator" context="#stay" String="(\+|\-|\*|/|&lt;=|&gt;=|={1,2}|\!=|\|{1,2}|&amp;{1,2}|:{1,3}|\^|@|\$|~)((?!(\+|\-|\*|/|&lt;=|&gt;=|=|\!=|\||&amp;|:|\^|@|\$|~))|$)"/>
<RegExpr attribute="Error" context="#stay" String="(\+|\-|\*|/|&lt;=|&gt;=|={1,2}|\!=|\|{1,2}|&amp;{1,2}|:{1,3}|\^|@|\$|~){2,}"/>
<RegExpr attribute="Operator" context="#stay" String="%[^%]*%"/>
<!-- For (assignment) operators, enter a new context operator_rhs to check what follows (generally, that should not be another op) -->
<RegExpr attribute="Assign" context="operator_rhs" String="[&lt;]{1,2}\-"/>
<RegExpr attribute="Assign" context="operator_rhs" String="\-[&gt;]{1,2}"/>
<RegExpr attribute="Assign" context="operator_rhs" String="=(?!=)"/>
<RegExpr attribute="Operator" context="operator_rhs" String="(\+|\-|\*{1,2}|/|&lt;=?|&gt;=?|={1,2}|\!=?|\|{1,2}|&amp;{1,2}|:{1,3}|\^|@|\$|~)"/>
<RegExpr attribute="Operator" context="operator_rhs" String="%[^%]*%"/>
<DetectChar attribute="Symbol" context="ctx0" char="{" beginRegion="Brace1" />
@ -143,6 +143,6 @@
<comments>
<comment name="singleLine" start="#" end=""/>
</comments>
<keywords casesensitive="1" />
<keywords casesensitive="true" weakDeliminator="." additionalDeliminator="$"/>
</general>
</language>

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY qname "[A-Za-z_:][\w.:_-]*">
<!ENTITY entref "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&qname;);">
]>
<!--
Kate syntax highlighting for RELAX NG
2007 by Thomas Schraitle (tom_schr AT web DOT de)
Derived from the XSLT syntax file from Peter Lammich
Published under the LGPL
TODO:
- More modularization (how?)
- Namespace rules
-->
<language version="0.8"
kateversion="2.1"
name="RELAX NG"
section="Markup"
extensions="*.rng;*.RNG"
license="LGPL"
author="Thomas Schraitle (tom_schr AT web DOT de)">
<highlighting>
<list name="relaxngnames">
<item> anyName </item>
<item> attribute </item>
<item> choice </item>
<item> data </item>
<item> define </item>
<item> div </item>
<item> element </item>
<item> empty </item>
<item> except </item>
<item> externalRef </item>
<item> grammar </item>
<item> group </item>
<item> include </item>
<item> interleave </item>
<item> list </item>
<item> mixed </item>
<item> name </item>
<item> notAllowed </item>
<item> nsName </item>
<item> oneOrMore </item>
<item> optional </item>
<item> param </item>
<item> parentRef </item>
<item> ref </item>
<item> start </item>
<item> text </item>
<item> value </item>
<item> zeroOrMore </item>
</list>
<contexts>
<context name="normalText" attribute="Normal Text" lineEndContext="#stay">
<StringDetect attribute="Comment" context="comment" String="&lt;!--" beginRegion="comment"/>
<DetectChar attribute="Tag" context="tagname" char="&lt;" />
<RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
</context>
<context name="detectEntRef" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
</context>
<context name="tagname" attribute="Tag" lineEndContext="#stay">
<keyword attribute="RELAX NG Tag" context="attributes" String="relaxngnames" />
<RegExpr attribute="Attribute" context="attributes" String="\s*" />
<DetectChar attribute="Tag" context="#pop" char="&gt;" />
</context>
<context name="attributes" attribute="Attribute" lineEndContext="#stay">
<Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1="&gt;" />
<DetectChar attribute="Tag" context="#pop#pop" char="&gt;" />
<RegExpr attribute="Normal Text" context="attrValue" String="\s*=\s*" />
</context>
<context name="attrValue" attribute="Invalid" lineEndContext="#stay">
<Detect2Chars attribute="Invalid" context="#pop#pop#pop" char="/" char1="&gt;" />
<DetectChar attribute="Invalid" context="#pop#pop#pop" char="&gt;" />
<DetectChar attribute="Attribute Value" context="string" char="&quot;" />
</context>
<context name="string" attribute="Attribute Value" lineEndContext="#stay">
<DetectChar attribute="Attribute Value" context="#pop#pop" char="&quot;" />
<IncludeRules context="detectEntRef" />
</context>
<context name="comment" attribute="Comment" lineEndContext="#stay">
<DetectSpaces/>
<StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment"/>
<RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+"/>
<IncludeRules context="##Alerts"/>
<DetectIdentifier/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Tag" defStyleNum="dsKeyword"/>
<itemData name="Invalid" defStyleNum="dsError"/>
<itemData name="Attribute" defStyleNum="dsOthers"/>
<itemData name="Attribute Value" defStyleNum="dsString" color="#800000" selColor="#ffffff" bold="0" italic="0"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="RELAX NG Tags" defStyleNum="dsKeyword" color="#000080" selColor="#ffffff" bold="1" italic="0" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="multiLine" start="&lt;!--" end="--&gt;" />
</comments>
<keywords casesensitive="0" weakDeliminator="-:" additionalDeliminator="&quot;{}"/>
</general>
</language>

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="RelaxNG-Compact" version="0.2" kateversion="2.4" section="Markup" extensions="*.rnc" casesensitive="1" author="Rintze Zelle" license="LGPL">
<highlighting>
<list name="Keywords">
<item> default </item>
<item> datatypes </item>
<item> div </item>
<item> empty </item>
<item> external </item>
<item> grammar </item>
<item> include </item>
<item> inherit </item>
<item> list </item>
<item> mixed </item>
<item> namespace </item>
<item> notAllowed </item>
<item> parent </item>
<item> start </item>
<item> token </item>
</list>
<list name="Node Names">
<item> attribute </item>
<item> element </item>
</list>
<list name="Datatypes">
<item> string </item>
<item> text </item>
<item> xsd:anyURI </item>
<item> xsd:base64Binary </item>
<item> xsd:boolean </item>
<item> xsd:byte </item>
<item> xsd:date </item>
<item> xsd:dateTime </item>
<item> xsd:decimal </item>
<item> xsd:double </item>
<item> xsd:duration </item>
<item> xsd:ENTITIES </item>
<item> xsd:ENTITY </item>
<item> xsd:float </item>
<item> xsd:gDay </item>
<item> xsd:gMonth </item>
<item> xsd:gMonthDay </item>
<item> xsd:gYear </item>
<item> xsd:gYearMonth </item>
<item> xsd:hexBinary </item>
<item> xsd:ID </item>
<item> xsd:IDREF </item>
<item> xsd:IDREFS </item>
<item> xsd:int </item>
<item> xsd:integer </item>
<item> xsd:language </item>
<item> xsd:long </item>
<item> xsd:Name </item>
<item> xsd:NCName </item>
<item> xsd:negativeInteger </item>
<item> xsd:NMTOKEN </item>
<item> xsd:NMTOKENS </item>
<item> xsd:nonNegativeInteger </item>
<item> xsd:nonPositiveInteger </item>
<item> xsd:normalizedString </item>
<item> xsd:NOTATION </item>
<item> xsd:positiveInteger </item>
<item> xsd:QName </item>
<item> xsd:short </item>
<item> xsd:string </item>
<item> xsd:time </item>
<item> xsd:token </item>
<item> xsd:unsignedByte </item>
<item> xsd:unsignedInt </item>
<item> xsd:unsignedLong </item>
<item> xsd:unsignedShort </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
<DetectChar attribute="Comments" char="#" firstNonSpace="true" context="Comments"/>
<DetectChar attribute="String" char="&quot;" context="String" />
<keyword attribute="Keywords" context="#stay" String="Keywords" />
<keyword attribute="Keywords" context="Node Names" String="Node Names" />
<keyword attribute="Datatypes" context="#stay" String="Datatypes" />
<RegExpr attribute="Definitions" context="Definitions" String="[\w\.-]+[\s]+=" lookAhead="true" />
</context>
<context attribute="Comments" lineEndContext="#pop" name="Comments" >
</context>
<context attribute="String" lineEndContext="#stay" name="String" >
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context attribute="Node Names" lineEndContext="#pop" name="Node Names" >
<DetectChar attribute="Node Names" context="#pop" char="{" lookAhead="true" />
</context>
<context attribute="Definitions" lineEndContext="#pop" name="Definitions" >
<DetectChar attribute="Definitions" context="#pop#pop" char="=" lookAhead="true" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comments" defStyleNum="dsComment" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Keywords" defStyleNum="dsKeyword" />
<itemData name="Datatypes" defStyleNum="dsDataType" />
<itemData name="Node Names" defStyleNum="dsOthers" />
<itemData name="Definitions" defStyleNum="dsFunction" />
</itemDatas>
</highlighting>
<general>
<keywords weakDeliminator="-:"/>
</general>
</language>

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY inlinestart "(^|[\s&apos;&quot;\(\[-{&lt;/:‘“’«¡¿‐‑‒–— ])">
<!ENTITY inlineend "([\s”»— &apos;&quot;\)\]}&gt;-/:\.,;!\?\\]|$)">
<!ENTITY SimpleReferenceNameChars "\w-_\.:\+">
]>
<!-- Copyright Matt Williams <matt@milliams.com> June 2010 -->
<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="1.01" kateversion="2.4" casesensitive="1">
<highlighting>
<contexts>
<context name="Normal" attribute="Normal" lineEndContext="#stay">
<RegExpr attribute="Bold" context="#stay" String="&inlinestart;\*\*[^\s].*\*\*&inlineend;" minimal="true"/>
<RegExpr attribute="Italic" context="#stay" String="&inlinestart;\*[^\s].*\*&inlineend;" minimal="true"/>
<RegExpr attribute="InlineLiteral" context="#stay" String="&inlinestart;``[^\s].*``&inlineend;" minimal="true"/>
<RegExpr attribute="SubstitutionReference" context="#stay" String="&inlinestart;\|[^\s].*\|&inlineend;" minimal="true"/>
<RegExpr attribute="InlineInternalTarget" context="#stay" String="&inlinestart;_`[^\s].*`&inlineend;" minimal="true"/>
<RegExpr attribute="Normal" context="#stay" String="&inlinestart;\[[^\s].*\]&inlineend;" minimal="true"/> <!--This is to stop greedy matching of [foo]-->
<RegExpr attribute="FootnoteReference" context="#stay" String="&inlinestart;\[[^\s].*\]_&inlineend;" minimal="true"/>
<RegExpr attribute="HyperlinkRefOrInterpretedText" context="#stay" String="&inlinestart;`[^\s].*(`|`_)&inlineend;" minimal="true"/>
<RegExpr attribute="HyperlinkReference" context="#stay" String="\w+_(\s|$)" minimal="true"/>
<DetectChar attribute="Field" context="Field" firstNonSpace="true" char=":"/>
<RegExpr attribute="Footnote" context="#stay" String="^\s*\.\. \[(\d+|#|\*|#[&SimpleReferenceNameChars;]+)\]\s" minimal="true" firstNonSpace="true"/>
<RegExpr attribute="Citation" context="#stay" String="^\s*\.\. \[[&SimpleReferenceNameChars;]+\]\s" minimal="true" firstNonSpace="true"/>
<RegExpr attribute="HyperlinkTarget" context="#stay" String="^\s*(\.\. (__:|_[&SimpleReferenceNameChars; ]+:(\s|$))|__ )" minimal="true" firstNonSpace="true"/>
<RegExpr attribute="Directive" context="#stay" String="^\s*\.\. [\w-_\.]+::(\s|$)" minimal="true" firstNonSpace="true"/>
<RegExpr attribute="SubstitutionDefinition" context="#stay" String="^\s*\.\. \|[&SimpleReferenceNameChars; ]+\|\s+[&SimpleReferenceNameChars;]+::\s" minimal="true" firstNonSpace="true"/>
</context>
<context name="Field" attribute="Field" lineEndContext="#stay">
<DetectChar attribute="Field" context="#pop" char=":"/>
<Detect2Chars attribute="Field" context="#stay" char="\" char1=":"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal" />
<itemData name="Bold" defStyleNum="dsNormal" bold="1" />
<itemData name="Italic" defStyleNum="dsNormal" italic="1" />
<itemData name="InlineLiteral" defStyleNum="dsString" />
<itemData name="SubstitutionReference" defStyleNum="dsFunction" />
<itemData name="InlineInternalTarget" defStyleNum="dsFunction" />
<itemData name="FootnoteReference" defStyleNum="dsOthers" />
<itemData name="HyperlinkRefOrInterpretedText" defStyleNum="dsOthers" />
<itemData name="HyperlinkReference" defStyleNum="dsOthers" />
<itemData name="Monospaced" defStyleNum="dsNormal" color="#006600" />
<itemData name="Field" defStyleNum="dsFunction" />
<itemData name="Footnote" defStyleNum="dsDataType" />
<itemData name="Citation" defStyleNum="dsDataType" />
<itemData name="HyperlinkTarget" defStyleNum="dsDataType" />
<itemData name="Directive" defStyleNum="dsDataType" />
<itemData name="SubstitutionDefinition" defStyleNum="dsDataType" />
</itemDatas>
</highlighting>
<general>
<folding indentationsensitive="true" />
</general>
</language>

@ -1,94 +1,438 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd" [
<!ENTITY a_valid_char_in_macro_names "A-Za-z0-9_">
<!ENTITY command_section_name "(prep|build|pre|preun|install|post|postun|clean|files|trigger|triggerin|triggerun|triggerpostun|verifyscript|check|pretrans|posttrans)">
<!ENTITY arch "(alpha|alphaev5|alphaev56|alphaev6|alphaev67|alphapca56|amd64|armv3l|armv4b|armv4l|armv4tl|armv5b|armv5l|armv5teb|armv5tejl|armv5tel|armv6l|armv7l|atariclone|atarist|atariste|ataritt|athlon|axp|em64t|falcon|fat|geode|hades|hppa|hppa1\.0|hppa1\.1|hppa1\.2|hppa2\.0|hppa64|i370|i386|i486|i586|i686|ia32e|ia64|IP|m68k|m68kmint|milan|mips|mipsel|noarch|osfmach3_i386|osfmach3_i486|osfmach3_i586|osfmach3_i686|osfmach3_ppc|parisc|pentium3|pentium4|powerpc|powerpc64|powerppc|ppc|ppc32dy4|ppc64|ppc64iseries|ppc64pseries|ppc8260|ppc8560|ppciseries|ppcpseries|rs6000|s390|s390x|sgi|sh|sh3|sh4|sh4a|sparc|sparc64|sparc64v|sparcv8|sparcv9|sparcv9v|sun4|sun4c|sun4d|sun4m|sun4u|x86_64|xtensa)">
<!ENTITY os "(AIX|AmigaOS|BSD_OS|bsdi|bsdi4\.0|cygwin32|CYGWIN32_95|CYGWIN32_NT|Darwin|darwin|Darwin|FreeBSD|FreeMiNT|HP-UX|hpux10|hpux10\.00|hpux10\.01|hpux10\.10|hpux10\.20|hpux10\.30|hpux11\.00|hpux9\.04|hpux9\.05|hpux9\.07|IRIX|Irix|IRIX|IRIX64|Irix64|IRIX64|Linux|Linux\/390|Linux\/ESA|machten|MacOSX|macosx|MacOSX|MiNT|mint|MiNT|mint|MiNT|mint|MP_RAS|ncr-sysv4\.2|ncr-sysv4\.3|NEXTSTEP|NextStep|OS\/390|OSF1|osf1|osf3\.2|osf4\.0|SCO_SV|SCO_SV3\.2v5\.0\.2|solaris|solaris2\.3|solaris2\.4|solaris2\.5|solaris2\.6|solaris2\.7|SunOS|SunOS4|SunOS5|TOS|UNIX_SV|VM\/ESA)">
<!ENTITY arch_conditionals_names "(ifarch|ifnarch)">
<!ENTITY os_conditionals_names "(ifos|ifnos)">
<!ENTITY lookahead_whitespace_eol "(?=($| |\t))">
]>
<language name="RPM Spec" version="1.4" kateversion="2.4" section="Other" extensions="*.spec" mimetype="" license="public domain">
<language name="RPM Spec" version="2.03" kateversion="2.4" section="Other" extensions="*.spec" mimetype="" license="public domain">
<!-- The entities "arch" and "os" are based on /usr/lib/rpm/rpmrc (in the version coming with openSUSE 11.4). -->
<highlighting>
<list name="weekdays">
<item> Mon </item>
<item> Tue </item>
<item> Wed </item>
<item> Thu </item>
<item> Fri </item>
<item> Sat </item>
<item> Sun </item>
</list>
<list name="month names">
<item> Jan </item>
<item> Feb </item>
<item> Mar </item>
<item> Apr </item>
<item> May </item>
<item> Jun </item>
<item> Jul </item>
<item> Aug </item>
<item> Sep </item>
<item> Oct </item>
<item> Nov </item>
<item> Dec </item>
</list>
<list name="days">
<item> 1 </item>
<item> 2 </item>
<item> 3 </item>
<item> 4 </item>
<item> 5 </item>
<item> 6 </item>
<item> 7 </item>
<item> 8 </item>
<item> 9 </item>
<item> 01 </item>
<item> 02 </item>
<item> 03 </item>
<item> 04 </item>
<item> 05 </item>
<item> 06 </item>
<item> 07 </item>
<item> 08 </item>
<item> 09 </item>
<item> 10 </item>
<item> 11 </item>
<item> 12 </item>
<item> 13 </item>
<item> 14 </item>
<item> 15 </item>
<item> 16 </item>
<item> 17 </item>
<item> 18 </item>
<item> 19 </item>
<item> 20 </item>
<item> 21 </item>
<item> 22 </item>
<item> 23 </item>
<item> 24 </item>
<item> 25 </item>
<item> 26 </item>
<item> 27 </item>
<item> 28 </item>
<item> 29 </item>
<item> 30 </item>
<item> 31 </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<!-- "package section" is the context for the package defination. As it is the first context
in this file, it is also the context with which the interpreter starts. -->
<context attribute="Error" lineEndContext="#stay" name="package section">
<!-- Handle tags: -->
<RegExpr attribute="Tag" context="tag_line" String="((Name|Summary|Summary\(.*\)|Version|Epoch|Serial|Release|Group|Copyright|License|Icon|Vendor|Distribution|Packager|Url|URL|Prefix|Conflicts|Obsoletes|Provides|AutoReqProv|PreReq|Requires|Requires\(.*\)|Enhances|Suggests|Recommends|BuildArch|BuildArchitectures|BuildConflicts|BuildRequires|BuildRoot|ExclusiveArch|ExclusiveOs|ExcludeArch|ExcludeOs|Source\d*|Nosource|Patch\d*|Nopatch)[ \t]*:)" column="0" />
<RegExpr attribute="Tag" context="tag_line_value" String="((Icon)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_os" String="((ExclusiveOs|ExcludeOs)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_arch" String="((BuildArch|BuildArchitectures|ExclusiveArch|ExcludeArch)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_package" String="((Conflicts|Obsoletes|Provides|Requires|Requires\(.*\)|Enhances|Suggests|BuildConflicts|BuildRequires|Recommends|PreReq)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_integer" String="((Epoch|Serial|Nosource|Nopatch)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_switch" String="((AutoReq|AutoProv|AutoReqProv)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_string" String="((Copyright|License|Summary|Summary\(.*\)|Distribution|Vendor|Packager|Group|Source\d*|Patch\d*|BuildRoot|Prefix)[ \t]*:[ \t]*)" column="0" />
<RegExpr attribute="Tag" context="tag_line_string_only_one_word" String="((Name|Version|Release|Url|URL)[ \t]*:[ \t]*)" column="0" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<AnyChar context="macro entry in package section" String="%$" lookAhead="true" />
<!-- Handle comments. "# norootforbuild" is displayed like a tag. -->
<DetectChar context="Comment" char="#" column="0" lookAhead="true" />
<RegExpr context="Comment" String="[ \t]*#" column="0" lookAhead="true" />
<!-- Spaces are okay -->
<DetectSpaces attribute="Fallback for separator spaces" />
<!-- Fallback value for every non-space -->
<!--RegExpr attribute="Error" context="#stay" String="[^\s]" /-->
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="command section">
<!-- "macro entry in package section" is used for lines in the package section that start
with a macro. It recognizes macros. Everything else is treated as normal text. This context
is used to prevent to highlight syntax errors after macros. With the next line break, this
context will switch back ("#pop"). -->
<context attribute="Shell commands" lineEndContext="#pop" name="macro entry in package section">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- "package section start line" simply is used for the parameters after the
"%package" macro. With the next line break, it will switch to the
"package section" context which will handle everything else. -->
<context attribute="Shell commands" lineEndContext="package section" name="package section start line">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<!-- Handle comments. "# norootforbuild" is displayed like a tag. -->
<DetectChar context="Comment" char="#" column="0" lookAhead="true" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="changelog section">
<Detect2Chars attribute="Value" context="tag_line" char="-" char1=" " column="0" />
<Detect2Chars attribute="Tag" context="changelog_header" char="*" char1=" " column="0" />
<!-- "command section" is a generic context for all secions (like %prep, %build, %install...)
where you can enter shell commands. -->
<context attribute="Shell commands" lineEndContext="#stay" name="command section">
<!-- Handle \ -->
<RegExpr attribute="Escaped character" String="\\." />
<DetectChar attribute="Line break" char="\" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<!-- Handle comments. "# norootforbuild" is displayed like a tag. -->
<DetectChar context="Comment" char="#" column="0" lookAhead="true" />
<RegExpr context="Comment" String="[ \t]*#" column="0" lookAhead="true" />
</context>
<!-- "changelog section" is the context for the changelog. By default, everything that is
not recognized especially, is interpretated as changelog text. -->
<context attribute="String" lineEndContext="#stay" name="changelog section">
<!-- Handle calender date -->
<DetectChar attribute="Tag" context="changelog_weekday" char="*" column="0" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<!-- Handle comments. "# norootforbuild" is displayed like a tag. -->
<RegExpr context="Comment" String="[ \t]*#" column="0" lookAhead="true" />
</context>
<context attribute="Normal" lineEndContext="description section" name="description section start line">
<!-- "description section start line" simply is used for the parameters after the
"%description" macro. With the next line break, it will switch to the
"description section" context which will handle the content of the description. -->
<context attribute="Shell commands" lineEndContext="description section" name="description section start line">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<context attribute="Value" lineEndContext="#stay" name="description section">
<!-- "description section" is a follow-up context of "description section start line". See
there for further details. -->
<context attribute="String" lineEndContext="#stay" name="description section">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<!-- Handle comments. "# norootforbuild" is displayed like a tag. -->
<DetectChar context="Comment" char="#" column="0" lookAhead="true" />
<RegExpr context="Comment" String="[ \t]*#" column="0" lookAhead="true" />
</context>
<!-- This is a convenience context that is handling comments automatically. Furthermore it
handles "# norootforbuild" because it looks like a comment. If a context supports comments,
simple use "<RegExpr context="Comment" String="[ \t]*#" column="0" lookAhead="true" />".
(This context relies on the asumption that # is the first non-whitespace. We have to
guarantee this when calling this context! -->
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<StringDetect attribute="Tag" context="every_non_whitespace_is_error" String="# norootforbuild" column="0" />
<!-- Error on single percent ("%"), but not on double percent ("%%"): -->
<!-- While indeeted comments are not allowed by the standard (see section "Comments" at
http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.html#id1961462),
rpmbuild accepts them nevertheless. We highlight them as comments, but we mark the
indeet. -->
<RegExpr attribute="Hint" context="#stay" String="[ \t]+(?=#)" column="0" />
<!-- Handle "# norootforbuild" and some of its miss-spellings. -->
<StringDetect attribute="Tag" context="every_non_whitespace_is_warning" String="# norootforbuild" column="0" />
<RegExpr attribute="Warning" context="#stay" String="#[ \t]*norootforbuild" />
<!-- Warning on single percent ("%"), but not on double percent ("%%"): -->
<Detect2Chars attribute="Comment" char="%" char1="%"/>
<DetectChar attribute="Error" char="%"/>
<!-- Alert on "TODO" -->
<StringDetect attribute="Alert" String="TODO" insensitive="true" />
<StringDetect attribute="Alert" String="FIXME" insensitive="true" />
<DetectChar attribute="Warning" char="%"/>
<IncludeRules context="##Alerts"/> <!-- Alert -->
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="every_non_whitespace_is_error">
<!-- "every_non_whitespace_is_error" is a simple helper context. It switchs back to the
previous context at the end of the line. -->
<context attribute="Fallback for separator spaces" lineEndContext="#pop" name="every_non_whitespace_is_error">
<RegExpr attribute="Error" context="#stay" String="[^\s]" />
</context>
<context attribute="Value" lineEndContext="#pop" name="tag_line">
<!-- "every_non_whitespace_is_warning" is a simple helper context. It switchs back to the
previous context at the end of the line. -->
<context attribute="Fallback for separator spaces" lineEndContext="#pop" name="every_non_whitespace_is_warning">
<RegExpr attribute="Warning" context="#stay" String="[^\s]" />
</context>
<!-- "tag_line_value" is a context for enumeration values. It makes no further syntax
check. -->
<context attribute="Enumeration" lineEndContext="#pop" name="tag_line_value">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_string" is a context for string values. It makes no further syntax
check. -->
<context attribute="String" lineEndContext="#pop" name="tag_line_string">
<!-- Handle \ -->
<RegExpr attribute="Escaped character" String="\\[^%]" />
<RegExpr attribute="Escaped character" String="\\(?=(\%))" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_string_only_one_word" is a context for string values. The first word is
highlighted as string, but after the first space (normal space, tab...), all other
words are highlighted as error. WARNING: This context requieres that there is no space at
the begin! -->
<context attribute="String" lineEndContext="#pop" name="tag_line_string_only_one_word">
<!-- Handle \ -->
<RegExpr attribute="Escaped character" String="\\[^%]" />
<RegExpr attribute="Escaped character" String="\\(?=(\%))" />
<!-- Handle % -->
<AnyChar context="tag_line_string" String="%$" lookAhead="true" />
<!-- Handle spaces -->
<DetectSpaces context="every_non_whitespace_is_error" />
</context>
<!-- "tag_line_integer" is a context for integer values. Non-integer context is marked as
error. -->
<context attribute="Error" lineEndContext="#pop" name="tag_line_integer">
<Int attribute="Integer" context="every_non_whitespace_is_error" />
<!-- Handle % -->
<AnyChar context="tag_line_integer_without_syntax_check" String="%$" lookAhead="true" />
<RegExpr context="every_non_whitespace_is_error" String="." lookAhead="true" />
</context>
<!-- "tag_line_os" is a context for values that define the operation system. Unknown values
are marked as error. -->
<context attribute="Warning" lineEndContext="#pop" name="tag_line_os">
<!-- Spaces are okay -->
<DetectSpaces attribute="Fallback for separator spaces" />
<!-- Recognize valid values -->
<RegExpr attribute="Enumeration" String="&os;&lookahead_whitespace_eol;" />
<!-- Handle % -->
<AnyChar context="tag_line_value" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_integer_without_syntax_check" is a context that is used internally by
"tag_line_integer" after macros. -->
<context attribute="Integer" lineEndContext="#pop" name="tag_line_integer_without_syntax_check">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_arch" is a context for values that define the computer type. Unknown values
are marked as error. -->
<context attribute="Warning" lineEndContext="#pop" name="tag_line_arch">
<!-- Spaces are okay -->
<DetectSpaces attribute="Fallback for separator spaces" />
<!-- Recognize valid values -->
<RegExpr attribute="Enumeration" String="&arch;&lookahead_whitespace_eol;" />
<!-- Handle % -->
<AnyChar context="tag_line_value" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_package" is a context for dependency handling. The keywords <= >= == < > are
recognized and highlighted as keywords. Thee rest is simply highlighted as enumeration. See
http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-specfile-syntax.html#id3045258 and
http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-advanced-packaging.html#id2979270 for
details -->
<context attribute="Enumeration" lineEndContext="#pop" name="tag_line_package">
<AnyChar attribute="Keyword" context="#stay" String="()" /> <!-- See http://rpm5.org/docs/api/dependencies.html about the parentheses -->
<Detect2Chars attribute="Keyword" context="#stay" char="&lt;" char1="="/>
<Detect2Chars attribute="Keyword" context="#stay" char="&gt;" char1="="/>
<Detect2Chars attribute="Keyword" context="#stay" char="=" char1="="/>
<AnyChar attribute="Keyword" context="#stay" String="=&lt;&gt;," />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- "tag_line_switch" is a context that accepts "0", "1", "yes" and "no" as value.
Everything else is an error. See http://www.rpm.org/max-rpm-snapshot/s1-rpm-depend-auto-depend.html
and http://www.rpm.org/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-AUTOREQPROV-TAG -->
<context attribute="Error" lineEndContext="#pop" name="tag_line_switch">
<AnyChar attribute="Enumeration" context="every_non_whitespace_is_error" String="01" />
<Detect2Chars attribute="Enumeration" context="every_non_whitespace_is_error" char="n" char1="o"/>
<StringDetect attribute="Enumeration" context="every_non_whitespace_is_error" String="yes" />
<!-- Handle % -->
<AnyChar context="tag_line_value" String="%$" lookAhead="true" />
<RegExpr context="every_non_whitespace_is_error" String="." lookAhead="true" />
</context>
<!-- A context that doesn't test for format errors in the changelog date anymore. Necessary
if macros are used. -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_generic">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- A context that handles the weekday in the changelog date. -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_weekday">
<DetectSpaces/>
<keyword context="changelog_month" attribute="Tag" String="weekdays" />
<!-- % handling without format errors in the date of the changelog -->
<AnyChar context="changelog_generic" String="%$" lookAhead="true" />
<RegExpr context="changelog_month" attribute="Error" String="\S*" />
</context>
<!-- A context that handles the month in the changelog date. -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_month">
<DetectSpaces/>
<keyword context="changelog_day" attribute="Tag" String="month names" />
<!-- % handling without format errors in the date of the changelog -->
<AnyChar context="changelog_generic" String="%$" lookAhead="true" />
<RegExpr context="changelog_day" attribute="Error" String="\S*" />
</context>
<!-- A context that handles the day in the changelog date. -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_day">
<DetectSpaces/>
<keyword context="changelog_year" attribute="Tag" String="days" />
<!-- % handling without format errors in the date of the changelog -->
<AnyChar context="changelog_generic" String="%$" lookAhead="true" />
<RegExpr context="changelog_year" attribute="Error" String="\S*" />
</context>
<!-- A context that handles the year in the changelog date. -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_year">
<DetectSpaces/>
<RegExpr context="changelog_header" attribute="Tag" String="(\d{4})&lookahead_whitespace_eol;" />
<!-- % handling without format errors in the date of the changelog -->
<AnyChar context="changelog_generic" String="%$" lookAhead="true" />
<RegExpr context="changelog_header" attribute="Error" String="\S*" />
</context>
<!-- A context that handles the text after the date in a changelog (name, e-mail...). -->
<context attribute="Tag" lineEndContext="#pop" name="changelog_header">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="parameters after keyword">
<!-- Handles everything that comes after %ifos etc... -->
<context attribute="Warning" lineEndContext="#pop" name="parameters after ifos">
<!-- Spaces are okay -->
<DetectSpaces attribute="Fallback for separator spaces" />
<!-- Recognize valid values -->
<RegExpr attribute="Enumeration" String="&os;&lookahead_whitespace_eol;" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- Expects a string starting with % or $ (otherwise, this context will fail!). -->
<context lineEndContext="#pop" name="handle_percent">
<!-- Handles everything that comes after %ifarch etc... -->
<context attribute="Warning" lineEndContext="#pop" name="parameters after ifarch">
<!-- Spaces are okay -->
<DetectSpaces attribute="Fallback for separator spaces" />
<!-- Recognize valid values -->
<RegExpr attribute="Enumeration" String="&arch;&lookahead_whitespace_eol;" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- Handles expressions after conditionals. -->
<context attribute="Error" lineEndContext="#pop" name="expression after _if_ statement">
<!-- spaces should not be "Error" (which is the default for unrecognized entities) -->
<DetectSpaces attribute="Fallback for separator spaces" context="#stay" />
<!-- %if recognizes && || > < >= <= == != ! and () -->
<AnyChar attribute="Keyword" context="#stay" String="()" />
<Detect2Chars attribute="Keyword" context="#stay" char="&amp;" char1="&amp;"/>
<Detect2Chars attribute="Keyword" context="#stay" char="&lt;" char1="="/>
<Detect2Chars attribute="Keyword" context="#stay" char="&gt;" char1="="/>
<Detect2Chars attribute="Keyword" context="#stay" char="=" char1="="/>
<Detect2Chars attribute="Keyword" context="#stay" char="!" char1="="/>
<AnyChar attribute="Keyword" context="#stay" String="!&lt;&gt;" />
<Detect2Chars attribute="Keyword" context="#stay" char="|" char1="|"/>
<!-- %if interpretates values either as integer or as string -->
<Int attribute="Integer" context="#stay" />
<DetectIdentifier attribute="String" context="#stay" />
<DetectChar attribute="String" context="quoted strings in if statements" char="&quot;" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
<!-- This context handles quoted strings in %if statements. WARNING: Make sure that you
switch to this context _after_ parsing the starting ", because at the first occurence
of " this context switches back. -->
<context attribute="String" lineEndContext="#pop" name="quoted strings in if statements">
<!-- Handle \ -->
<RegExpr attribute="Escaped character" String="\\[^&quot;]" />
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
<!-- Switch back at the end of the quoted string -->
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<!-- Context for %define -->
<context attribute="Fallback for separator spaces" lineEndContext="#pop" name="macro defination">
<DetectSpaces />
<RegExpr attribute="Enumeration" context="macro defination content" String="[&a_valid_char_in_macro_names;]*&lookahead_whitespace_eol;" />
<RegExpr attribute="Error" context="macro defination content" String="[^ \t]*" />
</context>
<!-- Context for the content of a macro defination. -->
<context attribute="String" lineEndContext="#pop" name="macro defination content">
<DetectSpaces />
<LineContinue attribute="Line break" context="#stay"/>
<DetectChar attribute="Warning" char="\" />
</context>
<!-- Context for %undefine -->
<context attribute="Fallback for separator spaces" lineEndContext="#pop" name="undefine macro">
<DetectSpaces />
<RegExpr attribute="Enumeration" context="every_non_whitespace_is_error" String="[&a_valid_char_in_macro_names;]*&lookahead_whitespace_eol;" />
<RegExpr attribute="Error" context="every_non_whitespace_is_error" String="." />
</context>
<!-- This context handles automatically all type of macros, keywords and so on that start with % or $.
It expects a string starting with % or $ (otherwise, this context will fail!). -->
<context attribute="Fallback for separator spaces" lineEndContext="#pop" name="handle_percent">
<Detect2Chars attribute="Escaped character" context="#pop" char="%" char1="%"/>
<!-- Keywords: -->
<RegExpr attribute="Keyword" context="parameters after keyword" String="%(if|ifarch|ifnarch|ifos|ifnos)(?=($| |\t))" column="0" beginRegion="if_block" />
<RegExpr attribute="Keyword" context="every_non_whitespace_is_error" String="%else(?=($| |\t))" column="0" />
<RegExpr attribute="Keyword" context="every_non_whitespace_is_error" String="%endif(?=($| |\t))" column="0" endRegion="if_block" />
<RegExpr attribute="Keyword" context="parameters after keyword" String="%(define|global|undefine)(?=($| |\t))" column="0" />
<RegExpr attribute="Keyword" context="expression after _if_ statement" String="%(if!?)&lookahead_whitespace_eol;" firstNonSpace="true" beginRegion="if_block" />
<RegExpr attribute="Keyword" context="parameters after ifarch" String="%&arch_conditionals_names;&lookahead_whitespace_eol;" firstNonSpace="true" beginRegion="if_block" />
<RegExpr attribute="Keyword" context="parameters after ifos" String="%&os_conditionals_names;&lookahead_whitespace_eol;" firstNonSpace="true" beginRegion="if_block" />
<RegExpr attribute="Keyword" context="every_non_whitespace_is_error" String="%else&lookahead_whitespace_eol;" firstNonSpace="true" endRegion="if_block" beginRegion="if_block" />
<RegExpr attribute="Keyword" context="every_non_whitespace_is_error" String="%endif&lookahead_whitespace_eol;" firstNonSpace="true" endRegion="if_block" />
<RegExpr attribute="Keyword" context="macro defination" String="%(define|global)&lookahead_whitespace_eol;" firstNonSpace="true" />
<RegExpr attribute="Keyword" context="undefine macro" String="%undefine&lookahead_whitespace_eol;" firstNonSpace="true" />
<!-- If a command section starts (=section macro at begin of the line), we switch
to the corresponding context. There will never be a return to THIS context...: -->
<RegExpr attribute="Section" context="Normal" String="%package(?=($| |\t))" column="0" />
<RegExpr attribute="Section" context="description section start line" String="%description(?=($| |\t))" column="0" />
<RegExpr attribute="Section" context="command section" String="%(prep|build|pre|preun|install|post|postun|clean|files|trigger|triggerin|triggerun|triggerpostun|verifyscript)(?=($| |\t))" column="0" />
<RegExpr attribute="Section" context="changelog section" String="%changelog(?=($| |\t))" column="0" />
<RegExpr attribute="Section" context="package section start line" String="%package&lookahead_whitespace_eol;" column="0" />
<RegExpr attribute="Section" context="description section start line" String="%description&lookahead_whitespace_eol;" column="0" />
<RegExpr attribute="Section" context="command section" String="%&command_section_name;&lookahead_whitespace_eol;" column="0" />
<RegExpr attribute="Section" context="changelog section" String="%changelog&lookahead_whitespace_eol;" column="0" />
<!-- Handle normal macros -->
<RegExpr attribute="Error" context="#pop" String="%([\{\(][ \t]{0,}){0,1}(if|ifarch|ifnarch|ifos|ifnos|else|endif|define|global|undefine|package|description|prep|build|pre|preun|install|post|postun|clean|files|trigger|triggerin|triggerun|triggerpostun|verifyscript|changelog)(?=($|[^&a_valid_char_in_macro_names;]))" />
<RegExpr attribute="Error" context="#pop" String="%([\{\(][ \t]{0,}){0,1}(if|&arch_conditionals_names;|&os_conditionals_names;|else|endif|define|global|undefine|package|description|&command_section_name;|changelog)(?=($|[^&a_valid_char_in_macro_names;]))" />
<RegExpr attribute="Macro call" context="macro content in parenthesis" String="%[&a_valid_char_in_macro_names;]*\(" />
<RegExpr attribute="Macro call" context="macro content in braces" String="(%|\$)\{" />
<RegExpr attribute="Macro call" context="#pop" String="(%|\$)([&a_valid_char_in_macro_names;]{1,}|\*|\#)(?=($|[^&a_valid_char_in_macro_names;]))" /> <!-- ')' and '}' are only allowed as macro terminator in the lookahead because when you do something like %__make %{?jobs:-j %jobs}, then the "%jobs" is a valid macro. However, the disadvantage is that a line like "%abc} isn't marked as error. But it is to complicate to distinguish this properly. -->
@ -96,6 +440,7 @@
<AnyChar attribute="Error" context="#pop" String="%$" /> <!-- a single % or $ is also an error -->
</context>
<!-- Used internally by "handle_percent" -->
<context attribute="Macro call" lineEndContext="#pop#pop" name="macro content in parenthesis">
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
@ -103,9 +448,11 @@
<AnyChar attribute="Error" context="#stay" String="({}" />
</context>
<!-- Used internally by "handle_percent" -->
<context attribute="Macro call" lineEndContext="#pop#pop" name="macro content in braces">
<DetectChar attribute="Macro call" context="#pop#pop" char="}" />
<AnyChar attribute="Error" context="#stay" String="({)" />
<!--(This seems to be confusing instead of helping)AnyChar attribute="Keyword" context="#stay" String="!?:" /-->
<!-- Handle % -->
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
</context>
@ -113,22 +460,46 @@
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<!-- "Shell commands" is used for the sections like %prep, %build or %install, where you write
shell commands. -->
<itemData name="Shell commands" defStyleNum="dsNormal"/>
<!-- "Fallback for separator spaces" is used as a fallback context for spaces between
different contexts. For example: "%if 1 <= %number" has the contexts Keyword,
Integer, Keyword and Macro call. But the spaces between? They are using THIS
context. -->
<itemData name="Fallback for separator spaces" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Tag" defStyleNum="dsDataType"/>
<itemData name="Value" defStyleNum="dsDecVal"/>
<!-- "Enumeration" is used for data types where you can't use arbitrary strings but have
to use predefined values (like in "Provides:" or "%undefine"). -->
<itemData name="Enumeration" defStyleNum="dsOthers"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Integer" defStyleNum="dsDecVal"/>
<!-- "Error" is used for problems that will always produce an error in the interpretation
process. -->
<itemData name="Error" defStyleNum="dsError"/>
<!-- "Warning" is used for problems that will maybe produce an error in the interpretation
process or will lead to unexpected results. -->
<itemData name="Warning" defStyleNum="dsError"/>
<!-- "Hint" is used for problems that will never produce an error in the interpretation
process and will always work like expected (the interpreter has error tolerance),
but that are claimed as bad or invalid .spec following the documentation. -->
<itemData name="Hint" defStyleNum="dsError"/>
<itemData name="Macro call" defStyleNum="dsFunction"/>
<itemData name="Section" defStyleNum="dsRegionMarker"/>
<itemData name="Alert" defStyleNum="dsAlert"/>
<itemData name="Escaped character" defStyleNum="dsChar"/>
<itemData name="Line break" defStyleNum="dsKeyword"/>
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1" />
<!-- defining all word deliminators except space and tab as weak -->
<keywords casesensitive="1" weakDeliminator=".():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\," />
<comments>
<comment name="singleLine" start="#"/>
</comments>
</general>
</language>

@ -7,6 +7,7 @@
Copyright (C) 2004 by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
Copyright (C) 2004 by Stefan Lang (langstefan@gmx.at)
Copyright (C) 2008 by Robin Pedersen (robinpeder@gmail.com)
Copyright (C) 2011 by Miquel Sabaté (mikisabate@gmail.com)
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@ -25,17 +26,16 @@
-->
<!--
TODO: * "Nested" HERE documents aren't recognized.
* Division after gdl contexts is interpreted as regexp
TODO: Division after gdl contexts is interpreted as regexp
-->
<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
<language name="Ruby" section="Scripts"
version="1.18" kateversion="2.4"
extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb"
version="1.24" kateversion="2.4"
extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb;*.rake;Rakefile;Gemfile;*.gemspec"
mimetype="application/x-ruby"
style="ruby" indenter="ruby"
author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi), Robin Pedersen (robinpeder@gmail.com)" license="LGPL">
author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi), Robin Pedersen (robinpeder@gmail.com), Miquel Sabaté (mikisabate@gmail.com)" license="LGPL">
<highlighting>
@ -67,7 +67,6 @@
<item> unless </item>
<item> until </item>
<item> when </item>
<item> while </item>
<item> yield </item>
</list>
@ -161,6 +160,7 @@
<item> readline </item>
<item> readlines </item>
<item> require </item>
<item> require_relative </item>
<item> scan </item>
<item> select </item>
<item> set_trace_func </item>
@ -180,12 +180,6 @@
<item> warn </item>
</list>
<list name="attention">
<item> TODO </item>
<item> FIXME </item>
<item> NOTE </item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<!-- ruby ignores newline after \ -->
@ -201,7 +195,7 @@
<!-- check for statement modifiers with regexes -->
<DetectChar attribute="Operator" char="{" context="Find closing block brace" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/>
<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" />
<RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" beginRegion="def block" firstNonSpace="true"/>
<RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
@ -302,7 +296,7 @@
<!-- recognize the beginning of a general delimited input format -->
<!-- this moves to the next context to separate out the exact nature of the GDL input -->
<RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[Qqxw]?[^\s])" beginRegion="GdlInput" />
<RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[QqxwW]?[^\s])" beginRegion="GdlInput" />
<DetectChar attribute="Normal Text" char=")" context="check_div_1"/>
<DetectIdentifier attribute="Normal Text" context="check_div_2"/>
@ -383,6 +377,7 @@
<context name="Embedded documentation" attribute="Blockcomment" lineEndContext="#stay">
<RegExpr attribute="Comment" String="^=end(?:\s.*|$)" context="#pop" endRegion="comment block" column="0"/>
<IncludeRules context="##Alerts" />
</context>
<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
@ -425,11 +420,11 @@
<context name="Comment Line" attribute="Comment" lineEndContext="#pop">
<RegExpr attribute="Comment" String="\w\:\:\s" context="RDoc Label"/>
<keyword attribute="Alert" String="attention" context="#stay"/>
<IncludeRules context="##Alerts" />
</context>
<context name="General Comment" attribute="Comment" lineEndContext="#pop">
<keyword attribute="Dec" String="attention" context="#stay"/>
<IncludeRules context="##Alerts" />
</context>
<context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
@ -448,22 +443,18 @@
</context>
<!-- these are the real heredoc contexts -->
<context name="indented_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
<IncludeRules context="heredoc_rules" />
</context>
<context name="apostrophed_indented_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
</context>
<context name="normal_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
<IncludeRules context="heredoc_rules" />
</context>
<context name="apostrophed_normal_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
</context>
@ -486,6 +477,14 @@
<!-- then we handle the 'any char' format -->
<RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
<!-- handle token arrays -->
<RegExpr attribute="GDL input" context="gdl_token_array_1" String="W\(" />
<RegExpr attribute="GDL input" context="gdl_token_array_2" String="W\{" />
<RegExpr attribute="GDL input" context="gdl_token_array_3" String="W\[" />
<RegExpr attribute="GDL input" context="gdl_token_array_4" String="W&lt;" />
<!-- then we handle the 'any char' format -->
<RegExpr attribute="GDL input" context="gdl_token_array_5" String="W([^\s\w])" />
<!-- handle apostrophed strings -->
<RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />
<RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />
@ -899,7 +898,6 @@
<!-- use these to mark errors and alerts things -->
<itemData name="Error" defStyleNum="dsError" />
<itemData name="Alert" defStyleNum="dsAlert" />
<itemData name="Delimiter" defStyleNum="dsNormal" color="#FF9FEC"/>
<itemData name="Expression" defStyleNum="dsOthers"/>

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="sed" section="Scripts" version="1.0" kateversion="2.4" extensions="*.sed" mimetype="text/x-sed" author="Bart Sas (bart.sas@gmail.com)" license="GPL">
<highlighting>
<contexts>
<context name="BeginningOfLine" attribute="Normal" lineEndContext="#stay">
<DetectSpaces/>
<DetectChar char="#" attribute="Comment" context="Comment"/>
<RegExpr String="(/)" attribute="Separator" context="FirstAddressRegex"/>
<RegExpr String="\\(\S)" attribute="Separator" context="FirstAddressRegex"/>
<Int attribute="Line Number" context="AfterFirstAddress"/>
<DetectChar char="$" attribute="Last Line" context="AfterFirstAddress"/>
<DetectChar char="}" attribute="Brace" context="AfterCommand"/>
<DetectChar char=":" attribute="Label" context="Label"/>
<DetectChar char="!" attribute="Negation" context="Command"/>
<IncludeRules context="Command"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="FirstAddressRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Regex Escape" context="#stay" dynamic="true"/>
<RegExpr String="%1" attribute="Separator" context="AfterFirstAddress" dynamic="true"/>
<IncludeRules context="Regex"/>
</context>
<context name="AfterFirstAddress" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<DetectChar char="!" attribute="Negation" context="Command"/>
<IncludeRules context="AfterFirstAddress2"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="AfterFirstAddress2" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<DetectChar char="," attribute="Normal" context="SecondAddress"/>
<DetectChar char="~" attribute="Normal" context="Step"/>
<IncludeRules context="Command"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="SecondAddress" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<RegExpr String="(/)" attribute="Separator" context="SecondAddressRegex"/>
<RegExpr String="\\(\S)" attribute="Separator" context="SecondAddressRegex"/>
<Int attribute="Line Number" context="AfterSecondAddress"/>
<DetectChar char="$" attribute="Last Line" context="AfterSecondAddress"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="SecondAddressRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Regex Escape" context="#stay" dynamic="true"/>
<RegExpr String="%1" attribute="Separator" context="AfterSecondAddress" dynamic="true"/>
<IncludeRules context="Regex"/>
</context>
<context name="AfterSecondAddress" attribute="Normal" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<DetectChar char="!" attribute="Negation" context="Command"/>
<IncludeRules context="Command"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="Step" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<Int attribute="Step" context="Command"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="Command" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<DetectChar char="s" attribute="Command" context="SCommand"/>
<DetectChar char="y" attribute="Command" context="YCommand"/>
<AnyChar String="dpnDNPhHgGxFvz=" attribute="Command" context="AfterCommand"/>
<AnyChar String="aic" attribute="Command" context="AICCommand"/>
<AnyChar String="bTt" attribute="Command" context="BTCommand"/>
<AnyChar String="WwrR" attribute="Command" context="WRCommand"/>
<AnyChar String="lL" attribute="Command" context="LCommand"/>
<AnyChar String="qQ" attribute="Command" context="QCommand"/>
<DetectChar char="{" attribute="Brace" context="BeginningOfLine"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="SCommand" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<RegExpr String="(\S)" attribute="Separator" context="SRegex"/>
</context>
<context name="SRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Regex Escape" context="#stay" dynamic="true"/>
<RegExpr String="(%1)" attribute="Separator" context="SReplacement" dynamic="true"/>
<IncludeRules context="Regex"/>
</context>
<context name="SReplacement" attribute="Replacement" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Repl Escape" context="#stay" dynamic="true"/>
<RegExpr String="%1" attribute="Separator" context="SFlags" dynamic="true"/>
<RegExpr String="\\[0-9LlUuE\\&amp;]" attribute="Repl Escape" context="#stay"/>
<DetectChar char="&amp;" attribute="Repl Escape" context="#stay"/>
</context>
<context name="SFlags" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<AnyChar String="gpeIiMm" attribute="Flag" context="#stay"/>
<DetectChar char="w" attribute="Flag" context="WFlag"/>
<Int attribute="Repl Number" context="#stay"/>
<IncludeRules context="AfterCommand"/>
</context>
<context name="WFlag" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<RegExpr String="\S+" attribute="Filename" context="SFlags"/>
</context>
<context name="YCommand" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<RegExpr String="(\S)" attribute="Separator" context="YSourceList"/>
</context>
<context name="YSourceList" attribute="Char List" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Char List Escape" context="#stay" dynamic="true"/>
<RegExpr String="(%1)" attribute="Separator" context="YDestList" dynamic="true"/>
<Detect2Chars char="\" char1="n" attribute="Char List Escape" context="#stay"/>
<Detect2Chars char="\" char1="\" attribute="Char List Escape" context="#stay"/>
</context>
<context name="YDestList" attribute="Char List" lineEndContext="Error" dynamic="true">
<DetectSpaces/>
<RegExpr String="\\%1" attribute="Char List Escape" context="#stay" dynamic="true"/>
<RegExpr String="%1" attribute="Separator" context="AfterCommand" dynamic="true"/>
<Detect2Chars char="\" char1="n" attribute="Char List Escape" context="#stay"/>
<Detect2Chars char="\" char1="\" attribute="Char List Escape" context="#stay"/>
</context>
<context name="AICCommand" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<LineContinue attribute="Line Continue" context="LiteralText"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="LiteralText" attribute="Literal Text" lineEndContext="BeginningOfLine">
<Detect2Chars char="\" char1="\" attribute="Literal Escape" context="LiteralText"/>
<LineContinue attribute="Line Continue" context="LiteralText"/>
<DetectChar char="\" attribute="Error" context="Error"/>
</context>
<context name="BTCommand" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<RegExpr String="\w+" attribute="Label" context="AfterCommand"/>
<IncludeRules context="AfterCommand"/>
</context>
<context name="WRCommand" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<RegExpr String="\S+" attribute="Filename" context="AfterCommand"/>
</context>
<context name="LCommand" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<Int attribute="Wrap Length" context="AfterCommand"/>
<IncludeRules context="AfterCommand"/>
</context>
<context name="QCommand" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<Int attribute="Exit Code" context="AfterCommand"/>
<IncludeRules context="AfterCommand"/>
</context>
<context name="Label" attribute="Normal" lineEndContext="Error">
<DetectSpaces/>
<RegExpr String="\w+" attribute="Label" context="AfterCommand"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="AfterCommand" attribute="Normal" lineEndContext="BeginningOfLine">
<DetectSpaces/>
<DetectChar char=";" attribute="Normal" context="BeginningOfLine"/>
<DetectChar char="}" attribute="Brace" context="AfterCommand"/>
<DetectChar char="#" attribute="Comment" context="Comment"/>
<RegExpr String="\S" attribute="Error" context="Error"/>
</context>
<context name="Regex" attribute="Regex" lineEndContext="Error">
<Detect2Chars char="\" char1="(" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1=")" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="+" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="?" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="|" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="{" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="}" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="[" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="]" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="." attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="*" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="\" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="^" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="$" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="n" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="t" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="0" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="1" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="2" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="3" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="4" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="5" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="6" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="7" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="8" attribute="Regex Escape" context="#stay"/>
<Detect2Chars char="\" char1="9" attribute="Regex Escape" context="#stay"/>
<DetectChar char="*" attribute="Regex Escape" context="#stay"/>
<DetectChar char="." attribute="Regex Escape" context="#stay"/>
<DetectChar char="^" attribute="Regex Escape" context="#stay"/>
<DetectChar char="$" attribute="Regex Escape" context="#stay"/>
<DetectChar char="[" attribute="Regex Escape" context="#stay"/>
<DetectChar char="]" attribute="Regex Escape" context="#stay"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="BeginningOfLine"/>
<context name="Error" attribute="Error" lineEndContext="BeginningOfLine"/>
</contexts>
<itemDatas>
<itemData name="Normal" defStyleNum="dsNormal"/>
<itemData name="Regex" defStyleNum="dsString"/>
<itemData name="Regex Escape" defStyleNum="dsChar"/>
<itemData name="Replacement" defStyleNum="dsString"/>
<itemData name="Repl Escape" defStyleNum="dsChar"/>
<itemData name="Char List" defStyleNum="dsString"/>
<itemData name="Char List Escape" defStyleNum="dsChar"/>
<itemData name="Separator" defStyleNum="dsString" color="#00F"/>
<itemData name="Line Number" defStyleNum="dsDecVal"/>
<itemData name="Step" defStyleNum="dsDecVal"/>
<itemData name="Last Line" defStyleNum="dsOthers" color="#808" bold="1"/>
<itemData name="Negation" defStyleNum="dsOthers" color="#808" bold="1"/>
<itemData name="Command" defStyleNum="dsKeyword"/>
<itemData name="Label" defStyleNum="dsFunction"/>
<itemData name="Brace" defStyleNum="dsNormal"/>
<itemData name="Flag" defStyleNum="dsDataType"/>
<itemData name="Repl Number" defStyleNum="dsDecVal"/>
<itemData name="Exit Code" defStyleNum="dsDecVal"/>
<itemData name="Filename" defStyleNum="dsBaseN"/>
<itemData name="Wrap Length" defStyleNum="dsDecVal"/>
<itemData name="Line Continue" defStyleNum="dsOthers" color="#000" bold="1"/>
<itemData name="Literal Text" defStyleNum="dsOthers" color="#080" italic="1"/>
<itemData name="Literal Escape" defStyleNum="dsOthers" color="#0A0" italic="1"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Error" defStyleNum="dsError"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
</general>
</language>

@ -5,7 +5,7 @@
original by Shane Wright (me@shanewright.co.uk)
modifications by Milian Wolff (mail@milianw.de)
-->
<language name="SQL (MySQL)" version="1.09" kateversion="2.5" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
<language name="SQL (MySQL)" version="1.13" kateversion="2.5" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
<highlighting>
<list name="keywords">
<item> ACCESS </item>
@ -381,6 +381,7 @@
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<!-- problematic special cases -->
<!-- SET type -->
<RegExpr attribute="Data Type" context="#stay" insensitive="true" String="SET(?=\s*\()"/>
@ -391,16 +392,12 @@
<keyword attribute="Operator" context="#stay" String="operators"/>
<keyword attribute="Function" context="#stay" String="functions"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<DetectIdentifier />
<!-- extra data types -->
<RegExpr attribute="Data Type" context="#stay" String="%bulk_exceptions\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%bulk_rowcount\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%found\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%isopen\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%notfound\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%rowcount\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%rowtype\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%type\b" insensitive="true"/>
<RegExpr attribute="Data Type" context="#stay" String="%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\b" insensitive="true"/>
<!-- numbers -->
<HlCHex attribute="Hex" context="#stay"/>
<Float attribute="Float" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
<!-- strings -->
@ -449,19 +446,20 @@
<context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Operator" defStyleNum="dsNormal"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Operator" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Data Type" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Name" color="#080" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Name" color="#080" defStyleNum="dsString" spellChecking="false"/>
<itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsChar"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Symbol" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- PostgreSQL SQL, syntax definition based on sql.xml by Yury Lebedev -->
<language name="SQL (PostgreSQL)" version="1.09" kateversion="2.4" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
<language name="SQL (PostgreSQL)" version="1.10" kateversion="2.4" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
<highlighting>
<list name="keywords">
<item> ABORT </item>
@ -649,7 +649,7 @@
<item> PATH </item>
<item> POINT </item>
<item> POLYGON </item>
<!-- network address type, TEXT is omitted as its more commonly a data type -->
<!-- network address type, TEXT is omitted as it is more commonly a data type -->
<item> BROADCAST </item>
<item> HOST </item>
<item> MASKLEN </item>
@ -731,6 +731,8 @@
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<!-- HACK: don't jump into MultiLineString for CREATE FUNCTION $funcName$...$funcName$ -->
<StringDetect String="CREATE FUNCTION" context="CreateFunction" attribute="Keyword" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Operator" context="#stay" String="operators"/>
<keyword attribute="Function" context="#stay" String="functions"/>
@ -754,10 +756,18 @@
<AnyChar attribute="Symbol" context="#stay" String=":&#38;"/>
<RegExpr attribute="Symbol" context="#stay" String="/$" column="0"/>
<RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/>
<RegExpr attribute="Operator" context="MultiLineString" String="\$([^$]*)\$" dynamic="true"/>
<RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$" dynamic="true"/>
</context>
<context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$" dynamic="true"/>
<IncludeRules context="Normal" />
</context>
<context name="FunctionBody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Function" context="#pop#pop" String="\$%1\$" dynamic="true"/>
<IncludeRules context="Normal" />
</context>
<context name="MultiLineString" attribute="String" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Operator" context="Normal" String="\$%1\$" dynamic="true"/>
<RegExpr attribute="Operator" context="#pop" String="\$%1\$" dynamic="true"/>
</context>
<context name="String" attribute="String" lineEndContext="#stay">
<LineContinue attribute="String" context="#pop"/>

@ -3,7 +3,7 @@
<!-- Oracle10g SQL and PL/SQL syntax - ANSI SQL 2003 superset -->
<!-- This file is maintained by Anders Lund <anders@alweb.dk> since 2005-11-06 -->
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
<language name="SQL" version="1.13" kateversion="2.4" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL">
<language name="SQL" version="1.14" kateversion="2.4" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL">
<highlighting>
<list name="keywords">
<item> ACCESS </item>
@ -884,20 +884,21 @@
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<keyword attribute="Keyword" String="keywords" context="#stay"/>
<keyword attribute="Operator" String="operators" context="#stay"/>
<keyword attribute="Function" String="functions" context="#stay"/>
<keyword attribute="Data Type" String="types" context="#stay"/>
<RegExpr attribute="Data Type" String="%bulk_exceptions\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%bulk_rowcount\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%found\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%isopen\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%notfound\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%rowcount\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%rowtype\b" insensitive="true" context="#stay"/>
<RegExpr attribute="Data Type" String="%type\b" insensitive="true" context="#stay"/>
<DetectIdentifier />
<RegExpr attribute="Data Type" context="#stay" String="%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\b" insensitive="true"/>
<HlCHex attribute="Hex" context="#stay"/>
<Float attribute="Float" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
<DetectChar attribute="String" context="String literal" char="'"/>
<Detect2Chars attribute="Comment" context="Singleline PL/SQL-style comment" char="-" char1="-"/>
<Detect2Chars attribute="Comment" context="Multiline C-style comment" char="/" char1="*"/>
@ -931,6 +932,7 @@
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- TADS 3 syntax highlight definition for Kate. -->
<!-- Author: Nikos Chantziaras <realnc@gmail.com> -->
<language name="TADS 3" section="Sources"
version="1.0" kateversion="2.4"
indenter="cstyle"
extensions="*.t;*.h"
mimetype=""
priority="0">
<highlighting>
<list name="keywords">
<item> abort </item>
<item> and </item>
<item> argcount </item>
<item> break </item>
<item> case </item>
<item> catch </item>
<item> class </item>
<item> construct </item>
<item> continue </item>
<item> default </item>
<item> definingobj </item>
<item> delegated </item>
<item> dictionary </item>
<item> do </item>
<item> else </item>
<item> enum </item>
<item> exit </item>
<item> export </item>
<item> extern </item>
<item> finalize </item>
<item> finally </item>
<item> for </item>
<item> foreach </item>
<item> function </item>
<item> goto </item>
<item> grammar </item>
<item> if </item>
<item> in </item>
<item> inherited </item>
<item> intrinsic </item>
<item> is </item>
<item> local </item>
<item> modify </item>
<item> new </item>
<item> nil </item>
<item> not </item>
<item> object </item>
<item> or </item>
<item> property </item>
<item> propertyset </item>
<item> replace </item>
<item> replaced </item>
<item> return </item>
<item> self </item>
<item> static </item>
<item> switch </item>
<item> targetobj </item>
<item> targetprop </item>
<item> template </item>
<item> throw </item>
<item> token </item>
<item> transient </item>
<item> true </item>
<item> try </item>
<item> while </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<Int attribute="Decimal" context="#stay"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<DetectChar attribute="ValString" context="ValString" char="'"/>
<Detect2Chars attribute="Comment" context="ShortComment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="LongComment" char="/" char1="*" beginRegion="Comment"/>
<DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Brace1"/>
<DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Brace1"/>
<AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=&gt;?[]^{|}~"/>
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#"/>
</context>
<context attribute="String" lineEndContext="#stay" name="String">
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="n"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="r"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="t"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="b"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="^"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="v"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1=" "/>
<Detect2Chars attribute="Embedded Expression" context="embedded" char="&lt;" char1="&lt;"/>
<DetectChar attribute="HTML Tag" context="htmltag" char="&lt;"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="ValString" lineEndContext="#stay" name="ValString">
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="'"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="n"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="r"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="t"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="b"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="^"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="v"/>
<Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1=" "/>
<DetectChar attribute="HTML Tag" context="htmltag" char="&lt;"/>
<DetectChar attribute="String" context="#pop" char="'"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="ShortComment">
<RegExpr attribute="Preprocessor" context="#stay" String="(FIXME|TODO)"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="LongComment">
<RegExpr attribute="Preprocessor" context="#stay" String="(FIXME|TODO)"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RangeDetect attribute="String" context="#stay" char="&quot;" char1="&quot;"/>
<RangeDetect attribute="String" context="#stay" char="&lt;" char1="&gt;"/>
<Detect2Chars attribute="Comment" context="ShortComment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="LongComment/Preprocessor" char="/" char1="*"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="LongComment/Preprocessor">
<RegExpr attribute="Preprocessor" context="#stay" String="(FIXME|TODO)"/>
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
</context>
<context name="embedded" attribute="Embedded Expression" lineEndContext="#stay">
<Detect2Chars attribute="Embedded Expression" context="#pop" char="&gt;" char1="&gt;"/>
</context>
<context name="htmltag" attribute="HTML Tag" lineEndContext="#stay">
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;"/>
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="ValString" defStyleNum="dsString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Backslash Code" defStyleNum="dsKeyword" color="#0F0F8F" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="HTML Tag" defStyleNum="dsKeyword" color="#0F0F8F" selColor="#ffffff" bold="0" italic="1"/>
<itemData name="Embedded Expression" defStyleNum="dsNormal" color="#000000" selColor="#ffffff" bold="0" italic="1"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//"/>
<comment name="multiLine" start="/*" end="*/"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>

@ -0,0 +1,868 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
<!ENTITY word "[|&amp;;()&lt;&gt;\s]+"> <!-- see man csh -->
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )"> <!-- valid character in a file name -->
]>
<language name="Tcsh" version="0.1" kateversion="2.4" section="Scripts" extensions="*.csh;*.tcsh;csh.cshrc;csh.login;.tcshrc;.cshrc;.login" mimetype="application/x-csh" casesensitive="1" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL">
<!-- (c) 2006 Matthew Woehlke (mw_triad@users.sourceforge.net)
Based on the bash highlighter by Wilbert Berendsen (wilbert@kde.nl)
Released under the LGPL -->
<highlighting>
<list name="keywords">
<item> else </item>
<item> for </item>
<item> function </item>
<item> in </item>
<item> select </item>
<item> until </item>
<item> while </item>
<item> . </item>
<item> then </item>
</list>
<list name="builtins">
<item> : </item>
<item> alias </item>
<item> alloc </item>
<item> bg </item>
<item> bindkey </item>
<item> break </item>
<item> builtins </item>
<item> bye </item>
<item> cd </item>
<item> chdir </item>
<item> complete </item>
<item> continue </item>
<item> dirs </item>
<item> echo </item>
<item> echotc </item>
<item> eval </item>
<item> exec </item>
<item> exit </item>
<item> fg </item>
<item> filetest </item>
<item> glob </item>
<item> hashstat </item>
<item> history </item>
<item> hup </item>
<item> inlib </item>
<item> jobs </item>
<item> kill </item>
<item> limit </item>
<item> log </item>
<item> login </item>
<item> logout </item>
<item> ls-F </item>
<item> migrate </item>
<item> newgrp </item>
<item> nice </item>
<item> nohup </item>
<item> notify </item>
<item> onintr </item>
<item> popd </item>
<item> printenv </item>
<item> pushd </item>
<item> rehash </item>
<item> repeat </item>
<item> sched </item>
<item> settc </item>
<item> setty </item>
<item> shift </item>
<item> source </item>
<item> stop </item>
<item> suspend </item>
<item> telltc </item>
<item> time </item>
<item> umask </item>
<item> unalias </item>
<item> uncomplete </item>
<item> unhash </item>
<item> unlimit </item>
<item> ver </item>
<item> wait </item>
<item> watchlog </item>
<item> where </item>
<item> which </item>
</list>
<list name="builtins_var">
<item> unset </item>
<item> unsetenv </item>
</list>
<list name="unixcommands">
<!-- /bin -->
<item> arch </item>
<item> awk </item>
<item> bash </item>
<item> bunzip2 </item>
<item> bzcat </item>
<item> bzcmp </item>
<item> bzdiff </item>
<item> bzegrep </item>
<item> bzfgrep </item>
<item> bzgrep </item>
<item> bzip2 </item>
<item> bzip2recover </item>
<item> bzless </item>
<item> bzmore </item>
<item> cat </item>
<item> chattr </item>
<item> chgrp </item>
<item> chmod </item>
<item> chown </item>
<item> chvt </item>
<item> cp </item>
<item> date </item>
<item> dd </item>
<item> deallocvt </item>
<item> df </item>
<item> dir </item>
<item> dircolors </item>
<item> dmesg </item>
<item> dnsdomainname </item>
<item> domainname </item>
<item> du </item>
<item> dumpkeys </item>
<item> echo </item>
<item> ed </item>
<item> egrep </item>
<item> false </item>
<item> fgconsole </item>
<item> fgrep </item>
<item> fuser </item>
<item> gawk </item>
<item> getkeycodes </item>
<item> gocr </item>
<item> grep </item>
<item> groff </item>
<item> groups </item>
<item> gunzip </item>
<item> gzexe </item>
<item> gzip </item>
<item> hostname </item>
<item> igawk </item>
<item> install </item>
<item> kbd_mode </item>
<item> kbdrate </item>
<item> killall </item>
<item> last </item>
<item> lastb </item>
<item> link </item>
<item> ln </item>
<item> loadkeys </item>
<item> loadunimap </item>
<item> login </item>
<item> ls </item>
<item> lsattr </item>
<item> lsmod </item>
<item> lsmod.old </item>
<item> mapscrn </item>
<item> mesg </item>
<item> mkdir </item>
<item> mkfifo </item>
<item> mknod </item>
<item> mktemp </item>
<item> more </item>
<item> mount </item>
<item> mv </item>
<item> nano </item>
<item> netstat </item>
<item> nisdomainname </item>
<item> nroff </item>
<item> openvt </item>
<item> pgawk </item>
<item> pidof </item>
<item> ping </item>
<item> ps </item>
<item> pstree </item>
<item> pwd </item>
<item> rbash </item>
<item> readlink </item>
<item> red </item>
<item> resizecons </item>
<item> rm </item>
<item> rmdir </item>
<item> run-parts </item>
<item> sash </item>
<item> sed </item>
<item> setfont </item>
<item> setkeycodes </item>
<item> setleds </item>
<item> setmetamode </item>
<item> setserial </item>
<item> sh </item>
<item> showkey </item>
<item> shred </item>
<item> sleep </item>
<item> ssed </item>
<item> stat </item>
<item> stty </item>
<item> su </item>
<item> sync </item>
<item> tar </item>
<item> tempfile </item>
<item> touch </item>
<item> troff </item>
<item> true </item>
<item> umount </item>
<item> uname </item>
<item> unicode_start </item>
<item> unicode_stop </item>
<item> unlink </item>
<item> utmpdump </item>
<item> uuidgen </item>
<item> vdir </item>
<item> wall </item>
<item> wc </item>
<item> ypdomainname </item>
<item> zcat </item>
<item> zcmp </item>
<item> zdiff </item>
<item> zegrep </item>
<item> zfgrep </item>
<item> zforce </item>
<item> zgrep </item>
<item> zless </item>
<item> zmore </item>
<item> znew </item>
<item> zsh </item>
<!-- some from /usr/bin -->
<item> aclocal </item>
<item> aconnect </item>
<item> aplay </item>
<item> apm </item>
<item> apmsleep </item>
<item> apropos </item>
<item> ar </item>
<item> arecord </item>
<item> as </item>
<item> as86 </item>
<item> autoconf </item>
<item> autoheader </item>
<item> automake </item>
<item> awk </item>
<item> basename </item>
<item> bc </item>
<item> bison </item>
<item> c++ </item>
<item> cal </item>
<item> cat </item>
<item> cc </item>
<item> cdda2wav </item>
<item> cdparanoia </item>
<item> cdrdao </item>
<item> cd-read </item>
<item> cdrecord </item>
<item> chfn </item>
<item> chgrp </item>
<item> chmod </item>
<item> chown </item>
<item> chroot </item>
<item> chsh </item>
<item> clear </item>
<item> cmp </item>
<item> co </item>
<item> col </item>
<item> comm </item>
<item> cp </item>
<item> cpio </item>
<item> cpp </item>
<item> cut </item>
<item> dc </item>
<item> dd </item>
<item> df </item>
<item> diff </item>
<item> diff3 </item>
<item> dir </item>
<item> dircolors </item>
<item> directomatic </item>
<item> dirname </item>
<item> du </item>
<item> env </item>
<item> expr </item>
<item> fbset </item>
<item> file </item>
<item> find </item>
<item> flex </item>
<item> flex++ </item>
<item> fmt </item>
<item> free </item>
<item> ftp </item>
<item> funzip </item>
<item> fuser </item>
<item> g++ </item>
<item> gawk </item>
<item> gc </item>
<item> gcc </item>
<item> gdb </item>
<item> getent </item>
<item> getopt </item>
<item> gettext </item>
<item> gettextize </item>
<item> gimp </item>
<item> gimp-remote </item>
<item> gimptool </item>
<item> gmake </item>
<item> gs </item>
<item> head </item>
<item> hexdump </item>
<item> id </item>
<item> install </item>
<item> join </item>
<item> kill </item>
<item> killall </item>
<item> ld </item>
<item> ld86 </item>
<item> ldd </item>
<item> less </item>
<item> lex </item>
<item> ln </item>
<item> locate </item>
<item> lockfile </item>
<item> logname </item>
<item> lp </item>
<item> lpr </item>
<item> ls </item>
<item> lynx </item>
<item> m4 </item>
<item> make </item>
<item> man </item>
<item> mkdir </item>
<item> mknod </item>
<item> msgfmt </item>
<item> mv </item>
<item> namei </item>
<item> nasm </item>
<item> nawk </item>
<item> nice </item>
<item> nl </item>
<item> nm </item>
<item> nm86 </item>
<item> nmap </item>
<item> nohup </item>
<item> nop </item>
<item> od </item>
<item> passwd </item>
<item> patch </item>
<item> pcregrep </item>
<item> pcretest </item>
<item> perl </item>
<item> perror </item>
<item> pidof </item>
<item> pr </item>
<item> printf </item>
<item> procmail </item>
<item> prune </item>
<item> ps2ascii </item>
<item> ps2epsi </item>
<item> ps2frag </item>
<item> ps2pdf </item>
<item> ps2ps </item>
<item> psbook </item>
<item> psmerge </item>
<item> psnup </item>
<item> psresize </item>
<item> psselect </item>
<item> pstops </item>
<item> rcs </item>
<item> rev </item>
<item> rm </item>
<item> scp </item>
<item> sed </item>
<item> seq </item>
<item> setterm </item>
<item> shred </item>
<item> size </item>
<item> size86 </item>
<item> skill </item>
<item> slogin </item>
<item> snice </item>
<item> sort </item>
<item> sox </item>
<item> split </item>
<item> ssh </item>
<item> ssh-add </item>
<item> ssh-agent </item>
<item> ssh-keygen </item>
<item> ssh-keyscan </item>
<item> stat </item>
<item> strings </item>
<item> strip </item>
<item> sudo </item>
<item> suidperl </item>
<item> sum </item>
<item> tac </item>
<item> tail </item>
<item> tee </item>
<item> test </item>
<item> tr </item>
<item> uniq </item>
<item> unlink </item>
<item> unzip </item>
<item> updatedb </item>
<item> updmap </item>
<item> uptime </item>
<item> users </item>
<item> vmstat </item>
<item> w </item>
<item> wc </item>
<item> wget </item>
<item> whatis </item>
<item> whereis </item>
<item> which </item>
<item> who </item>
<item> whoami </item>
<item> write </item>
<item> xargs </item>
<item> yacc </item>
<item> yes </item>
<item> zip </item>
<item> zsoelim </item>
<!-- others -->
<item> dcop </item>
<item> kdialog </item>
<item> kfile </item>
<item> xhost </item>
<item> xmodmap </item>
<item> xset </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Start">
<IncludeRules context="FindAll" />
</context>
<!-- ====== The following rulessets are meant to be included ======== -->
<!-- FindAll tries to interpret everything -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindAll">
<IncludeRules context="FindComments" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FindMost tries to interpret anything except commands -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindMost">
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FindComments consumes shell comments till EOL -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindComments">
<DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<IncludeRules context="##Alerts" />
</context>
<!-- FindCommentsParen consumes shell comments till EOL or a closing parenthese -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsParen">
<DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="CommentParen">
<RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" />
<IncludeRules context="##Alerts" />
</context>
<!-- FindCommentsBackq consumes shell comments till EOL or a backquote -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsBackq">
<DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
<RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
<IncludeRules context="##Alerts" />
</context>
<!-- breaksw case default if else end endif endsw foreach goto
set setenv switch while -->
<!-- FindCommands matches many items that can be expected outside strings, substitutions etc. -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindCommands">
<!-- start expression in double parentheses -->
<!--!--><Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" />
<!-- start expression in double brackets -->
<!--!--><RegExpr attribute="Keyword" context="ExprDblBracket" String="\[\[&eos;" beginRegion="expression" column="0"/>
<!--!--><RegExpr attribute="Keyword" context="ExprDblBracket" String="\s\[\[&eos;" beginRegion="expression" />
<!-- start expression in single brackets -->
<!--!--><RegExpr attribute="Builtin" context="ExprBracket" String="\[&eos;" beginRegion="expression" column="0"/>
<!--!--><RegExpr attribute="Builtin" context="ExprBracket" String="\s\[&eos;" beginRegion="expression" />
<!-- start a group command with { -->
<!--!--><RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" />
<!-- start a subshell -->
<!--!--><DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
<!-- match do and if blocks -->
<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
<!--!--><RegExpr attribute="Keyword" context="#stay" String="\belse\s+if&noword;" />
<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bendif&noword;" endRegion="if" />
<!-- handle switch as a special case -->
<!--!--><RegExpr attribute="Keyword" context="Switch" String="\bswitch&noword;" beginRegion="switch" />
<!-- handle command line options -->
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9][A-Za-z0-9_]*" />
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
<!-- handle variable assignments -->
<!--R--><RegExpr attribute="Keyword" context="Cmd@" String="\b@\s" />
<!--R--><RegExpr attribute="Keyword" context="CmdSet" String="\bset\s" />
<RegExpr attribute="Keyword" context="CmdSetEnv" String="\bsetenv\s" />
<!-- handle functions with function keyword before keywords -->
<!--!--><StringDetect attribute="Function" context="#stay" String=":()" />
<!--!--><RegExpr attribute="Keyword" context="FunctionDef" String="\bfunction\b" />
<!-- handle keywords -->
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Builtin" context="#stay" String="builtins" />
<keyword attribute="Command" context="#stay" String="unixcommands" />
<!-- handle commands that have variable names as argument -->
<keyword attribute="Builtin" context="VarName" String="builtins_var" />
<!-- handle redirection -->
<RegExpr attribute="Redirection" context="#stay" String="(&lt;&lt;?|&gt;&gt;?&amp;?!?)" />
<!-- handle &, &&, | and || -->
<RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
<!-- mark function definitions without function keyword -->
<RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
</context>
<!-- FindOthers contains various rules to mark different shell input -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
<RegExpr attribute="Escape" context="#stay" String="\\[;&quot;\\'$`{}()|&amp;&lt;&gt;* ]" />
<!--? <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />-->
<RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
<RegExpr attribute="Path" context="#stay" String="~\w*" />
<RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
<!-- TODO: shell globs -->
</context>
<!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
<DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
<DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
<Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
<Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
</context>
<!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
<RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
<RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
<RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
<RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
<RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;\}" />
<RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;\*?\}" />
<RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
<RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/])" />
<StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
<!--? <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />-->
<!--? <StringDetect attribute="Variable" context="SubstCommand" String="$(" />-->
<DetectChar attribute="Backquote" context="SubstBackq" char="`" />
<RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
</context>
<!-- FindTests finds operators valid in tests -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
<RegExpr attribute="Expression" context="#stay" String="-[rwxXeozsfdlbcpSugktRLDIFNZ](?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="-[AMCUG]:?(?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="-P[0-7]{,3}:?(?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="([|&amp;=&gt;&lt;)\1"/>
<RegExpr attribute="Expression" context="#stay" String="[|^&amp;&gt;&lt;+-*/%!~]"/>
<RegExpr attribute="Expression" context="#stay" String="([!=]~|[!&gt;&lt;]=)"/>
</context>
<!-- ====== These are the contexts that can be branched to ======= -->
<!-- ExprDblParen consumes an expression started in command mode till )) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
<Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprDblParenSubst like ExprDblParen but matches )) as Variable -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst">
<Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprSubParen consumes an expression till ) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprSubParen">
<DetectChar attribute="Normal Text" context="#pop" char=")" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprBracket consumes an expression till ] -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
<RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
<RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindTests" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprDblBracket consumes an expression till ]] -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
<RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
<RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindTests" />
<IncludeRules context="FindMost" />
</context>
<!-- Group consumes shell input till } -->
<context attribute="Normal Text" lineEndContext="#stay" name="Group">
<DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" />
<IncludeRules context="FindAll" />
</context>
<!-- SubShell consumes shell input till ) -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubShell">
<DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
<IncludeRules context="FindAll" />
</context>
<!-- Assign consumes an expression till EOL or whitespace -->
<context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthrough="true" fallthroughContext="#pop">
<DetectChar attribute="Variable" context="AssignArray" char="(" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
<RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]+" />
</context>
<!-- AssignArray consumes everything till ), marking assignments -->
<context attribute="Normal Text" lineEndContext="#pop" name="AssignArray">
<DetectChar attribute="Variable" context="#pop" char=")" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindMost" />
</context>
<!-- AssignSubscr first expects a [ then parses subscript and continues with '=value' -->
<context attribute="Normal Text" lineEndContext="#pop" name="AssignSubscr" fallthrough="true" fallthroughContext="#pop">
<DetectChar attribute="Variable" context="Subscript" char="[" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- Subscript consumes anything till ], marks as Variable -->
<context attribute="Variable" lineEndContext="#stay" name="Subscript">
<DetectChar attribute="Variable" context="#pop" char="]" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FunctionDef consumes a name, possibly with (), marks as Function -->
<context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthrough="true" fallthroughContext="#pop">
<RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" />
</context>
<!-- CmdSetEnv handles the name part of setenv -->
<context attribute="Normal Text" lineEndContext="#pop" name="CmdSetEnv" fallthrough="true" fallthroughContext="#pop">
<!-- handle command line options -->
<RegExpr attribute="Variable" context="#pop" String="\b&varname;" />
<DetectChar attribute="Variable" context="Assign" char="\s" />
<IncludeRules context="FindMost" />
</context>
<!-- VarName consumes spare variable names and assignments -->
<context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
<!-- handle command line options -->
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
<RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindMost" />
<!-- stay here in spaces and other safe characters -->
<RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
</context>
<!-- ProcessSubst handles <(command) and >(command) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ProcessSubst">
<DetectChar attribute="Redirection" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- StringSQ consumes anything till ' -->
<context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
</context>
<!-- StringDQ consumes anything till ", substitutes vars and expressions -->
<context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
<DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
<RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
<IncludeRules context="FindSubstitutions" />
</context>
<!-- StringEsc eats till ', but escaping many characters -->
<context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc">
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
<RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']" />
<RegExpr attribute="String Escape" context="#stay" String="\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" />
</context>
<!-- VarBrace is called as soon as ${xxx is encoutered -->
<context attribute="Variable" lineEndContext="#stay" name="VarBrace">
<DetectChar attribute="Variable" context="#pop" char="}" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<!-- TODO: highlight various special parameter expansions } -->
</context>
<!-- SubstFile is called after a <( or >( is encoutered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstFile">
<DetectChar attribute="Redirection" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- SubstCommand is called after a $( is encountered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand">
<DetectChar attribute="Variable" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- SubstBackq is called when a backquote is encountered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
<DetectChar attribute="Backquote" context="#pop" char="`" />
<IncludeRules context="FindCommentsBackq" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- Switch is called after the switch keyword is encoutered. This is
left over from the bash highlighter where the lonely parentheses
would otherwise cause trouble. We keep it because it lets us do a
bit of extra syntax validation. -->
<context attribute="Normal Text" lineEndContext="#stay" name="Switch">
<RegExpr attribute="Keyword" context="SwitchCase" String="\scase\b" />
<RegExpr attribute="Keyword" context="SwitchDefault" String="\sdefault\b" />
<RegExpr attribute="Keyword" context="#pop" String="\bendsw(?=$|[\s;)])" endRegion="switch" />
<IncludeRules context="FindMost" />
</context>
<!-- SwitchCase is called when the construct 'switch ... case' has been found. -->
<context attribute="Normal Text" lineEndContext="#stay" name="SwitchCase">
<DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" />
<IncludeRules context="FindMost" />
</context>
<!-- SwitchDefault is called when the construct 'switch ... default' has been found. -->
<context attribute="Normal Text" lineEndContext="#stay" name="SwitchDefault">
<DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" />
</context>
<!-- SwitchExpr eats shell input till breaksw -->
<context attribute="Normal Text" lineEndContext="#stay" name="SwitchExpr">
<RegExpr attribute="Keyword" context="#pop#pop" String="\sbreaksw\b" endRegion="switchexpr" />
<RegExpr attribute="Keyword" context="#pop#pop" String="\scase\b" endRegion="switchexpr" lookAhead="true" />
<IncludeRules context="FindAll" />
</context>
<!-- HereDoc consumes Here-documents. It is called at the beginning of the "<<" construct. -->
<context attribute="Normal Text" lineEndContext="#stay" name="HereDoc">
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocNQ" String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
<StringDetect attribute="Redirection" context="#pop" String="&lt;&lt;" /><!-- always met -->
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
<IncludeRules context="FindAll" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="%2[\s;]*$" dynamic="true" column="0"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocNQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="%2[\s;]*$" dynamic="true" column="0"/>
<IncludeRules context="FindSubstitutions" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocIQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="\s*%2[\s;]*$" dynamic="true" column="0"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocINQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="\s*%2[\s;]*$" dynamic="true" column="0"/>
<IncludeRules context="FindSubstitutions" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="Control" defStyleNum="dsKeyword" />
<itemData name="Label" defStyleNum="dsOthers" />
<itemData name="Builtin" defStyleNum="dsKeyword" />
<itemData name="Command" defStyleNum="dsKeyword" />
<itemData name="Redirection" defStyleNum="dsKeyword" />
<itemData name="Escape" defStyleNum="dsDataType" />
<itemData name="String SingleQ" defStyleNum="dsString" />
<itemData name="String DoubleQ" defStyleNum="dsString" />
<itemData name="Backquote" defStyleNum="dsKeyword" />
<itemData name="String Transl." defStyleNum="dsString" />
<itemData name="String Escape" defStyleNum="dsDataType" />
<itemData name="Variable" defStyleNum="dsOthers" />
<itemData name="Expression" defStyleNum="dsOthers" />
<itemData name="Function" defStyleNum="dsFunction" />
<itemData name="Path" defStyleNum="dsNormal" />
<itemData name="Option" defStyleNum="dsNormal" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-" additionalDeliminator="`"/>
</general>
</language>

@ -2,29 +2,32 @@
<!DOCTYPE language SYSTEM "language.dtd">
<!-- Created by Juliano Dorneles dos Santos <juliano_dorneles@yahoo.com.br> -->
<!-- Fixed for 3.2 Helio Chissini de Castro <helio@kde.org> -->
<language name="txt2tags" extensions="*.t2t" section="Markup" mimetype="text/txt2tags" version="1.01" kateversion="2.4" casesensitive="1">
<!-- Extended and adapted (v1.20) by Eric Forgeot < http://esclinux.tk > -->
<language name="txt2tags" extensions="*.t2t" section="Markup" mimetype="text/txt2tags" version="1.20" kateversion="2.4" casesensitive="1">
<highlighting>
<contexts>
<context name="Context" attribute="Normal" lineEndContext="#stay">
<RegExpr attribute="Date" context="Context" String="%%date(\(.*\))?"/>
<RegExpr attribute="Comment" context="Context" String="%.*"/>
<RegExpr attribute="Bold" context="Context" String="\*\*.*\*\*"/>
<RegExpr attribute="Italic" context="Context" String="//.*//"/>
<RegExpr attribute="BoldItalic" context="Context" String="\*\*//.*//\*\*"/>
<RegExpr attribute="BoldItalic" context="Context" String="__.*__"/>
<RegExpr attribute="Monospaced" context="Context" String="``.*``"/>
<RegExpr attribute="BoldItalic" context="Context" String="\*\*//(.*)//\*\*" minimal="true"/>
<RegExpr attribute="BoldItalic" context="Context" String="//\*\*(.*)\*\*//" minimal="true" />
<RegExpr attribute="Bold" context="Context" String="\*\*.*\*\*" minimal="true"/>
<RegExpr attribute="Italic" context="Context" String="//.*//" minimal="true"/>
<RegExpr attribute="Underline" context="Context" String="__.*__" minimal="true"/>
<RegExpr attribute="Strikeout" context="Context" String="--.*--" minimal="true"/>
<RegExpr attribute="Monospaced" context="Context" String="``.*``" minimal="true"/>
<RegExpr attribute="Verbatim Line" context="Context" String="``` .*"/>
<RegExpr attribute="Title" context="Context" String=" *=[^=].*[^=]=\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *==[^=].*[^=]==\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *===[^=].*[^=]===\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *====[^=].*[^=]====\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *=====[^=].*[^=]=====\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *\+[^=].*[^=]\+\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+[^=].*[^=]\+\+\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+[^=].*[^=]\+\+\+\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+\+[^=].*[^=]\+\+\+\+\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+\+\+[^=].*[^=]\+\+\+\+\+\s*$" column="0"/>
<RegExpr attribute="Title" context="Context" String=" *=[^=].*[^=]=(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *==[^=].*[^=]==(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *===[^=].*[^=]===(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *====[^=].*[^=]====(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *=====[^=].*[^=]=====(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *\+[^=].*[^=]\+(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+[^=].*[^=]\+\+(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+[^=].*[^=]\+\+\+(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+\+[^=].*[^=]\+\+\+\+(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RegExpr attribute="Title" context="Context" String=" *\+\+\+\+\+[^=].*[^=]\+\+\+\+\+(\[.*\])?\s*$" column="0" beginRegion="Header" endRegion="Header"/>
<RangeDetect attribute="Link" char="[" char1="]"/>
<RegExpr attribute="Tabel" context="Context" String=" *\|\| .*" column="0"/>
<RegExpr attribute="Tabel" context="Context" String=" *\| .*" column="0"/>
@ -33,6 +36,7 @@
<RegExpr attribute="NumList" context="Context" String=" *\+ .*" column="0"/>
<RegExpr attribute="Quote" context="Context" String="\t.*"/>
<RegExpr attribute="Bar" context="Context" String="\s*([_=-]{20,})\s*$"/>
<RegExpr attribute="EOF" context="Context" String="$$" column="0" beginRegion="Header" endRegion="Header"/>
</context>
</contexts>
@ -40,18 +44,20 @@
<itemData name="Normal" defStyleNum="dsNormal" />
<itemData name="Date" defStyleNum="dsNormal" color="#FF0000" italic="1" />
<itemData name="Comment" defStyleNum="dsNormal" color="#666666" italic="1" />
<itemData name="Bold" defStyleNum="dsNormal" bold="1" />
<itemData name="Italic" defStyleNum="dsNormal" italic="1" />
<itemData name="BoldItalic" defStyleNum="dsNormal" bold="1" italic="1" />
<itemData name="Bold" defStyleNum="dsNormal" color="#445675" bold="1" />
<itemData name="Italic" defStyleNum="dsNormal" color="#653A39" italic="1" />
<itemData name="Underline" defStyleNum="dsNormal" color="#386742" underline="1" />
<itemData name="Strikeout" defStyleNum="dsNormal" color="#644A9B" strikeOut="1" />
<itemData name="Monospaced" defStyleNum="dsNormal" color="#006600" />
<itemData name="Verbatim Line" defStyleNum="dsNormal" color="#006600" />
<itemData name="Verbatim Area" defStyleNum="dsNormal" color="#006600" />
<itemData name="Title" defStyleNum="dsNormal" color="#990000" />
<itemData name="Link" defStyleNum="dsNormal" color="#000099" />
<itemData name="Link" defStyleNum="dsNormal" color="#0930DE" />
<itemData name="Tabel" defStyleNum="dsNormal" color="#FF0000" />
<itemData name="DefList" defStyleNum="dsNormal" color="#FFCC66" />
<itemData name="List" defStyleNum="dsNormal" color="#FFCC66" />
<itemData name="NumList" defStyleNum="dsNormal" color="#FFCC66" />
<itemData name="DefList" defStyleNum="dsNormal" color="#E300EE" />
<itemData name="List" defStyleNum="dsNormal" color="#E300EE" />
<itemData name="NumList" defStyleNum="dsNormal" color="#E300EE" />
<itemData name="Quote" defStyleNum="dsNormal" color="brown" />
<itemData name="Bar" defStyleNum="dsNormal" color="#C0C0C0" />
</itemDatas>

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Valgrind Suppression" section="Other" extensions="*.supp;" mimetype="" version="1.0" kateversion="2.0" author="Milian Wolff (mail@milianw.de)" license="LGPL">
<highlighting>
<contexts>
<context name="File" attribute="Normal Text" lineEndContext="#stay">
<DetectChar char="#" attribute="Comment" context="Comment" firstNonSpace="true" />
<DetectChar char="{" attribute="Normal Text" context="Rule" firstNonSpace="true" />
</context>
<context name="Rule" attribute="Normal Text" lineEndContext="#stay" >
<RegExpr attribute="RuleName" String="^[^\}]+$" context="Rule2" />
<DetectChar char="}" attribute="Normal Text" context="#pop" firstNonSpace="true" />
</context>
<context name="Rule2" attribute="Normal Text" lineEndContext="#stay" >
<RegExpr attribute="ErrorKind" String="\w+:\w+" context="Rule3" />
<DetectChar char="}" attribute="Normal Text" context="#pop#pop" firstNonSpace="true" />
</context>
<context name="Rule3" attribute="Normal Text" lineEndContext="#stay" >
<RegExpr attribute="FrameKind" String="fun:|obj:|\.\.\." context="#stay" />
<DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop" firstNonSpace="true" />
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop">
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="RuleName" defStyleNum="dsKeyword" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="ErrorKind" defStyleNum="dsOthers" />
<itemData name="FrameKind" defStyleNum="dsFunction" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
</comments>
<keywords casesensitive="0" />
</general>
</language>

@ -0,0 +1,648 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************************-->
<!-- $Id: vera.xml 6 2008-12-07 21:19:40Z seanoboyle $ -->
<!--***********************************************************************-->
<!-- This program is free software: you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation, either version 3 of the License, or -->
<!-- (at your option) any later version. -->
<!-- -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->
<!-- -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program. If not, see <http://www.gnu.org/licenses/>.-->
<!-- -->
<!--***********************************************************************-->
<!-- Title: Vera Language Keywords File for Kate Editor -->
<!-- Description: This file contains the Vera keywords defined in the -->
<!-- OpenVera LRM: Testbench Ver 1.4.4 in the format expected-->
<!-- by the Kate Editor. -->
<!-- -->
<!-- Original Author: Sean O'Boyle -->
<!-- Contact: seanoboyle@intelligentdv.com -->
<!-- Company: Intelligent Design Verification -->
<!-- Company URL: http://intelligentdv.com -->
<!-- -->
<!-- Download the most recent version here: -->
<!-- http://intelligentdv.com/downloads -->
<!-- -->
<!-- File Bugs Here: http://bugs.intelligentdv.com -->
<!-- Project: SyntaxKateVera -->
<!-- -->
<!-- File: vera.xml -->
<!-- $LastChangedBy: seanoboyle $ -->
<!-- $LastChangedDate: 2008-12-07 13:19:40 -0800 (Sun, 07 Dec 2008) $ -->
<!-- $LastChangedRevision: 6 $ -->
<!-- -->
<!--***********************************************************************-->
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Vera" version="1.01" kateversion="2.5" section="Hardware" extensions="*.vr;*.vri;*.vrh" mimetype="text/x-vera-src" author="Sean O'Boyle (seanoboyle@intelligentdv.com)" license="GPL">
<highlighting>
<list name="keywords">
<item>after</item>
<item>all</item>
<item>any</item>
<item>around</item>
<item>assoc_index</item>
<item>assoc_size</item>
<item>async</item>
<item>bad_state</item>
<item>bad_trans</item>
<item>before</item>
<item>begin</item>
<item>big_endian</item>
<item>bind</item>
<item>bin_activation</item>
<item>bit_normal</item>
<item>bit_reverse</item>
<item>break</item>
<item>breakpoint</item>
<item>case</item>
<item>casex</item>
<item>casez</item>
<item>class</item>
<item>constraint</item>
<item>continue</item>
<item>coverage</item>
<item>coverage_block</item>
<item>coverage_def</item>
<item>coverage_depth</item>
<item>coverage_goal</item>
<item>coverage_group</item>
<item>coverage_option</item>
<item>coverage_val</item>
<item>cross_num_print_missing</item>
<item>cross_auto_bin_max</item>
<item>cov_comment</item>
<item>default</item>
<item>depth</item>
<item>dist</item>
<item>do</item>
<item>else</item>
<item>end</item>
<item>enum</item>
<item>exhaustive</item>
<item>export</item>
<item>extends</item>
<item>extern</item>
<item>for</item>
<item>foreach</item>
<item>fork</item>
<item>function</item>
<item>hdl_task</item>
<item>hdl_node</item>
<item>hide</item>
<item>if</item>
<item>illegal_self_transition</item>
<item>illegal_state</item>
<item>illegal_transition</item>
<item>in</item>
<item>interface</item>
<item>invisible</item>
<item>join</item>
<item>little_endian</item>
<item>local</item>
<item>m_bad_state</item>
<item>m_bad_trans</item>
<item>m_state</item>
<item>m_trans</item>
<item>negedge</item>
<item>new</item>
<item>newcov</item>
<item>non_rand</item>
<item>none</item>
<item>not</item>
<item>null</item>
<item>or</item>
<item>ordered</item>
<item>packed</item>
<item>port</item>
<item>posedge</item>
<item>proceed</item>
<item>prod</item>
<item>prodget</item>
<item>prodset</item>
<item>program</item>
<item>protected</item>
<item>public</item>
<item>rand</item>
<item>randc</item>
<item>randcase</item>
<item>randseq</item>
<item>repeat</item>
<item>return</item>
<item>rules</item>
<item>sample</item>
<item>sample_event</item>
<item>shadow</item>
<item>soft</item>
<item>state</item>
<item>static</item>
<item>super</item>
<item>task</item>
<item>terminate</item>
<item>this</item>
<item>trans</item>
<item>typedef</item>
<item>unpacked</item>
<item>var</item>
<item>vca</item>
<item>vector</item>
<item>verilog_node</item>
<item>verilog_task</item>
<item>vhdl_node</item>
<item>vhdl_task</item>
<item>virtual</item>
<item>virtuals</item>
<item>visible</item>
<item>void</item>
<item>while</item>
<item>wildcard</item>
<item>with</item>
</list>
<list name="types">
<item>integer</item>
<item>bit</item>
<item>reg</item>
<item>string</item>
<item>bind_var</item>
<item>event</item>
<item>inout</item>
<item>input</item>
<item>output</item>
<item>ASYNC</item>
<item>CLOCK</item>
<item>NDRIVE</item>
<item>NHOLD</item>
<item>NRX</item>
<item>NRZ</item>
<item>NR0</item>
<item>NR1</item>
<item>NSAMPLE</item>
<item>PDRIVE</item>
<item>PHOLD</item>
<item>PRX</item>
<item>PRZ</item>
<item>PR0</item>
<item>PR1</item>
<item>PSAMPLE</item>
</list>
<list name="q_values">
<item>gnr</item>
<item>grx</item>
<item>grz</item>
<item>gr0</item>
<item>gr1</item>
<item>nr</item>
<item>rx</item>
<item>rz</item>
<item>r0</item>
<item>r1</item>
<item>snr</item>
<item>srx</item>
<item>srz</item>
<item>sr0</item>
<item>sr1</item>
</list>
<list name="methods">
<!-- system functions and tasks -->
<item>alloc</item>
<item>call_func</item>
<item>call_task</item>
<item>cast_assign</item>
<item>close_conn</item>
<item>cm_coverage</item>
<item>cm_get_coverage</item>
<item>cm_get_limit</item>
<item>coverage_backup_database_file</item>
<item>coverage_save_database</item>
<item>delay</item>
<item>error</item>
<item>error_mode</item>
<item>error_wait</item>
<item>exit</item>
<item>fclose</item>
<item>feof</item>
<item>ferror</item>
<item>fflush</item>
<item>flag</item>
<item>fopen</item>
<item>fprintf</item>
<item>freadb</item>
<item>freadb</item>
<item>freadh</item>
<item>freadstr</item>
<item>get_bind</item>
<item>get_bind_id</item>
<item>get_conn_err</item>
<item>get_cycle</item>
<item>get_env</item>
<item>get_memsize</item>
<item>get_plus_arg</item>
<item>get_systime</item>
<item>get_time</item>
<item>get_time_unit</item>
<item>getstate</item>
<item>initstate</item>
<item>lock_file</item>
<item>mailbox_get</item>
<item>mailbox_put</item>
<item>mailbox_receive</item>
<item>mailbox_send</item>
<item>make_client</item>
<item>make_server</item>
<item>os_command</item>
<item>printf</item>
<item>psprintf</item>
<item>query</item>
<item>query_str</item>
<item>query_x</item>
<item>rand48</item>
<item>random</item>
<item>region_enter</item>
<item>region_exit</item>
<item>rewind</item>
<item>semaphore_get</item>
<item>semaphore_put</item>
<item>setstate</item>
<item>signal_connect</item>
<item>simwave_plot</item>
<item>srandom</item>
<item>sprintf</item>
<item>sscanf</item>
<item>stop</item>
<item>suspend_thread</item>
<item>sync</item>
<item>timeout</item>
<item>trace</item>
<item>trigger</item>
<item>unit_delay</item>
<item>unlock_file</item>
<item>up_connections</item>
<item>urand48</item>
<item>urandom</item>
<item>urandom_range</item>
<item>vera_bit_reverse</item>
<item>vera_crc</item>
<item>vera_pack</item>
<item>vera_pack_big_endian</item>
<item>vera_plot</item>
<item>vera_report_profile</item>
<item>vera_unpack</item>
<item>vera_unpack_big_endian</item>
<item>vsv_call_func</item>
<item>vsv_call_task</item>
<item>vsv_close_conn</item>
<item>vsv_get_conn_err</item>
<item>vsv_make_client</item>
<item>vsv_make_server</item>
<item>vsv_up_connections</item>
<item>vsv_wait_for_done</item>
<item>vsv_wait_for_input</item>
<item>wait_child</item>
<item>wait_var</item>
<!-- class methods -->
<item>Configure</item>
<item>DisableTrigger</item>
<item>DoAction</item>
<item>EnableCount</item>
<item>EnableTrigger</item>
<item>Event</item>
<item>GetAssert</item>
<item>GetCount</item>
<item>GetFirstAssert</item>
<item>GetName</item>
<item>GetNextAssert</item>
<item>Wait</item>
<item>atobin</item>
<item>atohex</item>
<item>atoi</item>
<item>atooct</item>
<item>backref</item>
<item>bittostr</item>
<item>capacity</item>
<item>compare</item>
<item>constraint_mode</item>
<item>delete</item>
<item>empty</item>
<item>find</item>
<item>find_index</item>
<item>first</item>
<item>first_index</item>
<item>get_at_least</item>
<item>get_auto_bin</item>
<item>get_cov_weight</item>
<item>get_coverage_goal</item>
<item>get_cross_bin_max</item>
<item>get_status</item>
<item>get_status_msg</item>
<item>getc</item>
<item>hash</item>
<item>icompare</item>
<item>insert</item>
<item>inst_get_at_least</item>
<item>inst_get_auto_bin_max</item>
<item>inst_get_collect</item>
<item>inst_get_cov_weight</item>
<item>inst_get_coverage_goal</item>
<item>inst_getcross_bin_max</item>
<item>inst_query</item>
<item>inst_set_at_least</item>
<item>inst_set_auto_bin_max</item>
<item>inst_set_bin_activiation</item>
<item>inst_set_collect</item>
<item>inst_set_cov_weight</item>
<item>inst_set_coverage_goal</item>
<item>inst_set_cross_bin_max</item>
<item>itoa</item>
<item>last</item>
<item>last_index</item>
<item>len</item>
<item>load</item>
<item>match</item>
<item>max</item>
<item>max_index</item>
<item>min</item>
<item>min_index</item>
<item>object_compare</item>
<item>object_copy</item>
<item>object_print</item>
<item>pack</item>
<item>pick_index</item>
<item>pop_back</item>
<item>pop_front</item>
<item>post_pack</item>
<item>post_randomize</item>
<item>post_unpack</item>
<item>postmatch</item>
<item>pre_pack</item>
<item>pre_randomize</item>
<item>prematch</item>
<item>push_back</item>
<item>push_front</item>
<item>putc</item>
<item>query</item>
<item>query_str</item>
<item>rand_mode</item>
<item>randomize</item>
<item>reserve</item>
<item>reverse</item>
<item>rsort</item>
<item>search</item>
<item>set_at_least</item>
<item>set_auto_bin_max</item>
<item>set_bin_activiation</item>
<item>set_cov_weight</item>
<item>set_coverage_goal</item>
<item>set_cross_bin_max</item>
<item>set_name</item>
<item>size</item>
<item>sort</item>
<item>substr</item>
<item>sum</item>
<item>thismatch</item>
<item>tolower</item>
<item>toupper</item>
<item>unique_index</item>
<item>unpack</item>
<!-- empty methods -->
<item>new</item>
<item>object_compare</item>
<item>post_boundary</item>
<item>post_pack</item>
<item>post_randomize</item>
<item>post_unpack</item>
<item>pre-randomize</item>
<item>pre_boundary</item>
<item>pre_pack</item>
<item>pre_unpack</item>
<!-- vera-constants -->
<item>ALL</item>
<item>ANY</item>
<item>BAD_STATE</item>
<item>BAD_TRANS</item>
<item>CALL</item>
<item>CHECK</item>
<item>CHGEDGE</item>
<item>CLEAR</item>
<item>COPY_NO_WAIT</item>
<item>COPY_WAIT</item>
<item>CROSS</item>
<item>CROSS_TRANS</item>
<item>DEBUG</item>
<item>DELETE</item>
<item>EC_ARRAYX</item>
<item>EC_CODE_END</item>
<item>EC_CONFLICT</item>
<item>EC_EVNTIMOUT</item>
<item>EC_EXPECT</item>
<item>EC_FULLEXPECT</item>
<item>EC_MBXTMOUT</item>
<item>EC_NEXPECT</item>
<item>EC_RETURN</item>
<item>EC_RGNTMOUT</item>
<item>EC_SCONFLICT</item>
<item>EC_SEMTMOUT</item>
<item>EC_SEXPECT</item>
<item>EC_SFULLEXPECT</item>
<item>EC_SNEXTPECT</item>
<item>EC_USERSET</item>
<item>EQ</item>
<item>EVENT</item>
<item>FAIL</item>
<item>FIRST</item>
<item>FORK</item>
<item>GE</item>
<item>GOAL</item>
<item>GT</item>
<item>HAND_SHAKE</item>
<item>HI</item>
<item>HIGH</item>
<item>HNUM</item>
<item>LE</item>
<item>LIC_EXIT</item>
<item>LIC_PRERR</item>
<item>LIC_PRWARN</item>
<item>LIC_WAIT</item>
<item>LO</item>
<item>LOAD</item>
<item>LOW</item>
<item>LT</item>
<item>MAILBOX</item>
<item>MAX_COM</item>
<item>NAME</item>
<item>NE</item>
<item>NEGEDGE</item>
<item>NEXT</item>
<item>NO_OVERLAP</item>
<item>NO_OVERLAP_STATE</item>
<item>NO_OVERLAP_TRANS</item>
<item>NO_VARS</item>
<item>NO_WAIT</item>
<item>NUM</item>
<item>NUM_BIN</item>
<item>NUM_DET</item>
<item>OFF</item>
<item>OK</item>
<item>OK_LAST</item>
<item>ON</item>
<item>ONE_BLAST</item>
<item>ONE_SHOT</item>
<item>ORDER</item>
<item>PAST_IT</item>
<item>PERCENT</item>
<item>POSEDGE</item>
<item>PROGRAM</item>
<item>RAWIN</item>
<item>REGION</item>
<item>REPORT</item>
<item>SAMPLE</item>
<item>SAVE</item>
<item>SEMAPHORE</item>
<item>SET</item>
<item>SILENT</item>
<item>STATE</item>
<item>STR</item>
<item>STR_ERR_OUT_OF_RANGE</item>
<item>STR_ERR_REGEXP_SYNTAX</item>
<item>SUM</item>
<item>TRANS</item>
<item>VERBOSE</item>
<item>WAIT</item>
<item>stderr</item>
<item>stdin</item>
<item>stdout</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces />
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<keyword attribute="Q Values" context="#stay" String="q_values"/>
<keyword attribute="Methods" context="#stay" String="methods"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
<RegExpr attribute="Decimal" context="#stay" String="[\d_]*'d[\d_]+"/>
<RegExpr attribute="Octal" context="#stay" String="[\d_]*'o[0-7xXzZ_]+"/>
<RegExpr attribute="Hex" context="#stay" String="[\d_]*'h[\da-fA-FxXzZ_]+"/>
<RegExpr attribute="Binary" context="#stay" String="[\d_]*'b[01_zZxX]+"/>
<Float attribute="Float" context="#stay"/>
<Int attribute="Integer" context="#stay"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
<LineContinue attribute="Comment" context="#stay"/>
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
<context attribute="Error" lineEndContext="#pop" name="AfterHash">
<!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="#stay"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
<RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
<LineContinue attribute="Preprocessor" context="#stay"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
<DetectSpaces />
<IncludeRules context="##Alerts" />
<DetectIdentifier />
<DetectChar attribute="String" context="String" char="&quot;"/>
<IncludeRules context="##Doxygen" />
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Q Values" defStyleNum="dsKeyword"/>
<itemData name="Methods" defStyleNum="dsKeyword"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
<itemData name="Prep. Lib" defStyleNum="dsOthers"/>
<itemData name="Error" defStyleNum="dsError" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>

@ -1,24 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Verilog" version="1.08" kateversion="2.4" section="Hardware" extensions="*.v;*.V;*.vl" mimetype="text/x-verilog-src" author="Yevgen Voronenko (ysv22@drexel.edu)" license="">
<language name="Verilog" version="1.09" kateversion="2.4" section="Hardware" extensions="*.v;*.V;*.vl" mimetype="text/x-verilog-src" author="Yevgen Voronenko (ysv22@drexel.edu), Ryan Dalzell (ryan@tullyroan.com)" license="">
<highlighting>
<list name="keywords">
<item> macromodule </item>
<item> task </item>
<item> endtask </item>
<item> function </item>
<item> endfunction </item>
<item> table </item>
<item> endtable </item>
<item> specify </item>
<item> specparam </item>
<item> endspecify </item>
<item> case </item>
<item> casex </item>
<item> casez </item>
<item> endcase </item>
<item> fork </item>
<item> join </item>
<item> defparam </item>
<item> default </item>
@ -42,6 +32,38 @@
<item> edge </item>
<item> posedge </item>
<item> negedge </item>
<!-- verilog-2001 keywords -->
<item> config </item>
<item> endconfig </item>
<item> library </item>
<item> design </item>
<item> liblist </item>
<item> cell </item>
<item> use </item>
<item> instance </item>
</list>
<list name="beginwords">
<item> begin </item>
<item> fork </item>
<item> module </item>
<item> case </item>
<item> casex </item>
<item> casez </item>
<item> task </item>
<item> function </item>
<item> generate </item>
</list>
<list name="endwords">
<item> end </item>
<item> join </item>
<item> endmodule </item>
<item> endcase </item>
<item> endtask </item>
<item> endfunction </item>
<item> endgenerate </item>
</list>
<list name="strength">
@ -118,36 +140,26 @@
<!-- other -->
<item> parameter </item>
<item> event </item>
</list>
<list name="begin">
<item>begin</item>
</list>
<list name="end">
<item>end</item>
</list>
<list name="module">
<item>module</item>
</list>
<list name="endmodule">
<item>endmodule</item>
<!-- verilog-2001 types -->
<item> signed </item>
<item> automatic </item>
<item> genvar </item>
<item> localparam </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<RegExpr attribute="Keyword" context="Block name" String="begin\ *:" beginRegion="beginend"/>
<keyword attribute="Keyword" context="#stay" String="begin" beginRegion="beginend"/>
<keyword attribute="Keyword" context="#stay" String="end" endRegion="beginend"/>
<keyword attribute="Keyword" context="#stay" String="module" beginRegion="moduleEndmodule"/>
<keyword attribute="Keyword" context="#stay" String="endmodule" endRegion="moduleEndmodule"/>
<DetectSpaces />
<RegExpr attribute="Keyword" context="Block name" String="begin\ *:" beginRegion="Block"/>
<RegExpr attribute="Keyword" context="Block name" String="fork\ *:" beginRegion="Block"/>
<keyword attribute="Keyword" String="beginwords" context="#stay" beginRegion="Block"/>
<keyword attribute="Keyword" String="endwords" context="#stay" endRegion="Block"/>
<keyword attribute="Keyword" context="#stay" String="keywords" />
<keyword attribute="Data Type" context="#stay" String="types" />
<keyword attribute="Drive/charge strength" context="#stay" String="strength" />
<keyword attribute="Gate instantiation" context="#stay" String="gates" />
<RegExpr attribute="Normal Text" context="#stay" String="[a-zA-Z]+[\w$]*"/>
<RegExpr attribute="Normal Text" context="#stay" String="\\[^ ]+ "/>
<RegExpr attribute="Decimal" context="#stay" String="[\d_]*'d[\d_]+"/>
<RegExpr attribute="Octal" context="#stay" String="[\d_]*'o[0-7xXzZ_]+"/>
<RegExpr attribute="Hex" context="#stay" String="[\d_]*'h[\da-fA-FxXzZ_]+"/>
@ -155,19 +167,19 @@
<Float attribute="Float" context="#stay"/>
<Int attribute="Integer" context="#stay" />
<RegExpr attribute="Port connection" context="#stay" String="[^\w$]\.[a-zA-Z]+[\w$]*"/>
<RegExpr attribute="Case label" context="#stay" String="[a-zA-Z0-9_, \t]+\s*:" firstNonSpace="true"/>
<!--<RegExpr attribute="Port map" context="Port" String="\.[a-zA-Z0-9_]+"/>-->
<DetectChar attribute="String" context="String" char="&quot;"/>
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="comment"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=+/:;&gt;?[]^{|}~@"/>
<StringDetect attribute="Comment" context="Some Context2" String="#if 0" insensitive="FALSE" firstNonSpace="true"/>
<DetectChar attribute="Preprocessor" context="Preprocessor" char="`" column="0"/>
<RegExpr attribute="Preprocessor" context="#stay" String="\`[a-zA-Z_]+\w*" />
<RegExpr attribute="System Task" context="#stay" String="\$[a-zA-Z_]+\w*" />
<RegExpr attribute="Delay" context="#stay" String="#[\d_]+" />
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="Some Context"/>
@ -175,11 +187,11 @@
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
<RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
<IncludeRules context="##Alerts" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment"/>
<IncludeRules context="##Alerts" />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
<LineContinue attribute="Preprocessor" context="Some Context"/>
@ -193,12 +205,16 @@
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Some Context"/>
<context attribute="Comment" lineEndContext="#stay" name="Some Context2">
<RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO)" />
<IncludeRules context="##Alerts" />
<StringDetect attribute="Comment" context="#pop" String="#endif" firstNonSpace="true"/>
</context>
<context attribute="Block name" lineEndContext="#pop" name="Block name">
<RegExpr attribute="Data Type" context="#pop" String="[^ ]+"/>
<DetectIdentifier attribute="Data Type" context="#pop"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="Port">
<DetectIdentifier attribute="Normal Text" context="#pop"/>
</context>
</contexts>
@ -227,13 +243,14 @@
<itemData name="Block name" defStyleNum="dsDataType"/>
<itemData name="Drive/charge strength" defStyleNum="dsBaseN"/>
<itemData name="Gate instantiation" defStyleNum="dsDataType"/>
<itemData name="Port connection" defStyleNum="dsDataType"/>
</itemDatas>
<itemData name="Port map" defStyleNum="dsDataType"/>
<itemData name="Case label" defStyleNum="dsDecVal"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" />
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
</comments>
<keywords casesensitive="1" />
</general>

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!DOCTYPE language SYSTEM "language.dtd" [
<!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
<!ENTITY bos "(|[^&quot;-]*)\b"> <!-- bol or space following -->
<!-- <!ENTITY bos "^(|.*\s)">--> <!-- bol or space following -->
<!ENTITY eos "\b"> <!-- eol or space following -->
<!-- <!ENTITY eos "(?=($|\s))">--> <!-- eol or space following -->
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY varname "\b(?!(?:process|constant|signal|variable))([A-Za-z_][A-Za-z0-9_]*)\b">
<!ENTITY bos "(\b)"> <!-- bol or space following -->
<!-- <!ENTITY bos "^(|.*\s)">--> <!-- bol or space following -->
<!ENTITY eos "\b"> <!-- eol or space following -->
<!-- <!ENTITY eos "(?=($|\s))">--> <!-- eol or space following -->
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY label "((&varname;)\s*:\s*)?">
]>
<language name="VHDL" version="1.08" kateversion="2.3" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Jan Michel (jan@mueschelsoft.de)">
<language name="VHDL" version="1.10" kateversion="2.3" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de)">
<highlighting>
<list name="keywordsToplevel">
<item> file </item>
<item> package </item>
<!-- <item> package </item>-->
<item> library </item>
<item> use </item>
<!--
@ -24,23 +24,35 @@
<item> of </item>
<item> configuration </item>
-->
</list>
<list name="keywords">
<item> access </item>
<item> after </item>
<item> alias </item>
<item> all </item>
<item> array </item>
<item> assert </item>
<item> assume </item>
<item> assume_guarantee </item>
<item> attribute </item>
<item> begin </item>
<item> block </item>
<item> body </item>
<item> bus </item>
<item> component </item>
<item> constant </item>
<item> context </item>
<item> cover </item>
<item> default </item>
<item> disconnect </item>
<item> downto </item>
<item> end </item>
<item> exit </item>
<item> fairness </item>
<item> file </item>
<item> force </item>
<item> function </item>
<item> generate </item>
<item> generic </item>
@ -56,26 +68,32 @@
<item> new </item>
<item> next </item>
<item> null </item>
<item> of </item>
<item> on </item>
<item> open </item>
<item> others </item>
<item> parameter </item>
<item> port </item>
<item> postponed </item>
<item> procedure </item>
<item> process </item>
<item> property </item>
<item> protected </item>
<item> pure </item>
<item> range </item>
<item> record </item>
<item> register </item>
<item> reject </item>
<item> release </item>
<item> report </item>
<item> return </item>
<item> select </item>
<item> sequence </item>
<item> severity </item>
<item> signal </item>
<item> shared </item>
<item> strong </item>
<item> subtype </item>
<item> then </item>
<item> to </item>
<item> transport </item>
<item> type </item>
@ -83,6 +101,9 @@
<item> units </item>
<item> until </item>
<item> variable </item>
<item> vmode </item>
<item> vprop </item>
<item> vunit </item>
<item> wait </item>
<item> when </item>
<item> with </item>
@ -95,14 +116,28 @@
<item> out </item>
<item> buffer </item>
<item> and </item>
<item> abs </item>
<item> or </item>
<item> xor </item>
<item> xnor </item>
<item> not </item>
<item> mod </item>
<item> nand </item>
<item> nor </item>
<item> rem </item>
<item> rol </item>
<item> ror </item>
<item> sla </item>
<item> sra </item>
<item> sll </item>
<item> srl </item>
</list>
<list name="if">
<item> if </item>
<item> else </item>
<item> elsif </item>
<item> then </item>
</list>
<list name="forOrWhile">
@ -114,6 +149,7 @@
<item> inout </item>
<item> out </item>
<item> buffer </item>
<item> linkage </item>
</list>
<list name="signals">
@ -127,33 +163,54 @@
<item> or </item>
<item> xor </item>
<item> not </item>
</list>
</list>-->
<list name="rangeDirection">
<list name="range">
<item> to </item>
<item> downto </item>
</list>-->
<item> others </item>
</list>
<list name="case">
<item> case </item>
<item> when </item>
</list>
<list name="types">
<item> bit </item>
<item> bit_vector </item>
<item> character </item>
<item> boolean </item>
<item> boolean_vector </item>
<item> integer </item>
<item> integer_vector </item>
<item> real </item>
<item> real_vector </item>
<item> time </item>
<item> time_vector </item>
<item> delay_length </item>
<item> string </item>
<item> severity_level </item>
<item> positive </item>
<item> natural </item>
<item> file_open_kind </item>
<item> file_open_status </item>
<item> signed </item>
<item> unsigned </item>
<item> unresolved_unsigned </item>
<item> unresolved_signed </item>
<item> line </item>
<item> text </item>
<item> side </item>
<item> width </item>
<item> std_logic </item>
<item> std_logic_vector </item>
<item> std_ulogic </item>
<item> std_ulogic_vector </item>
<item> x01 </item>
<item> x01z </item>
<item> ux01 </item>
<item> ux01z </item>
<item> qsim_state </item>
<item> qsim_state_vector </item>
<item> qsim_12state </item>
@ -166,159 +223,268 @@
<item> wor_bit </item>
<item> wor_vector </item>
</list>
<contexts>
<!-- start / global environment -->
<context name="start" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Normal Text" context="entity" String="&bos;(entity\s*(&varname;)\s*is)&eos;" beginRegion="EntityRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Normal Text" context="architecture" String="&bos;(architecture\s*(&varname;)\s*of\s*&varname;\s*is)&eos;" beginRegion="ArchitectureRegion1" lookAhead="true" insensitive="true" />
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
<keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
</context>
<context name="preDetection" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
<DetectChar attribute="Vector" context="string" char="&quot;" />
<AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|]().,;" />
<DetectChar attribute="Attribute" context="attribute" char="'" />
</context>
<!-- start / global environment -->
<context name="start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<!-- general keywords detection -->
<context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Data Type" context="#stay" String="types"/>
<keyword attribute="Signal" context="#stay" String="signals"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<Int attribute="Integer" context="#stay" />
<HlCChar attribute="Bit" context="#stay" />
</context>
<RegExpr attribute="Control" context="architecture_main" insensitive="true" dynamic="true" lookAhead="true"
String="architecture\s+(&varname;)" />
<StringDetect attribute="Control" context="entity" String="entity" />
<RegExpr attribute="Normal Text" context="package" insensitive="true" lookAhead="true" beginRegion="PackageRegion1"
String="&bos;(package\s+(&varname;)\s+is)&eos;"/>
<RegExpr attribute="Normal Text" context="packagebody" lookAhead="true" insensitive="true" beginRegion="PackageBodyRegion1"
String="&bos;(package\s+body\s+(&varname;)\s+is)&eos;"/>
<!-- <StringDetect attribute="Control" context="arch_decl" String="package" />temporary-->
<keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
</context>
<!-- entity environment -->
<context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<context name="package" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Redirection" context="#pop" String="^(|\s.*)end(\s*entity)?\s*(%3)?\s*;" dynamic="true" endRegion="EntityRegion1" insensitive="true" />
<!--<RegExpr attribute="Alert" context="generic" String="generic"/>-->
<StringDetect attribute="Redirection" context="#stay" String="begin" insensitive="true" />
<RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+package)?(\s+%3)?\s*;" dynamic="true" endRegion="PackageRegion1" insensitive="true" />
<IncludeRules context="generalDetection" />
</context>
<!-- <context name="generic" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Operator" context="range" char="("/>
<Detect2Chars attribute="Alert" context="#pop" char=")" char1=";"/>
</context>
<context name="range" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Keyword" context="#stay" String="rangeDirection"/>
<Int attribute="Integer" context="#stay" />
<HlCChar attribute="Bit" context="#stay" />
<DetectChar attribute="Vector" context="string" char="&quot;" />
<DetectChar attribute="Operator" context="#pop" char=")"/>
</context>-->
<!-- architecture environment -->
<context name="architecture" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<!-- package body environment -->
<context name="packagebody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
<IncludeRules context="preDetection" />
<StringDetect attribute="Redirection" context="#stay" String="begin" insensitive="true" />
<RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+architecture)?(\s+%3)?\s*;" dynamic="true" endRegion="ArchitectureRegion1" insensitive="true" />
<RegExpr attribute="Normal Text" context="component" String="&bos;(component\s+(&varname;)(\s+is)?)&eos;" beginRegion="ComponentRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Normal Text" context="process1" String="^(|\s+)(&label;process)&eos;" beginRegion="ProcessRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Normal Text" context="generate1" String="^(|\s+)((&varname;)\s*:\s*((for\s+.+\s+in\s+.+)|(if\s+.+))\s+generate)&eos;" beginRegion="GenerateRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Normal Text" context="instance" String="^(|\s+)((&varname;)\s*:\s*(&varname;))&eos;" beginRegion="InstanceRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+package)?(\s+%3)?\s*;" dynamic="true" endRegion="PackageBodyRegion1" insensitive="true" />
<IncludeRules context="generalDetection" />
</context>
<!-- <context name="architectureBeforeBegin" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="#stay" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop" String="end\s*%2\s*;" dynamic="true" endRegion="ArchitectureRegion1" />
<StringDetect attribute="Redirection" context="architectureAfterBegin" String="begin" />
<RegExpr attribute="Redirection" context="#pop#pop" String="end\s*%2\s*;" dynamic="true" endRegion="ArchitectureRegion1" />
<IncludeRules context="normal" />
<!--====ARCHITECTURE ===============-->
<context name="architecture_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="arch_decl" insensitive="true" beginRegion="ArchitectureRegion1"
String="architecture\s+(&varname;)\s+of\s+(&varname;)\s+is" />
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
String="&bos;end(\s+architecture)?(\s+%1)?\s*;" />
<RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
String="&bos;end(\s+architecture)?(\s+&varname;)\s*;" />
<IncludeRules context="detect_arch_parts" />
</context>
<context name="architectureAfterBegin" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="#stay" String="%1" dynamic="true" />
<IncludeRules context="normal" />
</context>-->
<!-- component environment -->
<context name="component" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="" String="%2" dynamic="true" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Redirection" context="#pop" String="&bos;end\s+component(\s+%3)?\s*;" dynamic="true" endRegion="ComponentRegion1" insensitive="true" />
<IncludeRules context="generalDetection" />
<!-- architecture environment "before begin" -->
<context name="arch_decl" attribute="Normal Text" lineEndContext="#stay" >
<IncludeRules context="preDetection" />
<keyword attribute="Signal" context="signal" insensitive="true" String="signals"/>
<StringDetect attribute="Control" context="entity" insensitive="true" String="component"/>
<StringDetect attribute="Control" context="#pop" insensitive="true" String="begin"/>
<IncludeRules context="generalDetection" />
</context>
<!-- parts of architecture body -->
<context name="detect_arch_parts" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true" dynamic="true"
String="&bos;((&varname;)\s*:\s*)(if|for).*\s+generate&eos;" />
<RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true" dynamic="true"
String="&bos;((&varname;)\s*:\s*)?process&eos;" />
<RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" dynamic="true" beginRegion="InstanceRegion1"
String="\b(&varname;)\s*:\s*(&varname;)" />
<IncludeRules context="generalDetection" />
</context>
<!-- generate statement -->
<!--====generate ===============-->
<context name="generate1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Process" context="generate2" String="%2" dynamic="true" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="generate2" insensitive="true" beginRegion="GenerateRegion"
String="&bos;generate&eos;" />
<RegExpr attribute="Name" context="#stay" dynamic="true" insensitive="true"
String="&bos;%3&eos;" />
<StringDetect attribute="Control" context="#stay" insensitive="true" String="for"/>
<StringDetect attribute="Control" context="#stay" insensitive="true" String="if"/>
<IncludeRules context="generalDetection" />
</context>
<context name="generate2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="architecture" />
<RegExpr attribute="Process" context="#pop#pop" String="^(|\s.*)end\s+generate(?:\s+%3)?\s*;" dynamic="true" endRegion="GenerateRegion1" insensitive="true" />
<IncludeRules context="preDetection" />
<StringDetect attribute="Control" context="#stay" insensitive="true"
String="begin"/>
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="GenerateRegion"
String="&bos;end\s+generate(\s+&varname;)?\s*;"/>
<IncludeRules context="detect_arch_parts" />
</context>
<context name="instance" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
<DetectChar attribute="Vector" context="string" char="&quot;" />
<Detect2Chars attribute="Normal Text" context="#pop" char=")" char1=";" endRegion="InstanceRegion1" />
<IncludeRules context="generalDetection" />
<AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|]().,;" />
<DetectChar attribute="Attribute" context="attribute" char="'" />
</context>
<!-- process environment -->
<!--====process ===============-->
<!-- process environment -->
<context name="process1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<StringDetect attribute="Process" context="process2" String="%2" dynamic="true" />
<RegExpr attribute="Process" context="#pop" String="^(|\s.*)end\s+process(\s+%4)?\s*;" endRegion="ProcessRegion1" insensitive="true" dynamic="true" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Process" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
String="end\s+process(\s+%3)?\s*;" />
<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
String="end\s+process(\s+&varname;)?" />
<StringDetect attribute="Process" context="#stay" insensitive="true" beginRegion="RegionProcess"
String="process" />
<StringDetect attribute="Process" context="#stay" insensitive="true"
String="begin" />
<IncludeRules context="proc_rules" />
</context>
<context name="process2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Process" context="#pop" String="^(|\s.*)end\s+process" insensitive="true" lookAhead="true" />
<StringDetect attribute="Process" context="#stay" String="begin" insensitive="true" />
<IncludeRules context="processContext" />
<context name="proc_rules" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Name" context="#stay" insensitive="true"
String="&bos;&varname;(?=\s*:(?!=))" />
<RegExpr attribute="Control" context="if_start" insensitive="true"
String="&bos;(if)&eos;" />
<RegExpr attribute="Control" context="case1" lookAhead="true" insensitive="true" dynamic="true" beginRegion="CaseRegion1"
String="&bos;(case)&eos;" />
<RegExpr attribute="Control" context="forOrWhile" insensitive="true" beginRegion="ForOrWhileRegion1"
String="&bos;&label;((for|while)\s+.+\s+)?loop&eos;"/>
<IncludeRules context="generalDetection" />
</context>
<context name="processContext" attribute="Normal Text" lineEndContext="#stay">
<!--====instance =============== -->
<context name="instance" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="case1" String="&bos;&label;(case)&eos;" beginRegion="CaseRegion1" insensitive="true" />
<RegExpr attribute="Control" context="if" String="&bos;&label;(if)&eos;" beginRegion="IfRegion1" insensitive="true" />
<RegExpr attribute="Control" context="forOrWhile" String="&bos;&label;((for|while)\s+.+\s+)?loop&eos;" beginRegion="ForOrWhileRegion1" insensitive="true" />
<RegExpr attribute="Name" context="#stay" String="\b%1\b" dynamic="true" />
<RegExpr attribute="Name" context="#stay" String="\b%2\b" dynamic="true" />
<Detect2Chars attribute="Normal Text" context="#pop" char=")" char1=";" endRegion="InstanceRegion1" />
<!-- <DetectChar attribute="Error" context="#stay" char=";" />-->
<IncludeRules context="generalDetection" />
</context>
<!--====loop ===============-->
<context name="forOrWhile" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Control" context="#pop" endRegion="ForOrWhileRegion1" insensitive="true"
String="&bos;end\s+loop(\s+&varname;)?\s*;"/>
<keyword attribute="Control" context="#stay" String="forOrWhile"/>
<IncludeRules context="proc_rules" />
</context>
<!--====if ===============-->
<context name="if_start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<StringDetect attribute="Control" context="if" insensitive="true" beginRegion="IfRegion1"
String="then" />
<IncludeRules context="generalDetection" />
</context>
<context name="if" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="IfRegion1"
String="&bos;end\s+if(\s+&varname;)?\s*;"/>
<IncludeRules context="proc_rules" />
<keyword attribute="Control" context="#stay" insensitive="true"
String="if"/>
</context>
<!--====case ===============-->
<context name="case1" attribute="Normal Text" lineEndContext="#stay">
<StringDetect attribute="Keyword" context="case2" String="is" insensitive="true" />
<IncludeRules context="preDetection" />
<StringDetect attribute="Keyword" context="case2" insensitive="true"
String="is"/>
<keyword attribute="Control" context="#stay" insensitive="true"
String="case"/>
</context>
<context name="case2" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Control" context="#pop#pop" String="&bos;end\s+case(\s+&varname;)?\s*;" endRegion="CaseRegion1" insensitive="true" />
<RegExpr attribute="Control" context="caseWhen" String="&bos;when&eos;" beginRegion="CaseWhenRegion1" insensitive="true" />
<IncludeRules context="processContext" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="CaseRegion1"
String="&bos;end\s+case(\s+&varname;)?\s*;"/>
<StringDetect attribute="Control" context="caseWhen" insensitive="true" beginRegion="CaseWhenRegion1"
String="when"/>
<IncludeRules context="proc_rules" />
</context>
<context name="caseWhen" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Control" context="#pop" String="&bos;when&eos;" endRegion="CaseWhenRegion1" lookAhead="true" insensitive="true" />
<RegExpr attribute="Control" context="#pop" String="&bos;end\s+case(\s+&varname;)?\s*;" endRegion="CaseWhenRegion1" lookAhead="true" insensitive="true" />
<IncludeRules context="process2" />
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
String="&bos;when&eos;" />
<RegExpr attribute="Control" context="#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
String="&bos;end\s+case(\s+&varname;)?\s*;"/>
<IncludeRules context="proc_rules" />
</context>
<!--====ENTITY ===============-->
<!-- entity environment -->
<context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1" insensitive="true" String="(&varname;)" />
<IncludeRules context="generalDetection" />
</context>
<context name="if" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Control" context="#pop" String="&bos;end\s+if(\s+&varname;)?\s*;" endRegion="IfRegion1" insensitive="true" />
<keyword attribute="Control" context="#stay" String="if"/>
<IncludeRules context="processContext" />
<context name="entity_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
<IncludeRules context="preDetection" />
<RegExpr attribute="Control" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;" />
<RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;" />
<RegExpr attribute="Control" context="#stay" String="generic"/>
<RegExpr attribute="Control" context="#stay" String="port"/>
<IncludeRules context="generalDetection" />
</context>
<context name="forOrWhile" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Control" context="#pop" String="&bos;end\s+loop(\s+&varname;)?\s*;" endRegion="ForOrWhileRegion1" insensitive="true" />
<keyword attribute="Control" context="#stay" String="forOrWhile"/>
<IncludeRules context="processContext" />
<!--====Basic Stuff ===============-->
<!-- basic rules -->
<context name="preDetection" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
<DetectChar attribute="Vector" context="string" char="&quot;" />
<AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|].," />
<DetectChar attribute="Attribute" context="attribute" char="'" />
</context>
<!-- other environments -->
<!-- general detection -->
<context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Data Type" context="#stay" String="types"/>
<keyword attribute="Signal" context="signal" String="signals" beginRegion="sig"/>
<keyword attribute="Range" context="#stay" String="range"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<Int attribute="Integer" context="#stay" />
<HlCChar attribute="Bit" context="#stay" />
<DetectSpaces attribute="Normal Text" context="#stay" />
</context>
<!-- other environments -->
<context name="comment" attribute="Comment" lineEndContext="#pop" />
<context name="string" attribute="Vector" lineEndContext="#stay" >
<DetectChar attribute="Vector" context="#pop" char="&quot;" />
<DetectChar attribute="Vector" context="#pop" char="&quot;" />
</context>
<context name="attribute" attribute="Attribute" lineEndContext="#pop">
<DetectChar attribute="Attribute" context="quot in att" char="&quot;" />
<DetectChar attribute="Normal Text" context="#pop" char=" " />
<AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;" />
<DetectChar attribute="Attribute" context="quot in att" char="&quot;" />
<DetectChar attribute="Normal Text" context="#pop" char=" " />
<DetectChar attribute="Attribute" context="#pop" char="'" />
<AnyChar attribute="Attribute" context="#pop" String="()=&lt;&gt;" />
</context>
<context name="quot in att" attribute="Attribute" lineEndContext="#stay">
<DetectChar attribute="Attribute" context="#pop" char="&quot;" />
<DetectChar attribute="Attribute" context="#pop" char="&quot;" />
</context>
<context name="signal" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="preDetection" />
<DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="sig" />
<IncludeRules context="generalDetection" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
@ -327,14 +493,17 @@
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Integer" defStyleNum="dsDecVal" />
<itemData name="Bit" defStyleNum="dsChar" />
<itemData name="Error" defStyleNum="dsError" color="#f00" bold="1" />
<itemData name="Vector" defStyleNum="dsString" />
<itemData name="Operator" defStyleNum="dsOthers" />
<itemData name="Attribute" defStyleNum="dsBaseN" />
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
<itemData name="Signal" defStyleNum="dsOthers"/>
<itemData name="Range" defStyleNum="dsOthers"/>
<itemData name="Redirection" defStyleNum="dsKeyword" color="#238" />
<itemData name="Process" defStyleNum="dsKeyword" color="#09A" />
<itemData name="Control" defStyleNum="dsKeyword" color="#008" />
<itemData name="Control" defStyleNum="dsKeyword" color="#238" />
<itemData name="Name" defStyleNum="dsKeyword" color="#b60" bold="1" />
</itemDatas>
</highlighting>
<general>

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
Thread for discussions: http://www.wesnoth.org/forum/viewtopic.php?f=21&t=13781
Alternatively try the "normal" way: #kate@freenode, kwrite-devel@kde.org
Changelog (0.35 and later):
***************************
* 0.41
- 2011-04-15 <shadowm2006@gmail.com>:
* Added preprocessor directives: #if(n)have, #if(n)ver
* Revalidated against language.dtd
* 0.40
- 2010-06-13 <devel@the-user.org>:
* Added lua-highlighting between << and >>.
* Added pango-highlighting between " and "
* Folding for macro-strings between paretheses
* Changed colors.
* This file is licensed under GPLv2+
* 0.37
- 2008-03-29 <shadowm2006@gmail.com>:
* WML preprocessor directive (define, if) blocks can be collapsed/expanded
* attribute_name = "string" WML constructs (note the space surrounding '=') are recognized too
(designed considering the mainline about.cfg structure case
* Changed various context names and styles
- 2008-03-21 <shadowm2006@gmail.com>:
* WML nodes and multiline preprocessing macro/include blocks can be collapsed/expanded
* WML nodes that are opened and closed in a single line are properly highlighted now
* 0.36
- 2008-03-05 <shadowm2006@gmail.com>:
* Added wmlscope to list of utility control commands
* 0.35
- 2008-02-23 <shadowm2006@gmail.com>:
* Made it possible to comment/uncomment line(s) using the default
CTRL-D / CTRL-SHIFT-D shortcuts
- 2008-01-27 <shadowm2006@gmail.com>:
* Added the *.pbl file name pattern
* Made the standard alerts (i.e. TODO, HACK, FIXME,...) be highlighted too
* Made the key comments for Wesnoth's mainline maintenance scripts be highlighted (at the moment
they are only used for wmllint and wmlindent)
- 2008-01-?? <shadowm2006@gmail.com>:
* Made #textdomain another preprocessor directive, as is handled by the game at /src/serialization/preprocessor.cpp
line 634 and around
- 2007-11-?? <shadowm2006@gmail.com>:
* Minor improvements?
- 2007-11-?? <shadowm2006@gmail.com>:
* Made the new #ifndef directive be recognized (implemented on Wesnoth 1.3.11 and later)
-->
<language name="Wesnoth Markup Language" section="Markup" extensions="*.cfg;*.pbl;*.CFG;*.PBL" version="0.41"
kateversion="2.5" casesensitive="true" author="Zachary Palmer (zep01@bahj.com), modif. by Ignacio Riquelme Morelle (shadowm2006@gmail.com) and Jonathan Schmidt-Dominé (devel@the-user.org)" license="GPL">
<highlighting>
<list name="alerts_wml_utils">
<item> wmllint</item>
<item> wmlindent</item>
<item> wmlscope</item>
</list>
<list name="preprocessor_directive_statements">
<item>#textdomain</item>
<item>#else</item>
<item>#undef</item>
</list>
<list name="preprocessor_block_begin_statements">
<item>#define</item>
<item>#ifdef</item>
<item>#ifndef</item>
<item>#ifhave</item>
<item>#ifnhave</item>
<item>#ifver</item>
<item>#ifnver</item>
</list>
<list name="preprocessor_block_end_statements">
<item>#enddef</item>
<item>#endif</item>
</list>
<contexts>
<!-- Main contexts -->
<context attribute="Normal WML Text" name="text" lineEndContext="#stay">
<RegExpr String="(_ *)?&quot;" attribute="String" context="string" />
<RegExpr String=" *&lt;&lt;" attribute="String" context="luastring" beginRegion="wml_lua" />
<keyword String="preprocessor_directive_statements" attribute="Preprocessor" context="preprocessor" />
<keyword String="preprocessor_block_begin_statements" attribute="Preprocessor" context="preprocessor" beginRegion="wmlpp_block" />
<keyword String="preprocessor_block_end_statements" attribute="Preprocessor" context="preprocessor" endRegion="wmlpp_block" />
<DetectChar char="#" attribute="Comment" context="comment" />
<DetectChar char="{" attribute="Macro/Include" context="macro" beginRegion="macro_block" />
<!--<DetectChar char="[" attribute="WML Node" context="section" firstNonSpace="true" />-->
<RegExpr String="\[(?!/)" attribute="WML Node" context="section" beginRegion="wml_node" />
<RegExpr String="\[/" attribute="WML Node" context="section" endRegion="wml_node" />
<RegExpr String="(\w|,| )+=" attribute="WML Attribute" context="value"
lookAhead="true" />
<IncludeRules context="variableSubstitutionRule" />
</context>
<context attribute="String" lineEndContext="#stay" name="string">
<DetectChar char="&quot;" attribute="String" context="#pop" />
<DetectChar char="{" attribute="Macro/Include" context="macro" />
<IncludeRules context="variableSubstitutionRule" />
<IncludeRules context="##Pango" includeAttrib="false"/>
</context>
<context attribute="String" name="luastring" lineEndContext="#stay">
<RegExpr String="&gt;&gt;" attribute="String" context="#pop" endRegion="wml_lua" />
<IncludeRules context="##Lua" includeAttrib="true"/>
</context>
<context attribute="Macro String" name="luamacrostring" lineEndContext="#stay">
<RegExpr String="&gt;&gt;" attribute="Macro String" context="#pop" endRegion="wml_lua" />
<IncludeRules context="##Lua" includeAttrib="true"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="comment">
<keyword attribute="Maintenance script statement" context="#stay" String="alerts_wml_utils" />
<IncludeRules context="##Alerts" />
</context>
<context attribute="Macro/Include" lineEndContext="#stay" name="macro">
<DetectChar char="{" attribute="Macro/Include" context="macro" beginRegion="macro_block"/>
<RegExpr String="(_ *)?&quot;" attribute="Macro String" context="macroString" />
<RegExpr String=" *&lt;&lt;" attribute="Macro String" context="luamacrostring" beginRegion="wml_lua" />
<DetectChar char="(" attribute="Macro String" context="macroString2" beginRegion="macro_paren_string" />
<DetectChar char="}" attribute="Macro/Include" context="#pop" endRegion="macro_block" />
<IncludeRules context="variableSubstitutionRule" />
</context>
<context attribute="Macro String" lineEndContext="#stay" name="macroString">
<DetectChar char="&quot;" attribute="Macro String" context="#pop" />
<DetectChar char="{" attribute="Macro/Include" context="macro" beginRegion="macro_block" />
<IncludeRules context="variableSubstitutionRule" />
<IncludeRules context="##Pango" includeAttrib="false"/>
</context>
<context attribute="Macro String" lineEndContext="#stay" name="macroString2">
<DetectChar char=")" attribute="Macro String" context="#pop" endRegion="macro_paren_string" />
<DetectChar char="{" attribute="Macro/Include" context="macro" beginRegion="macro_block" />
<IncludeRules context="text" />
</context>
<context attribute="WML Node" lineEndContext="error" name="section">
<DetectChar char="]" attribute="WML Node" context="#pop" />
</context>
<context attribute="WML Attribute" lineEndContext="#pop" name="value">
<DetectChar char="=" attribute="Normal WML Text" context="#pop" />
</context>
<context attribute="Preprocessor" lineEndContext="#pop" name="preprocessor">
</context>
<context attribute="Error" lineEndContext="#pop" name="error">
</context>
<context attribute="Variable Substitution" lineEndContext="#pop"
name="variableSubstitution">
<DetectChar char="|" attribute="Variable Substitution" context="#pop" />
<DetectChar char="$" attribute="Variable Substitution" context="variableSubstitution" />
<DetectChar char="[" attribute="Variable Subscript" context="variableSubscript" />
<RegExpr String="[^A-Za-z0-9_\.]" attribute="Variable Substitution" context="#pop"
lookAhead="true" />
</context>
<context attribute="Variable Subscript" lineEndContext="error" name="variableSubscript">
<DetectChar char="]" attribute="Variable Subscript" context="#pop" />
</context>
<!-- Include contexts -->
<context attribute="Variable Substitution" lineEndContext="#pop" name="variableSubstitutionRule">
<DetectChar char="$" attribute="Variable Substitution" context="variableSubstitution" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal WML Text" defStyleNum="dsNormal" />
<itemData name="Normal Text" defStyleNum="dsString" /> <!--For Pango-->
<itemData name="Maintenance script statement" defStyleNum="dsAlert"/>
<itemData name="String" defStyleNum="dsString" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Macro/Include" defStyleNum="dsFunction" />
<itemData name="WML Node" defStyleNum="dsKeyword" />
<itemData name="WML Attribute" defStyleNum="dsDataType" />
<itemData name="Preprocessor" defStyleNum="dsOthers" />
<itemData name="Error" defStyleNum="dsError" />
<itemData name="Macro String" defStyleNum="dsChar" />
<itemData name="Variable Substitution" defStyleNum="dsDecVal" />
<itemData name="Variable Subscript" defStyleNum="dsBaseN" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>

@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY name "[A-Za-z_:][\w.:_-]*">
<!-- names must start with a letter, ideogram or underscore. \w matches any
word character *or* a number, hence the lookahead -->
<!ENTITY name "(?![0-9])[\w_:][\w.:_-]*">
<!ENTITY entref "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
]>
<language name="XML" version="1.97" kateversion="2.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<language name="XML" version="2.03" kateversion="2.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
<highlighting>
<contexts>
@ -23,12 +25,12 @@
<DetectIdentifier />
</context>
<context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
<context name="FindEntityRefs" attribute="Other Text" lineEndContext="#stay">
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
<AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
</context>
<context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
<context name="FindPEntityRefs" attribute="Other Text" lineEndContext="#stay">
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
<RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
<AnyChar attribute="Error" context="#stay" String="&amp;%" />
@ -43,23 +45,23 @@
<DetectIdentifier />
</context>
<context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
<context name="CDATA" attribute="Other Text" lineEndContext="#stay">
<DetectSpaces />
<DetectIdentifier />
<StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
<StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
</context>
<context name="PI" attribute="Normal Text" lineEndContext="#stay">
<context name="PI" attribute="Other Text" lineEndContext="#stay">
<Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
</context>
<context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
<context name="Doctype" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
<DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
</context>
<context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
<context name="Doctype Internal Subset" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
<RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
<StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
@ -67,7 +69,7 @@
<IncludeRules context="FindPEntityRefs" />
</context>
<context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
<context name="Doctype Markupdecl" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char="&gt;" />
<DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
<DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
@ -83,7 +85,7 @@
<IncludeRules context="FindPEntityRefs" />
</context>
<context name="Element" attribute="Normal Text" lineEndContext="#stay">
<context name="Element" attribute="Other Text" lineEndContext="#stay">
<Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="element" />
<DetectChar attribute="Element" context="El Content" char="&gt;" />
<RegExpr attribute="Attribute" context="Attribute" String="^&name;" />
@ -91,22 +93,22 @@
<RegExpr attribute="Error" context="#stay" String="\S" />
</context>
<context name="El Content" attribute="Normal Text" lineEndContext="#stay">
<context name="El Content" attribute="Other Text" lineEndContext="#stay">
<RegExpr attribute="Element" context="El End" String="&lt;/&name;" />
<IncludeRules context="FindXML" />
</context>
<context name="El End" attribute="Normal Text" lineEndContext="#stay">
<context name="El End" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" endRegion="element" />
<RegExpr attribute="Error" context="#stay" String="\S" />
</context>
<context name="Attribute" attribute="Normal Text" lineEndContext="#stay">
<context name="Attribute" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Attribute" context="Value" char="=" />
<RegExpr attribute="Error" context="#stay" String="\S" />
</context>
<context name="Value" attribute="Normal Text" lineEndContext="#stay">
<context name="Value" attribute="Other Text" lineEndContext="#stay">
<DetectChar attribute="Value" context="Value DQ" char="&quot;" />
<DetectChar attribute="Value" context="Value SQ" char="&apos;" />
<RegExpr attribute="Error" context="#stay" String="\S" />
@ -125,16 +127,17 @@
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="CDATA" defStyleNum="dsBaseN" bold="1" />
<itemData name="Processing Instruction" defStyleNum="dsKeyword" />
<itemData name="Doctype" defStyleNum="dsDataType" bold="1" />
<itemData name="Element" defStyleNum="dsKeyword" />
<itemData name="Attribute" defStyleNum="dsOthers" />
<itemData name="Value" defStyleNum="dsString" color="#a00" />
<itemData name="EntityRef" defStyleNum="dsDecVal" />
<itemData name="PEntityRef" defStyleNum="dsDecVal" />
<itemData name="Error" defStyleNum="dsError" />
<itemData name="Other Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" spellChecking="false" />
<itemData name="CDATA" defStyleNum="dsBaseN" bold="1" spellChecking="false" />
<itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Doctype" defStyleNum="dsDataType" bold="1" spellChecking="false" />
<itemData name="Element" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false" />
<itemData name="Value" defStyleNum="dsString" color="#a00" spellChecking="false" />
<itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false" />
<itemData name="PEntityRef" defStyleNum="dsDecVal" spellChecking="false" />
<itemData name="Error" defStyleNum="dsError" spellChecking="false" />
</itemDatas>
</highlighting>

@ -0,0 +1,959 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
<!ENTITY word "[^|&amp;;()&lt;&gt;\s]+"> <!-- see man bash -->
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
<!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )"> <!-- valid character in a file name -->
]>
<language name="Zsh" version="0.1" kateversion="2.4" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Kolberg (bulldog98@kubuntu-de.org)" license="LGPL">
<!-- (c) 2011 by Jonathan Kolberg (bulldog98@kubuntu-de.org)
modified for zsh -->
<!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl)
Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
Changes by Sebastian Pipping (webmaster@hartwork.org)
Released under the LGPL, part of tdelibs/kate -->
<highlighting>
<list name="keywords">
<item> else </item>
<item> for </item>
<item> function </item>
<item> in </item>
<item> select </item>
<item> until </item>
<item> while </item>
<item> elif </item>
<item> then </item>
<item> set </item>
</list>
<list name="builtins"><!-- see man zshbuiltins -->
<item> - </item>
<item> . </item>
<item> : </item>
<item> alias </item>
<item> autoload </item>
<item> bg </item>
<item> bindkey </item>
<item> break </item>
<item> builtin </item>
<item> bye </item>
<item> cap </item>
<item> cd </item>
<item> chdir </item>
<item> clone </item>
<item> command </item>
<item> comparguments </item>
<item> compcall </item>
<item> compctl </item>
<item> compdescribe </item>
<item> compfiles </item>
<item> compgroups </item>
<item> compquote </item>
<item> comptags </item>
<item> comptry </item>
<item> compvalues </item>
<item> continue </item>
<item> dirs </item>
<item> disable </item>
<item> disown </item>
<item> echo </item>
<item> echotc </item>
<item> echoti </item>
<item> emulate </item>
<item> enable </item>
<item> eval </item>
<item> exec </item>
<item> exit </item>
<item> false </item>
<item> fc </item>
<item> fg </item>
<item> functions </item>
<item> getcap </item>
<item> getopts </item>
<item> hash </item>
<item> history </item>
<item> jobs </item>
<item> kill </item>
<item> let </item>
<item> limit </item>
<item> log </item>
<item> logout </item>
<item> noglob </item>
<item> popd </item>
<item> print </item>
<item> printf </item>
<item> pushd </item>
<item> pushln </item>
<item> pwd </item>
<item> r </item>
<item> rehash </item>
<item> return </item>
<item> sched </item>
<item> set </item>
<item> setcap </item>
<item> setopt </item>
<item> shift </item>
<item> source </item>
<item> stat </item>
<item> suspend </item>
<item> test </item>
<item> times </item>
<item> trap </item>
<item> true </item>
<item> ttyctl </item>
<item> type </item>
<item> ulimit </item>
<item> umask </item>
<item> unalias </item>
<item> unfunction </item>
<item> unhash </item>
<item> unlimit </item>
<item> unset </item>
<item> unsetopt </item>
<item> vared </item>
<item> wait </item>
<item> whence </item>
<item> where </item>
<item> which </item>
<item> zcompile </item>
<item> zformat </item>
<item> zftp </item>
<item> zle </item>
<item> zmodload </item>
<item> zparseopts </item>
<item> zprof </item>
<item> zpty </item>
<item> zregexparse </item>
<item> zsocket </item>
<item> zstyle </item>
<item> ztcp </item>
</list>
<list name="builtins_var">
<item> declare </item>
<item> export </item>
<item> float </item>
<item> getln </item>
<item> integer </item>
<item> unset </item>
<item> declare </item>
<item> typeset </item>
<item> local </item>
<item> read </item>
<item> readonly </item>
</list>
<list name="unixcommands">
<!-- /bin -->
<item> arch </item>
<item> awk </item>
<item> bash </item>
<item> bunzip2 </item>
<item> bzcat </item>
<item> bzcmp </item>
<item> bzdiff </item>
<item> bzegrep </item>
<item> bzfgrep </item>
<item> bzgrep </item>
<item> bzip2 </item>
<item> bzip2recover </item>
<item> bzless </item>
<item> bzmore </item>
<item> cat </item>
<item> chattr </item>
<item> chgrp </item>
<item> chmod </item>
<item> chown </item>
<item> chvt </item>
<item> cp </item>
<item> date </item>
<item> dd </item>
<item> deallocvt </item>
<item> df </item>
<item> dir </item>
<item> dircolors </item>
<item> dmesg </item>
<item> dnsdomainname </item>
<item> domainname </item>
<item> du </item>
<item> dumpkeys </item>
<item> echo </item>
<item> ed </item>
<item> egrep </item>
<item> false </item>
<item> fgconsole </item>
<item> fgrep </item>
<item> fuser </item>
<item> gawk </item>
<item> getkeycodes </item>
<item> gocr </item>
<item> grep </item>
<item> groff </item>
<item> groups </item>
<item> gunzip </item>
<item> gzexe </item>
<item> gzip </item>
<item> hostname </item>
<item> igawk </item>
<item> install </item>
<item> kbd_mode </item>
<item> kbdrate </item>
<item> killall </item>
<item> last </item>
<item> lastb </item>
<item> link </item>
<item> ln </item>
<item> loadkeys </item>
<item> loadunimap </item>
<item> login </item>
<item> ls </item>
<item> lsattr </item>
<item> lsmod </item>
<item> lsmod.old </item>
<item> lzcat </item>
<item> lzcmp </item>
<item> lzdiff </item>
<item> lzegrep </item>
<item> lzfgrep </item>
<item> lzgrep </item>
<item> lzless </item>
<item> lzcat </item>
<item> lzma </item>
<item> lzmainfo </item>
<item> lzmore </item>
<item> mapscrn </item>
<item> mesg </item>
<item> mkdir </item>
<item> mkfifo </item>
<item> mknod </item>
<item> mktemp </item>
<item> more </item>
<item> mount </item>
<item> mv </item>
<item> nano </item>
<item> netstat </item>
<item> nisdomainname </item>
<item> nroff </item>
<item> openvt </item>
<item> pgawk </item>
<item> pidof </item>
<item> ping </item>
<item> ps </item>
<item> pstree </item>
<item> pwd </item>
<item> rbash </item>
<item> readlink </item>
<item> red </item>
<item> resizecons </item>
<item> rm </item>
<item> rmdir </item>
<item> run-parts </item>
<item> sash </item>
<item> sed </item>
<item> setfont </item>
<item> setkeycodes </item>
<item> setleds </item>
<item> setmetamode </item>
<item> setserial </item>
<item> sh </item>
<item> showkey </item>
<item> shred </item>
<item> sleep </item>
<item> ssed </item>
<item> stat </item>
<item> stty </item>
<item> su </item>
<item> sync </item>
<item> tar </item>
<item> tempfile </item>
<item> touch </item>
<item> troff </item>
<item> true </item>
<item> umount </item>
<item> uname </item>
<item> unicode_start </item>
<item> unicode_stop </item>
<item> unlink </item>
<item> unlzma </item>
<item> unxz </item>
<item> utmpdump </item>
<item> uuidgen </item>
<item> vdir </item>
<item> wall </item>
<item> wc </item>
<item> xz </item>
<item> xzcat </item>
<item> ypdomainname </item>
<item> zcat </item>
<item> zcmp </item>
<item> zdiff </item>
<item> zegrep </item>
<item> zfgrep </item>
<item> zforce </item>
<item> zgrep </item>
<item> zless </item>
<item> zmore </item>
<item> znew </item>
<item> zsh </item>
<!-- some from /usr/bin -->
<item> aclocal </item>
<item> aconnect </item>
<item> aplay </item>
<item> apm </item>
<item> apmsleep </item>
<item> apropos </item>
<item> ar </item>
<item> arecord </item>
<item> as </item>
<item> as86 </item>
<item> autoconf </item>
<item> autoheader </item>
<item> automake </item>
<item> awk </item>
<item> basename </item>
<item> bc </item>
<item> bison </item>
<item> c++ </item>
<item> cal </item>
<item> cat </item>
<item> cc </item>
<item> cdda2wav </item>
<item> cdparanoia </item>
<item> cdrdao </item>
<item> cd-read </item>
<item> cdrecord </item>
<item> chfn </item>
<item> chgrp </item>
<item> chmod </item>
<item> chown </item>
<item> chroot </item>
<item> chsh </item>
<item> clear </item>
<item> cmp </item>
<item> co </item>
<item> col </item>
<item> comm </item>
<item> cp </item>
<item> cpio </item>
<item> cpp </item>
<item> cut </item>
<item> dc </item>
<item> dd </item>
<item> df </item>
<item> diff </item>
<item> diff3 </item>
<item> dir </item>
<item> dircolors </item>
<item> directomatic </item>
<item> dirname </item>
<item> du </item>
<item> env </item>
<item> expr </item>
<item> fbset </item>
<item> file </item>
<item> find </item>
<item> flex </item>
<item> flex++ </item>
<item> fmt </item>
<item> free </item>
<item> ftp </item>
<item> funzip </item>
<item> fuser </item>
<item> g++ </item>
<item> gawk </item>
<item> gc </item>
<item> gcc </item>
<item> gdb </item>
<item> getent </item>
<item> getopt </item>
<item> gettext </item>
<item> gettextize </item>
<item> gimp </item>
<item> gimp-remote </item>
<item> gimptool </item>
<item> gmake </item>
<item> gs </item>
<item> head </item>
<item> hexdump </item>
<item> id </item>
<item> install </item>
<item> join </item>
<item> kill </item>
<item> killall </item>
<item> ld </item>
<item> ld86 </item>
<item> ldd </item>
<item> less </item>
<item> lex </item>
<item> ln </item>
<item> locate </item>
<item> lockfile </item>
<item> logname </item>
<item> lp </item>
<item> lpr </item>
<item> ls </item>
<item> lynx </item>
<item> m4 </item>
<item> make </item>
<item> man </item>
<item> mkdir </item>
<item> mknod </item>
<item> msgfmt </item>
<item> mv </item>
<item> namei </item>
<item> nasm </item>
<item> nawk </item>
<item> nice </item>
<item> nl </item>
<item> nm </item>
<item> nm86 </item>
<item> nmap </item>
<item> nohup </item>
<item> nop </item>
<item> od </item>
<item> passwd </item>
<item> patch </item>
<item> pcregrep </item>
<item> pcretest </item>
<item> perl </item>
<item> perror </item>
<item> pidof </item>
<item> pr </item>
<item> printf </item>
<item> procmail </item>
<item> prune </item>
<item> ps2ascii </item>
<item> ps2epsi </item>
<item> ps2frag </item>
<item> ps2pdf </item>
<item> ps2ps </item>
<item> psbook </item>
<item> psmerge </item>
<item> psnup </item>
<item> psresize </item>
<item> psselect </item>
<item> pstops </item>
<item> rcs </item>
<item> rev </item>
<item> rm </item>
<item> scp </item>
<item> sed </item>
<item> seq </item>
<item> setterm </item>
<item> shred </item>
<item> size </item>
<item> size86 </item>
<item> skill </item>
<item> slogin </item>
<item> snice </item>
<item> sort </item>
<item> sox </item>
<item> split </item>
<item> ssh </item>
<item> ssh-add </item>
<item> ssh-agent </item>
<item> ssh-keygen </item>
<item> ssh-keyscan </item>
<item> stat </item>
<item> strings </item>
<item> strip </item>
<item> sudo </item>
<item> suidperl </item>
<item> sum </item>
<item> tac </item>
<item> tail </item>
<item> tee </item>
<item> test </item>
<item> tr </item>
<item> uniq </item>
<item> unlink </item>
<item> unzip </item>
<item> updatedb </item>
<item> updmap </item>
<item> uptime </item>
<item> users </item>
<item> vmstat </item>
<item> w </item>
<item> wc </item>
<item> wget </item>
<item> whatis </item>
<item> whereis </item>
<item> which </item>
<item> who </item>
<item> whoami </item>
<item> write </item>
<item> xargs </item>
<item> yacc </item>
<item> yes </item>
<item> zip </item>
<item> zsoelim </item>
<!-- others -->
<item> dcop </item>
<item> kdialog </item>
<item> kfile </item>
<item> xhost </item>
<item> xmodmap </item>
<item> xset </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Start">
<IncludeRules context="FindAll" />
</context>
<!-- ====== The following rulessets are meant to be included ======== -->
<!-- FindAll tries to interpret everything -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindAll">
<IncludeRules context="FindComments" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FindMost tries to interpret anything except commands -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindMost">
<IncludeRules context="FindComments" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FindComments consumes shell comments till EOL -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindComments">
<DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<IncludeRules context="##Alerts" />
</context>
<!-- FindCommentsParen consumes shell comments till EOL or a closing parenthese -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsParen">
<DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="CommentParen">
<RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" />
<IncludeRules context="##Alerts" />
</context>
<!-- FindCommentsBackq consumes shell comments till EOL or a backquote -->
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsBackq">
<DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/>
<RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
<RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
<IncludeRules context="##Alerts" />
</context>
<!-- FindCommands matches many items that can be expected outside strings, substitutions etc. -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindCommands">
<!-- start expression in double parentheses -->
<Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" />
<!-- start expression in double brackets -->
<RegExpr attribute="Keyword" context="ExprDblBracket" String="\[\[&eos;" beginRegion="expression" column="0"/>
<RegExpr attribute="Keyword" context="ExprDblBracket" String="\s\[\[&eos;" beginRegion="expression" />
<!-- start expression in single brackets -->
<RegExpr attribute="Builtin" context="ExprBracket" String="\[&eos;" beginRegion="expression" column="0"/>
<RegExpr attribute="Builtin" context="ExprBracket" String="\s\[&eos;" beginRegion="expression" />
<!-- start a group command with { -->
<RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" />
<!-- start a subshell -->
<DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
<!-- match do and if blocks -->
<RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
<RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
<RegExpr attribute="Keyword" context="#stay" String="\bif&eos;" beginRegion="if" />
<RegExpr attribute="Keyword" context="#stay" String="\bfi&noword;" endRegion="if" />
<!-- handle case as a special case -->
<RegExpr attribute="Keyword" context="Case" String="\bcase&noword;" beginRegion="case" />
<!-- handle command line options -->
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9][A-Za-z0-9_]*" />
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
<!-- handle variable assignments -->
<RegExpr attribute="Variable" context="Assign" String="\b&varname;\+?=" />
<RegExpr attribute="Variable" context="AssignSubscr" String="\b&varname;(?=\[.+\]\+?=)" />
<!-- handle functions with function keyword before keywords -->
<StringDetect attribute="Function" context="#stay" String=":()" />
<RegExpr attribute="Keyword" context="FunctionDef" String="\bfunction\b" />
<!-- handle keywords -->
<keyword attribute="Keyword" context="#stay" String="keywords" />
<RegExpr attribute="Builtin" context="#stay" String="\.(?=\s)" />
<keyword attribute="Builtin" context="#stay" String="builtins" />
<keyword attribute="Command" context="#stay" String="unixcommands" />
<!-- handle commands that have variable names as argument -->
<keyword attribute="Builtin" context="VarName" String="builtins_var" />
<!-- handle here-string -->
<RegExpr attribute="Redirection" context="#stay" String="\d*&lt;&lt;&lt;" />
<!-- handle here document -->
<StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
<!-- handle process subst -->
<RegExpr attribute="Redirection" context="ProcessSubst" String="[&lt;&gt;]\(" />
<!-- handle redirection -->
<RegExpr attribute="Redirection" context="#stay" String="([0-9]*(&gt;{1,2}|&lt;)(&amp;[0-9]+-?)?|&amp;&gt;|&gt;&amp;|[0-9]*&lt;&gt;)" />
<!-- handle &, &&, | and || -->
<RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
<!-- mark function definitions without function keyword -->
<RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
</context>
<!-- FindOthers contains various rules to mark different shell input -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
<RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&amp;&lt;&gt;* ]" />
<RegExpr attribute="Keyword" context="#stay" String="\\$" />
<RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
<RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
<RegExpr attribute="Path" context="#stay" String="~\w*" />
<RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
<!-- TODO: shell globs beside * and ? (in Path's) -->
</context>
<!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
<Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
<Detect2Chars attribute="Escape" context="#stay" char="\\" char1="&quot;" />
<DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
<DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
<Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
<Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
</context>
<!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
<RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
<RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
<RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
<RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
<RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;(\[[*@]\])?\}" />
<RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;(\[[*@]\]|[*@])?\}" />
<RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
<RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" />
<StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
<StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />
<StringDetect attribute="Variable" context="SubstCommand" String="$(" />
<DetectChar attribute="Backquote" context="SubstBackq" char="`" />
<RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
</context>
<!-- FindTests finds operators valid in tests -->
<context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
<RegExpr attribute="Expression" context="#stay" String="-[abcdefghkprstuwxOGLSNozn](?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="-([no]t|ef)(?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="([!=]=?|[&gt;&lt;])(?=\s)"/>
<RegExpr attribute="Expression" context="#stay" String="-(eq|ne|[gl][te])(?=\s)"/>
</context>
<!-- ====== These are the contexts that can be branched to ======= -->
<!-- ExprDblParen consumes an expression started in command mode till )) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
<Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprDblParenSubst like ExprDblParen but matches )) as Variable -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst">
<Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprSubParen consumes an expression till ) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprSubParen">
<DetectChar attribute="Normal Text" context="#pop" char=")" />
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprBracket consumes an expression till ] -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
<RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
<RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindTests" />
<IncludeRules context="FindMost" />
</context>
<!-- ExprDblBracket consumes an expression till ]] -->
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
<RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
<RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
<IncludeRules context="FindTests" />
<IncludeRules context="FindMost" />
</context>
<!-- Group consumes shell input till } -->
<context attribute="Normal Text" lineEndContext="#stay" name="Group">
<DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" />
<IncludeRules context="FindAll" />
</context>
<!-- SubShell consumes shell input till ) -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubShell">
<DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
<IncludeRules context="FindAll" />
</context>
<!-- Assign consumes an expression till EOL or whitespace -->
<context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthrough="true" fallthroughContext="#pop">
<DetectChar attribute="Variable" context="AssignArray" char="(" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
<RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]" />
</context>
<!-- AssignArray consumes everything till ), marking assignments -->
<context attribute="Normal Text" lineEndContext="#pop" name="AssignArray">
<DetectChar attribute="Variable" context="#pop" char=")" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindMost" />
</context>
<!-- AssignSubscr first expects a [ then parses subscript and continues with '=value' -->
<context attribute="Normal Text" lineEndContext="#pop" name="AssignSubscr" fallthrough="true" fallthroughContext="#pop">
<DetectChar attribute="Variable" context="Subscript" char="[" />
<Detect2Chars attribute="Variable" context="Assign" char="+" char1="=" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- Subscript consumes anything till ], marks as Variable -->
<context attribute="Variable" lineEndContext="#stay" name="Subscript">
<DetectChar attribute="Variable" context="#pop" char="]" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- FunctionDef consumes a name, possibly with (), marks as Function -->
<context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthrough="true" fallthroughContext="#pop">
<RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" />
</context>
<!-- VarName consumes spare variable names and assignments -->
<context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
<!-- handle command line options -->
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
<RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<DetectChar attribute="Variable" context="Assign" char="=" />
<IncludeRules context="FindMost" />
<!-- stay here in spaces and other safe characters -->
<RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
</context>
<!-- ProcessSubst handles <(command) and >(command) -->
<context attribute="Normal Text" lineEndContext="#stay" name="ProcessSubst">
<DetectChar attribute="Redirection" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- StringSQ consumes anything till ' -->
<context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
</context>
<!-- StringDQ consumes anything till ", substitutes vars and expressions -->
<context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
<DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
<RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
<IncludeRules context="FindSubstitutions" />
</context>
<!-- StringEsc eats till ', but escaping many characters -->
<context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc">
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
<RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']" />
<RegExpr attribute="String Escape" context="#stay" String="\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" />
</context>
<!-- VarBrace is called as soon as ${xxx is encoutered -->
<context attribute="Error" lineEndContext="#stay" name="VarBrace">
<DetectChar attribute="Variable" context="#pop" char="}" />
<DetectChar attribute="Variable" context="Subscript" char="[" />
<RegExpr attribute="Variable" context="VarAlt" String="(:?[-=?+]|##?|%%?)" />
<RegExpr attribute="Variable" context="VarSubst" String="//?" />
<DetectChar attribute="Variable" context="VarSub" char=":" />
</context>
<!-- VarAlt is to handle default/alternate/etc values of variables -->
<context attribute="Normal Text" lineEndContext="#stay" name="VarAlt">
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
</context>
<!-- VarSubst is to handle substitutions on variables -->
<context attribute="Normal Text" lineEndContext="#stay" name="VarSubst">
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
<DetectChar attribute="Variable" context="VarSubst2" char="/" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="VarSubst2">
<DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
</context>
<!-- VarSub is to substrings of variables -->
<context attribute="Error" lineEndContext="#stay" name="VarSub">
<DetectChar attribute="Variable" context="VarSub2" char=":" />
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
<RegExpr attribute="Variable" context="#stay" String="&varname;" />
<RegExpr attribute="Variable" context="#stay" String="[0-9]+(?=[:}])" />
<IncludeRules context="FindSubstitutions" />
</context>
<context attribute="Error" lineEndContext="#stay" name="VarSub2">
<DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
<RegExpr attribute="Variable" context="#stay" String="&varname;" />
<RegExpr attribute="Variable" context="#stay" String="[0-9](?=[:}])" />
<IncludeRules context="FindSubstitutions" />
</context>
<!-- SubstFile is called after a <( or >( is encoutered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstFile">
<DetectChar attribute="Redirection" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- SubstCommand is called after a $( is encountered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand">
<DetectChar attribute="Variable" context="#pop" char=")" />
<IncludeRules context="FindCommentsParen" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- SubstBackq is called when a backquote is encountered -->
<context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
<DetectChar attribute="Backquote" context="#pop" char="`" />
<IncludeRules context="FindCommentsBackq" />
<IncludeRules context="FindCommands" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindSubstitutions" />
<IncludeRules context="FindOthers" />
</context>
<!-- Case is called after the case keyword is encoutered. We handle this because of
the lonely closing parentheses that would otherwise disturb the expr matching -->
<context attribute="Normal Text" lineEndContext="#stay" name="Case">
<RegExpr attribute="Keyword" context="CaseIn" String="\sin\b" />
<IncludeRules context="FindMost" />
</context>
<!-- CaseIn is called when the construct 'case ... in' has been found. -->
<context attribute="Normal Text" lineEndContext="#stay" name="CaseIn">
<RegExpr attribute="Keyword" context="#pop#pop" String="\besac(?=$|[\s;)])" endRegion="case" />
<DetectChar attribute="Keyword" context="CaseExpr" char=")" beginRegion="caseexpr" />
<AnyChar attribute="Keyword" context="#stay" String="(|" />
<IncludeRules context="FindMost" />
</context>
<!-- CaseExpr eats shell input till ;; -->
<context attribute="Normal Text" lineEndContext="#stay" name="CaseExpr">
<Detect2Chars attribute="Keyword" context="#pop" char=";" char1=";" endRegion="caseexpr" />
<RegExpr attribute="Keyword" context="#pop" String="esac(?=$|[\s;)])" lookAhead="true" firstNonSpace="true" endRegion="caseexpr"/>
<IncludeRules context="FindAll" />
</context>
<!-- HereDoc consumes Here-documents. It is called at the beginning of the "<<" construct. -->
<context attribute="Normal Text" lineEndContext="#stay" name="HereDoc">
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocIQ" String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocQ" String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
<RegExpr attribute="Redirection" context="HereDocNQ" String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
<StringDetect attribute="Redirection" context="#pop" String="&lt;&lt;" /><!-- always met -->
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
<IncludeRules context="FindAll" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="^%2\b" dynamic="true" column="0"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocNQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="^%2\b" dynamic="true" column="0"/>
<IncludeRules context="FindSubstitutions" />
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocIQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2\b" dynamic="true" column="0"/>
</context>
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocINQ" dynamic="true">
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
<RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2\b" dynamic="true" column="0"/>
<IncludeRules context="FindSubstitutions" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="Control" defStyleNum="dsKeyword" />
<itemData name="Builtin" defStyleNum="dsKeyword" color="#808" />
<itemData name="Command" defStyleNum="dsKeyword" color="#c0c" />
<itemData name="Redirection" defStyleNum="dsKeyword" color="#238" />
<itemData name="Escape" defStyleNum="dsDataType" />
<itemData name="String SingleQ" defStyleNum="dsString" />
<itemData name="String DoubleQ" defStyleNum="dsString" />
<itemData name="Backquote" defStyleNum="dsKeyword" />
<itemData name="String Transl." defStyleNum="dsString" />
<itemData name="String Escape" defStyleNum="dsDataType" />
<itemData name="Variable" defStyleNum="dsOthers" />
<itemData name="Expression" defStyleNum="dsOthers" />
<itemData name="Function" defStyleNum="dsFunction" />
<itemData name="Path" defStyleNum="dsNormal" />
<itemData name="Option" defStyleNum="dsNormal" />
<itemData name="Error" defStyleNum="dsError" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-/" additionalDeliminator="`"/>
</general>
</language>
Loading…
Cancel
Save