parent
783973a7d6
commit
7439a4b0e0
@ -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=""'"/>
|
||||
</context>
|
||||
|
||||
<context name="Comment" attribute="Comment" lineEndContext="#pop"/>
|
||||
|
||||
<context name="String" attribute="String" lineEndContext="#pop">
|
||||
<AnyChar attribute="String" context="#pop" String=""'"/>
|
||||
</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="&" 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="<" char1="<" context="#pop"/>
|
||||
<Detect2Chars attribute="Normal Text" char=">" char1=">" 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=""'"/>
|
||||
</context>
|
||||
|
||||
<context name="Comment" attribute="Comment" lineEndContext="#pop"/>
|
||||
|
||||
<context name="String" attribute="String" lineEndContext="#pop">
|
||||
<AnyChar attribute="String" context="#pop" String=""'"/>
|
||||
</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="&" 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="<" char1="<" context="#pop"/>
|
||||
<Detect2Chars attribute="Normal Text" char=">" char1=">" 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>
|
@ -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> < </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> 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="""/>
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<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-+\<\>//\*]*\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="""/>
|
||||
</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="-+*?!<>=/:#\"/>
|
||||
<comments>
|
||||
<comment name="singleLine" start=";;"/>
|
||||
</comments>
|
||||
</general>
|
||||
</language>
|
@ -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="(\((\'[^']*'|"[^"]*"|[^()])*\))?\s*(-|=)>" 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=""""" beginRegion="Rich Heredoc"/>
|
||||
<DetectChar attribute="String" context="String" char="'"/>
|
||||
<DetectChar attribute="String" context="Rich String" char="""/>
|
||||
<!-- 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="():!%&+,-/.*<=>?[]|~^;{}"/>
|
||||
</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="""/>
|
||||
</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=""""" 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>
|
@ -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="""/>
|
||||
<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=":!%&()+,-/.*<=>?[]|~^;"/>
|
||||
<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="""/>
|
||||
</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>
|
@ -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\\;"%]|$))"> <!-- end of path -->
|
||||
<!ENTITY pathpart "[^\s\\%;/:\*\?"><\|]"> <!-- 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]*(>>?|<)(&[0-9]+)"/>
|
||||
<RegExpr attribute="Redirection" context="Path" String="[0-9]*(>>?|<)\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="""/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
|
||||
<Detect2Chars attribute="Escape" context="#stay" char="%" char1="%"/>
|
||||
<RegExpr attribute="Variable" context="#stay" String="([%!])[^%\s!]+\1"/>
|
||||
<RegExpr attribute="Variable" context="#stay" String="[%!][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="""/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
<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=" 	\%/:*?"><|" 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]*(>>?|<)(&[0-9]+)"/>
|
||||
<RegExpr attribute="Redirection" context="Path" String="[0-9]*(>>?|<)\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>
|
@ -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'"\\]|\\[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="<" beginRegion="attribute"/>
|
||||
<Detect2Chars attribute="Symbol" context="#stay" char=">" 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=""" />
|
||||
<RegExpr attribute="Character" context="#stay" String="'(&ESC;|[^'])'" />
|
||||
<Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="<" char1="<" />
|
||||
<RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="<:&IDENT;<" />
|
||||
|
||||
<!-- 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=""" />
|
||||
<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=">" char1=">" />
|
||||
<Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="<" char1="<" />
|
||||
<RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="<:&IDENT;<" />
|
||||
<RegExpr attribute="Escaped characters" context="#stay" String="\\(\\|>>|<<)" />
|
||||
<RegExpr attribute="Escaped characters" context="#stay" String="\\<:&IDENT;<" />
|
||||
</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="((?:[^ ]|<.+>)+::)?([^ :]+)\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>
|
@ -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=""" />
|
||||
</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=""" />
|
||||
</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> < </item>
|
||||
<item> > </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=""" />
|
||||
<!-- 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=""" />
|
||||
</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="--[^\-!#\$%&\*\+/<=>\?\@\^\|~\.:].*$" />
|
||||
|
||||
<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=""" />
|
||||
<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=""" />
|
||||
</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="(::|=>|\->|<\-)" />
|
||||
<AnyChar attribute="Special" context="#stay" String="∷⇒→←∀∃" />
|
||||
<RegExpr attribute="Signature" context="#stay" String="\s*[a-z][a-zA-Z0-9_']*\s*(?=::[^\-!#\$%&\*\+/<=>\?\@\^\|~\.:])" />
|
||||
<RegExpr attribute="Signature" context="#stay" String="\s*(\([\-!#\$%&\*\+/<=>\?\@\^\|~\.:]*\))*\s*(?=::[^\-!#\$%&\*\+/<=>\?\@\^\|~\.:])" />
|
||||
<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_']*\.)*[\-!#\$%&\*\+/<=>\?\@\^\|~\.:]+" />
|
||||
<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=""" />
|
||||
|
||||
<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=""" />
|
||||
</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>
|
||||
|
@ -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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<IncludeRules context="Statement"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal" lineEndContext="#stay" name="Block">
|
||||
<IncludeRules context="Preprocess"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenBlockClose" endRegion="block" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenSemicolon" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenBraceOpen" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenBraceClose" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenSemicolon" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal" lineEndContext="#stay" name="CaseCond">
|
||||
<IncludeRules context="Preprocess"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenColon" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenSemicolon" lookAhead="true" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal" lineEndContext="#stay" name="SubRule">
|
||||
<IncludeRules context="Preprocess"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenColon" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop#pop" String="tokenSquareClose" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal" lineEndContext="#stay" name="VarnameList">
|
||||
<IncludeRules context="Preprocess"/>
|
||||
<keyword attribute="Operator" context="VarnameList" String="tokenColon" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<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=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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="<"/>
|
||||
<StringDetect attribute="Operator" context="#stay" String="<="/>
|
||||
<StringDetect attribute="Operator" context="#stay" String=">"/>
|
||||
<StringDetect attribute="Operator" context="#stay" String=">="/>
|
||||
<StringDetect attribute="Operator" context="#stay" String="in"/>
|
||||
<StringDetect attribute="Operator" context="#stay" String="!"/>
|
||||
<StringDetect attribute="Operator" context="#stay" String="&&"/>
|
||||
<StringDetect attribute="Operator" context="#stay" String="||"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenBraceOpen" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#stay" String="tokenBraceClose" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
<keyword attribute="Operator" context="#pop" String="tokenBlockOpen" lookAhead="true" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</context>
|
||||
|
||||
<!-- Variables, Strings, Comments -->
|
||||
|
||||
<context attribute="Normal" lineEndContext="#stay" name="Preprocess">
|
||||
<RegExpr attribute="Normal" context="#stay" String="\\("|\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="""/>
|
||||
<keyword attribute="Operator" context="SubStatement" String="tokenSquareOpen" weakDelimiter=":;{}()[].!+,-<=>%&/?^|~\*,"/>
|
||||
</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="\""/>
|
||||
<StringDetect attribute="EscapeSeq" context="#stay" String="\"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</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=":;{}()[].!+,-<=>%&/?^|~\*," additionalDeliminator=" "/>
|
||||
</general>
|
||||
</language>
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
@ -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=">" 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=""" />
|
||||
<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=""" />
|
||||
</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=">" column="0"/>
|
||||
<DetectChar attribute="BirdTrack" context="normal" char="<" column="0"/>
|
||||
<StringDetect attribute="Text" context="normals" String="\begin{code}"/>
|
||||
<StringDetect attribute="Text" context="normals" String="\begin{spec}"/>
|
||||
</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="\end{code}"/>
|
||||
<StringDetect attribute="Normal" context="#pop" String="\end{spec}"/>
|
||||
<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=">" column="0"/>
|
||||
<DetectChar attribute="BirdTrack" context="recomments" char="<" 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>
|
||||
|
@ -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="[+*/%\|=\!<>!^&~-]" 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>
|
File diff suppressed because it is too large
Load Diff
@ -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é <devel@the-user.org>" license="LGPL" priority="10">
|
||||
|
||||
<highlighting>
|
||||
|
||||
<list name="tags">
|
||||
<item> <span </item>
|
||||
<item> <b </item>
|
||||
<item> <big </item>
|
||||
<item> <i </item>
|
||||
<item> <s </item>
|
||||
<item> <sub </item>
|
||||
<item> <sup </item>
|
||||
<item> <small </item>
|
||||
<item> <tt </item>
|
||||
<item> <u </item>
|
||||
</list>
|
||||
|
||||
<list name="endtags">
|
||||
<item> </span> </item>
|
||||
<item> </b> </item>
|
||||
<item> </big> </item>
|
||||
<item> </i> </item>
|
||||
<item> </s> </item>
|
||||
<item> </sub> </item>
|
||||
<item> </sup> </item>
|
||||
<item> </small> </item>
|
||||
<item> </tt> </item>
|
||||
<item> </u> </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="</(span|b|big|i|s|sub|sup|small|tt|u)>" endRegion="pango_node" />
|
||||
<RegExpr attribute="Element" context="FindAttributes" String="<(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=">" />
|
||||
<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>
|
File diff suppressed because it is too large
Load Diff
@ -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=""" />
|
||||
<DetectChar char=""" 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=""" />
|
||||
<DetectChar attribute="String" context="#pop" char=""" />
|
||||
</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; -->
|
@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY qname "[A-Za-z_:][\w.:_-]*">
|
||||
<!ENTITY entref "&(#[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="<!--" beginRegion="comment"/>
|
||||
<DetectChar attribute="Tag" context="tagname" char="<" />
|
||||
<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=">" />
|
||||
</context>
|
||||
|
||||
<context name="attributes" attribute="Attribute" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1=">" />
|
||||
<DetectChar attribute="Tag" context="#pop#pop" char=">" />
|
||||
<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=">" />
|
||||
<DetectChar attribute="Invalid" context="#pop#pop#pop" char=">" />
|
||||
<DetectChar attribute="Attribute Value" context="string" char=""" />
|
||||
</context>
|
||||
|
||||
<context name="string" attribute="Attribute Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Attribute Value" context="#pop#pop" char=""" />
|
||||
<IncludeRules context="detectEntRef" />
|
||||
</context>
|
||||
|
||||
<context name="comment" attribute="Comment" lineEndContext="#stay">
|
||||
<DetectSpaces/>
|
||||
<StringDetect attribute="Comment" context="#pop" String="-->" endRegion="comment"/>
|
||||
<RegExpr attribute="Error" context="#stay" String="-(-(?!->))+"/>
|
||||
<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="<!--" end="-->" />
|
||||
</comments>
|
||||
<keywords casesensitive="0" weakDeliminator="-:" additionalDeliminator=""{}"/>
|
||||
</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=""" 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=""" />
|
||||
</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>
|
@ -1,134 +1,505 @@
|
||||
<?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="<" char1="="/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char=">" char1="="/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="=" char1="="/>
|
||||
<AnyChar attribute="Keyword" context="#stay" String="=<>," />
|
||||
<!-- 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="&" char1="&"/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="<" char1="="/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char=">" char1="="/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="=" char1="="/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="!" char1="="/>
|
||||
<AnyChar attribute="Keyword" context="#stay" String="!<>" />
|
||||
<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=""" />
|
||||
<!-- 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="\\[^"]" />
|
||||
<!-- Handle % -->
|
||||
<AnyChar context="handle_percent" String="%$" lookAhead="true" />
|
||||
<!-- Switch back at the end of the quoted string -->
|
||||
<DetectChar attribute="String" context="#pop" char=""" />
|
||||
</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. -->
|
||||
<RegExpr attribute="Error" context="#pop" String="(%|\$)([&a_valid_char_in_macro_names;]{1,}|\*|\#)" />
|
||||
<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" />
|
||||
<DetectChar attribute="Macro call" context="#pop#pop" char=")" />
|
||||
<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>
|
||||
|
||||
</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=".():!+,-<=>%&*/;?[]^{|}~\," />
|
||||
<comments>
|
||||
<comment name="singleLine" start="#"/>
|
||||
</comments>
|
||||
</general>
|
||||
|
||||
|
||||
</language>
|
||||
|
@ -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\\&]" attribute="Repl Escape" context="#stay"/>
|
||||
<DetectChar char="&" 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>
|
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="""/>
|
||||
<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="!%&()+,-<=>?[]^{|}~"/>
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="String">
|
||||
<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=" "/>
|
||||
<Detect2Chars attribute="Embedded Expression" context="embedded" char="<" char1="<"/>
|
||||
<DetectChar attribute="HTML Tag" context="htmltag" char="<"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</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="<"/>
|
||||
<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=""" char1="""/>
|
||||
<RangeDetect attribute="String" context="#stay" char="<" char1=">"/>
|
||||
<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=">" char1=">"/>
|
||||
</context>
|
||||
|
||||
<context name="htmltag" attribute="HTML Tag" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">"/>
|
||||
<DetectChar attribute="HTML Tag" context="#pop" char=">"/>
|
||||
</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_:#%@-]*">
|
||||
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
|
||||
<!ENTITY word "[|&;()<>\s]+"> <!-- see man csh -->
|
||||
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
|
||||
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
|
||||
<!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- 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="(<<?|>>?&?!?)" />
|
||||
<!-- handle &, &&, | and || -->
|
||||
<RegExpr attribute="Control" context="#stay" String="([|&])\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="\\[;"\\'$`{}()|&<>* ]" />
|
||||
<!--? <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/):;$`'"]|$))" />
|
||||
<!-- 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=""" />
|
||||
<Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
|
||||
<Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" />
|
||||
</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="$(<" />-->
|
||||
<!--? <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="([|&=><)\1"/>
|
||||
<RegExpr attribute="Expression" context="#stay" String="[|^&><+-*/%!~]"/>
|
||||
<RegExpr attribute="Expression" context="#stay" String="([!=]~|[!><]=)"/>
|
||||
</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;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&]))" 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;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&]))" 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="[^]})|;`&><]" />
|
||||
</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=""" />
|
||||
<RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\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="(<<-\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocINQ" String="(<<-\s*(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocNQ" String="(<<\s*(&word;))" lookAhead="true" />
|
||||
<StringDetect attribute="Redirection" context="#pop" String="<<" /><!-- 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>
|
@ -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="""/>
|
||||
<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=":!%&()+,-/.*<=>?[]{|}~^;"/>
|
||||
</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="""/>
|
||||
</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=""" char1="""/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
|
||||
<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="""/>
|
||||
<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="""/>
|
||||
<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>
|
@ -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="(_ *)?"" attribute="String" context="string" />
|
||||
|
||||
<RegExpr String=" *<<" 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=""" 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=">>" attribute="String" context="#pop" endRegion="wml_lua" />
|
||||
<IncludeRules context="##Lua" includeAttrib="true"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Macro String" name="luamacrostring" lineEndContext="#stay">
|
||||
<RegExpr String=">>" 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="(_ *)?"" attribute="Macro String" context="macroString" />
|
||||
<RegExpr String=" *<<" 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=""" 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>
|
@ -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_:#%@-]*">
|
||||
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
|
||||
<!ENTITY word "[^|&;()<>\s]+"> <!-- see man bash -->
|
||||
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
|
||||
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
|
||||
<!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- 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*<<<" />
|
||||
<!-- handle here document -->
|
||||
<StringDetect attribute="Redirection" context="HereDoc" String="<<" lookAhead="true" />
|
||||
<!-- handle process subst -->
|
||||
<RegExpr attribute="Redirection" context="ProcessSubst" String="[<>]\(" />
|
||||
<!-- handle redirection -->
|
||||
<RegExpr attribute="Redirection" context="#stay" String="([0-9]*(>{1,2}|<)(&[0-9]+-?)?|&>|>&|[0-9]*<>)" />
|
||||
<!-- handle &, &&, | and || -->
|
||||
<RegExpr attribute="Control" context="#stay" String="([|&])\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="\\[][;\\$`{}()|&<>* ]" />
|
||||
<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/):;$`'"]|$))" />
|
||||
<!-- 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=""" />
|
||||
<DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
|
||||
<DetectChar attribute="String DoubleQ" context="StringDQ" char=""" />
|
||||
<Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
|
||||
<Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" />
|
||||
</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="$(<" />
|
||||
<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="([!=]=?|[><])(?=\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;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&]))" 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;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&]))" 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="[^]})|;`&><]" />
|
||||
</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=""" />
|
||||
<RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\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="(<<-\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocINQ" String="(<<-\s*(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocNQ" String="(<<\s*(&word;))" lookAhead="true" />
|
||||
<StringDetect attribute="Redirection" context="#pop" String="<<" /><!-- 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…
Reference in new issue