Skip to content

Instantly share code, notes, and snippets.

@lwrage
Last active August 24, 2020 19:15
Show Gist options
  • Save lwrage/fa17916a6c61696c8e543b3bd6a93e89 to your computer and use it in GitHub Desktop.
Save lwrage/fa17916a6c61696c8e543b3bd6a93e89 to your computer and use it in GitHub Desktop.
Kate highlighting configuration for AADL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
Kate syntax highlighing for AADL.
Copyright 2016-2020 Lutz Wrage <lutz.wrage@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="AADL" version="1" kateversion="5.0" section="Sources" extensions="*.aadl;*.aadl2" license="GPL3" mimetype="text/aadl" casesensitive="0">
<highlighting>
<list name="keywords">
<item>package</item>
<item>public</item>
<item>private</item>
<item>properties</item>
<item>with</item>
<item>renames</item>
<item>all</item>
<item>abstract</item>
<item>bus</item>
<item>data</item>
<item>device</item>
<item>memory</item>
<item>thread</item>
<item>group</item>
<item>process</item>
<item>processor</item>
<item>subprogram</item>
<item>system</item>
<item>virtual</item>
<item>implementation</item>
<item>end</item>
<item>extends</item>
<item>feature</item>
<item>prototypes</item>
<item>features</item>
<item>flows</item>
<item>requires</item>
<item>modes</item>
<item>subcomponents</item>
<item>internal</item>
<item>calls</item>
<item>connections</item>
<item>none</item>
<item>in</item>
<item>out</item>
<item>event</item>
<item>port</item>
<item>requires</item>
<item>provides</item>
<item>access</item>
<item>flow</item>
<item>source</item>
<item>sink</item>
<item>path</item>
<item>initial</item>
<item>property</item>
<item>set</item>
<item>is</item>
<item>type</item>
<item>constant</item>
<item>inherit</item>
<item>enumeration</item>
<item>units</item>
<item>range</item>
<item>of</item>
<item>list</item>
<item>record</item>
<item>binding</item>
<item>delta</item>
<item>parameter</item>
<item>mode</item>
</list>
<list name="types">
<item>aadlboolean</item>
<item>aadlinteger</item>
<item>aadlstring</item>
<item>aadlreal</item>
</list>
<list name="builtins">
<item>reference</item>
<item>classifier</item>
<item>compute</item>
</list>
<list name="predeclared">
<item>true</item>
<item>false</item>
</list>
<list name="symbols">
<item>=&gt;</item>
<item>+=&gt;</item>
<item>-[</item>
<item>]-&gt;</item>
<item>-&gt;</item>
<item>&lt;-&gt;</item>
</list>
<list name="emv2keywords">
<item>error</item>
<item>types</item>
<item>type</item>
<item>set</item>
<item>component</item>
<item>behavior</item>
<item>composite</item>
<item>in</item>
<item>out</item>
<item>not</item>
<item>propagation</item>
<item>applies</item>
<item>to</item>
<item>properties</item>
<item>state</item>
<item>initial</item>
<item>use</item>
<item>states</item>
<item>transitions</item>
<item>propagations</item>
<item>end</item>
</list>
<list name="emv2builtins">
<item>and</item>
<item>or</item>
<item>ormore</item>
<item>orless</item>
<item>all</item>
<item>but</item>
<item>same</item>
</list>
<list name="emv2predeclared">
<item>noerror</item>
</list>
<!--
<list name="x">
<item></item>
<item></item>
<item></item>
<item></item>
<item></item>
</list>
-->
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<WordDetect attribute="Keyword" context="Annex" String="annex" insensitve="true"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Builtin Function" context="#stay" String="builtins"/>
<keyword attribute="Predeclared Identifier" context="#stay" String="predeclared"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<keyword attribute="Symbol" context="#stay" String="symbols"/>
<WordDetect attribute="Keyword" context="Applies" String="applies" insensitve="true"/>
<Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
<DetectChar attribute="String" context="String" char="&quot;"/>
</context>
<context name="String" attribute="String" lineEndContext="#pop">
<DetectChar attribute="String" context="#pop" char="&quot;"/>
</context>
<context name="Applies" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces/>
<WordDetect attribute="Keyword" context="Applies To" String="to" insensitive="true"/>
</context>
<context name="Applies To" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces/>
<DetectIdentifier/>
<AnyChar context="#pop#pop" String=");"/>
</context>
<context name="Annex" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces/>
<WordDetect attribute="Keyword" context="EMV2" String="emv2" insensitive="true"/>
</context>
<context name="EMV2" attribute="Normal Text" lineEndContext="#stay">
<keyword attribute="Keyword" context="#stay" String="emv2keywords"/>
<keyword attribute="Builtin Function" context="#stay" String="emv2builtins"/>
<keyword attribute="Predeclared Identifier" context="#stay" String="emv2predeclared"/>
<StringDetect context="#pop#pop" String="**}"/>
</context>
<context name="Comment" attribute="Comment" lineEndContext="#pop">
<DetectSpaces/>
<DetectIdentifier/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Predeclared Identifier" defStyleNum="dsFunction"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Builtin Function" defStyleNum="dsBuiltIn"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Symbol" defStyleNum="dsOperator"/>
<itemData name="Comment" defStyleNum="dsComment"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="--" />
</comments>
<keywords casesensitive="0"/>
</general>
</language>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment