You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
7.6 KiB
146 lines
7.6 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
<!--
|
|
Copyright 2008 Diggory Hardy
|
|
|
|
Author: Diggory Hardy <diggory.hardy@gmail.com>
|
|
|
|
This contains highlighting for mergetag text files, a sub-part of the mde project.
|
|
dsource.org/projects/mde
|
|
|
|
**********************************************************************
|
|
* This library is free software; you can redistribute it and/or *
|
|
* modify it under the terms of the GNU Lesser 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 *
|
|
* Lesser General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU Lesser 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 name="mergetag text" version="1" kateversion="2.4" section="Configuration" author="Diggory Hardy (diggory.hardy@gmail.com)" license="LGPL" extensions="*.mtt;">
|
|
<highlighting>
|
|
<contexts>
|
|
<context name="Normal" attribute="Error" lineEndContext="#stay">
|
|
<DetectSpaces />
|
|
<Detect2Chars attribute="Comment Brackets" context="SecComment" char="!" char1="{" beginRegion="SecComment" />
|
|
<Detect2Chars attribute="Comment Brackets" context="TagCommentType" char="!" char1="<" />
|
|
<DetectChar attribute="Brackets" context="SectionIdentifier" char="{" beginRegion="SecID" />
|
|
<DetectChar attribute="Tag Character" context="TagType" char="<" />
|
|
</context>
|
|
|
|
<context name="SectionIdentifier" attribute="ID" lineEndContext="#stay">
|
|
<DetectChar attribute="Brackets" context="#pop" char="}" endRegion="SecID" />
|
|
</context>
|
|
|
|
<context name="SecComment" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment Brackets" context="#pop" char="}" endRegion="SecComment" />
|
|
<DetectChar attribute="Comment Brackets" context="SecComment" char="{" beginRegion="SecID" />
|
|
</context>
|
|
|
|
<context name="TagType" attribute="Type" lineEndContext="#stay">
|
|
<DetectChar attribute="Tag Character" context="TagID" char="|" />
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="TagID" attribute="ID" lineEndContext="#stay">
|
|
<DetectChar attribute="Tag Character" context="TagData" char="=" />
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="TagData" attribute="Normal Text" lineEndContext="#stay">
|
|
<DetectChar attribute="Tag Character" context="#pop#pop#pop" char=">" />
|
|
|
|
<DetectChar attribute="Char" context="CharLiteral" char="'"/>
|
|
<DetectChar attribute="String" context="String" char="""/>
|
|
<!-- Number literals -->
|
|
<Float attribute="Float" context="#stay" />
|
|
<RegExpr attribute="Binary" context="#pop" String="0[bB][01]+"/>
|
|
<RegExpr attribute="Octal" context="#pop" String="0[oO][0-7]+"/>
|
|
<HlCHex attribute="Hex" context="#stay"/>
|
|
<Int attribute="Integer" context="#stay" />
|
|
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="TagErrors" attribute="Normal Text" lineEndContext="#stay">
|
|
<DetectChar attribute="Error" context="#stay" char="<" />
|
|
<DetectChar attribute="Error" context="#stay" char="|" />
|
|
<DetectChar attribute="Error" context="#stay" char="=" />
|
|
<DetectChar attribute="Error" context="#stay" char=">" />
|
|
</context>
|
|
|
|
<context name="TagCommentType" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment Brackets" context="TagCommentID" char="|" />
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="TagCommentID" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment Brackets" context="TagCommentData" char="=" />
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="TagCommentData" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment Brackets" context="#pop#pop#pop" char=">" />
|
|
<DetectChar attribute="Comment" context="CommentChar" char="'"/>
|
|
<DetectChar attribute="Comment" context="CommentString" char="""/>
|
|
<IncludeRules context="TagErrors" />
|
|
</context>
|
|
<context name="CommentString" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment" context="#pop" char=""" />
|
|
<RegExpr String="\\." attribute="Comment" context="#stay"/>
|
|
</context>
|
|
<context name="CommentChar" attribute="Comment" lineEndContext="#stay">
|
|
<DetectChar attribute="Comment" context="#pop" char="'" />
|
|
<RegExpr String="\\." attribute="Comment" context="#stay"/>
|
|
</context>
|
|
|
|
<!-- 'char' -->
|
|
<context name="CharLiteral" attribute="Char" lineEndContext="CharLiteralClosing" fallthrough="true" fallthroughContext="#pop">
|
|
<!-- Empty '' -->
|
|
<DetectChar attribute="Char" context="#pop" char="'"/>
|
|
<HlCStringChar attribute="EscapeSequence" context="CharLiteralClosing"/>
|
|
<RegExpr attribute="Char" context="CharLiteralClosing" String="."/>
|
|
</context>
|
|
<!-- Anything other than a closing ' is now be an error -->
|
|
<context name="CharLiteralClosing" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
|
|
<DetectChar attribute="Char" context="#pop#pop" char="'"/>
|
|
</context>
|
|
<!-- "string" -->
|
|
<context name="String" attribute="String" lineEndContext="#stay">
|
|
<HlCStringChar attribute="EscapeSequence"/>
|
|
<DetectChar attribute="String" context="#pop" char="""/>
|
|
</context>
|
|
</contexts>
|
|
|
|
<itemDatas>
|
|
<itemData name="Brackets" defStyleNum="dsKeyword"/>
|
|
<itemData name="Tag Character" defStyleNum="dsKeyword" color="#008040"/>
|
|
<itemData name="Type" defStyleNum="dsDataType"/>
|
|
<itemData name="Error" defStyleNum="dsError"/>
|
|
<itemData name="Comment Brackets" defStyleNum="dsComment" italic="0" color="#404040" />
|
|
<itemData name="Comment" defStyleNum="dsComment"/>
|
|
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
|
<itemData name="ID" defStyleNum="dsOthers"/>
|
|
|
|
<itemData name="Integer" defStyleNum="dsDecVal"/>
|
|
<itemData name="Binary" defStyleNum="dsBaseN"/>
|
|
<itemData name="Octal" defStyleNum="dsBaseN"/>
|
|
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
|
<itemData name="Float" defStyleNum="dsFloat"/>
|
|
|
|
<itemData name="EscapeSequence" defStyleNum="dsString" color="#00aa88" selColor="#ff0000"/>
|
|
<itemData name="String" defStyleNum="dsString"/>
|
|
<itemData name="Char" defStyleNum="dsChar"/>
|
|
</itemDatas>
|
|
</highlighting>
|
|
<general>
|
|
<comments>
|
|
<comment name="multiLine" start="!{" end="}" region="SecComment"/>
|
|
</comments>
|
|
<keywords casesensitive="true" />
|
|
</general>
|
|
</language>
|