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.
tdelibs/kate/data/doxygen.xml

514 lines
30 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY wordsep "([][,?;()]|\.$|\.?\s)"> <!-- things that end a TagWord -->
]>
<!--
This file is part of TDE's kate project.
Copyright 2004 Dominik Haumann (dhdev@gmx.de)
Copyright 2007 Matthew Woehlke (mw_triad@users.sourceforge.net)
Copyright 2009-2013 Alex Turbov (I.zaufi@gmail.com)
**********************************************************************
* 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="Doxygen"
version="1.38-1"
kateversion="2.4"
section="Markup"
extensions="*.dox;*.doxygen"
mimetype="text/x-doxygen"
author="Dominik Haumann (dhdev@gmx.de)"
license="LGPL"
priority="9">
<highlighting>
<!-- NOTE: all tags may begin with a \ or @ char
so if you add/change tags you have to do it twice -->
<!-- NOTE: Tags @code/@endcode, @dot/@enddot, @vermatim/@endverbatim, @msc/@endmsc, @f[/@f]
do not present in keywords due separate handle rules...
-->
<list name="TagOnly">
<item> \arg </item> <item> @arg </item>
<item> \author </item> <item> @author </item>
<item> \authors </item> <item> @authors </item>
<item> \brief </item> <item> @brief </item>
<item> \callgraph </item> <item> @callgraph </item>
<item> \callergraph </item> <item> @callergraph </item>
<item> \date </item> <item> @date </item>
<item> \deprecated </item> <item> @deprecated </item>
<item> \details </item> <item> @details </item>
<item> \docbookonly </item> <item> @docbookonly </item>
<item> \else </item> <item> @else </item>
<item> \endcond </item> <item> @endcond </item>
<item> \enddocbookonly </item> <item> @enddocbookonly </item>
<item> \endhtmlonly </item> <item> @endhtmlonly </item>
<item> \endif </item> <item> @endif </item>
<item> \endinternal </item> <item> @endinternal </item>
<item> \endlatexonly </item> <item> @endlatexonly </item>
<item> \endlink </item> <item> @endlink </item>
<item> \endmanonly </item> <item> @endmanonly </item>
<item> \endparblock </item> <item> @endparblock </item>
<item> \endrtfonly </item> <item> @endrtfonly </item>
<item> \endsecreflist </item> <item> @endsecreflist </item>
<item> \endxmlonly </item> <item> @endxmlonly </item>
<item> \f[ </item> <item> @f[ </item>
<item> \f] </item> <item> @f] </item>
<item> \f$ </item> <item> @f$ </item>
<!-- TODO Add @f{environment}{ and @f} -->
<item> \hideinitializer </item> <item> @hideinitializer </item>
<item> \htmlonly </item> <item> @htmlonly </item>
<!-- TODO @internal is a candidate to be handled separately, cuz may introduce folding region -->
<item> \internal </item> <item> @internal </item>
<item> \invariant </item> <item> @invariant </item>
<item> \latexonly </item> <item> @latexonly </item>
<item> \li </item> <item> @li </item>
<item> \manonly </item> <item> @manonly </item>
<item> \n </item> <item> @n </item>
<item> \nosubgrouping </item> <item> @nosubgrouping </item>
<item> \only </item> <item> @only </item>
<item> \parblock </item> <item> @parblock </item>
<item> \post </item> <item> @post </item>
<item> \pre </item> <item> @pre </item>
<item> \private </item> <item> @pivate </item>
<item> \privatesection </item> <item> @pivatesection </item>
<item> \protected </item> <item> @protected </item>
<item> \protectedsection </item> <item> @protectedsection </item>
<item> \public </item> <item> @public </item>
<item> \publicsection </item> <item> @publicsection </item>
<item> \pure </item> <item> @pure </item>
<item> \remark </item> <item> @remark </item>
<item> \remarks </item> <item> @remarks </item>
<item> \return </item> <item> @return </item>
<item> \returns </item> <item> @returns </item>
<item> \result </item> <item> @result </item>
<item> \rtfonly </item> <item> @rtfonly </item>
<item> \sa </item> <item> @sa </item>
<item> \secreflist </item> <item> @secreflist </item>
<item> \see </item> <item> @see </item>
<item> \short </item> <item> @short </item>
<item> \showinitializer </item> <item> @showinitializer </item>
<item> \since </item> <item> @since </item>
<item> \static </item> <item> @static </item>
<item> \tableofcontents </item> <item> @tableofcontents </item>
<item> \test </item> <item> @test </item>
<item> \version </item> <item> @version </item>
<item> \xmlonly </item> <item> @xmlonly </item>
<!-- TODO Introduce separate context for @~ ? -->
<item> \# </item> <item> @# </item>
<item> \$ </item> <item> @$ </item>
<item> \% </item> <item> @% </item>
<item> \&amp; </item> <item> @&amp; </item>
<item> \&gt; </item> <item> @&gt; </item>
<item> \&lt; </item> <item> @&lt; </item>
<item> \&quot; </item> <item> @&quot; </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>
</list>
<list name="TagWord">
<item> \a </item> <item> @a </item>
<item> \anchor </item> <item> @anchor </item>
<item> \b </item> <item> @b </item>
<item> \c </item> <item> @c </item>
<item> \cite </item> <item> @cite </item>
<item> \cond </item> <item> @cond </item>
<item> \copybrief </item> <item> @copybrief </item>
<item> \copydetails </item> <item> @copydetails </item>
<item> \copydoc </item> <item> @copydoc </item>
<item> \def </item> <item> @def </item>
<item> \dir </item> <item> @dir </item>
<item> \dontinclude </item> <item> @dontinclude </item>
<item> \e </item> <item> @e </item>
<item> \elseif </item> <item> @elseif </item>
<item> \em </item> <item> @em </item>
<item> \enum </item> <item> @enum </item>
<item> \example </item> <item> @example </item>
<item> \exception </item> <item> @exception </item>
<item> \exceptions </item> <item> @exceptions </item>
<item> \extends </item> <item> @extends </item>
<item> \file </item> <item> @file </item>
<item> \htmlinclude </item> <item> @htmlinclude </item>
<item> \idlexcept </item> <item> @idlexcept </item>
<item> \if </item> <item> @if </item>
<item> \ifnot </item> <item> @ifnot </item>
<item> \implements </item> <item> @implements </item>
<item> \include </item> <item> @include </item>
<item> \includelineno </item> <item> @includelineno </item>
<item> \latexinclude </item> <item> @latexinclude </item>
<item> \link </item> <item> @link </item>
<item> \memberof </item> <item> @memberof </item>
<item> \namespace </item> <item> @namespace </item>
<item> \p </item> <item> @p </item>
<item> \package </item> <item> @package </item>
<item> \property </item> <item> @property </item>
<item> \relatedalso </item> <item> @relatedalso </item>
<item> \relatesalso </item> <item> @relatesalso </item>
<item> \related </item> <item> @related </item>
<item> \relates </item> <item> @relates </item>
<item> \retval </item> <item> @retval </item>
<item> \throw </item> <item> @throw </item>
<item> \throws </item> <item> @throws </item>
<item> \verbinclude </item> <item> @verbinclude </item>
<item> \version </item> <item> @version </item>
<!-- TODO Introduce separate context for @xrefitem? -->
<item> \xrefitem </item> <item> @xrefitem </item>
</list>
<list name="TagParam">
<item> \param </item> <item> @param </item>
<!-- TODO @tparam has no optional direction actually! -->
<item> \tparam </item> <item> @tparam </item>
</list>
<!-- TODO Better (separate?) highlighting for @image required -->
<list name="TagWordWord">
<item> \image </item> <item> @image </item>
</list>
<!-- TODO @union, @struct, @protocol, @interface, @class, @category
actually takes 3 params, 1 mandatory and 2 optional
-->
<!-- TODO @headerfile actually takes 2 params, where last one is optional -->
<list name="TagWordString">
<item> \addtogroup </item> <item> @addtogroup </item>
<item> \category </item> <item> @category </item>
<item> \class </item> <item> @class </item>
<item> \diafile </item> <item> @diafile </item>
<item> \dotfile </item> <item> @dotfile </item>
<item> \defgroup </item> <item> @defgroup </item>
<item> \interface </item> <item> @interface </item>
<item> \headerfile </item> <item> @headerfile </item>
<item> \mscfile </item> <item> @mscfile </item>
<item> \page </item> <item> @page </item>
<item> \paragraph </item> <item> @paragraph </item>
<item> \protocol </item> <item> @prtocol </item>
<item> \ref </item> <item> @ref </item>
<item> \section </item> <item> @section </item>
<item> \snippet </item> <item> @snippet </item>
<item> \struct </item> <item> @struct </item>
<item> \subpage </item> <item> @subpage </item>
<item> \subsection </item> <item> @subsection </item>
<item> \subsubsection </item> <item> @subsubsection </item>
<item> \union </item> <item> @union </item>
<item> \weakgroup </item> <item> @weakgroup </item>
</list>
<list name="TagString">
<item> \addindex </item> <item> @addindex </item>
<item> \copyright </item> <item> @copyright </item>
<item> \fn </item> <item> @fn </item>
<item> \ingroup </item> <item> @ingroup </item>
<item> \line </item> <item> @line </item>
<item> \mainpage </item> <item> @mainpage </item>
<item> \name </item> <item> @name </item>
<item> \overload </item> <item> @overload </item>
<item> \par </item> <item> @par </item>
<item> \skip </item> <item> @skip </item>
<item> \skipline </item> <item> @skipline </item>
<item> \typedef </item> <item> @typedef </item>
<item> \until </item> <item> @until </item>
<item> \var </item> <item> @var </item>
<item> \vhdlflow </item> <item> @vhdlflow </item>
</list>
<list name="Note">
<item> \note </item> <item> @note </item>
</list>
<list name="Warning">
<item> \warning </item> <item> @warning </item>
</list>
<list name="Attention">
<item> \attention </item> <item> @attention </item>
<item> \bug </item> <item> @bug </item>
</list>
<list name="Todo">
<item> \todo </item> <item> @todo </item>
</list>
<contexts>
<!--
Different types of recognized command formats:
(w/ params specified according doxygen manual (http://www.stack.nl/~dimitri/doxygen/commands.html))
@tag : TagOnly
@tag <word> : TagWord
@tag (rest_of_line) : TagString
@tag {paragraph} : TagOnly
@tag <word> <word> : TagWordWord
@tag <word> (rest_of_line) : TagWordString
TODO Not all commands are handled properly nowadays :( Need few more contexts...
-->
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))&lt;?" />
<RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]&lt;|\*$)" beginRegion="BlockComment" />
<RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$" endRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup" />
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/" endRegion="MemberGroup" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="LineComment">
<LineContinue attribute="Comment" context="#stay" />
<DetectSpaces />
<IncludeRules context="##Alerts" />
<IncludeRules context="SL_DetectEnv" />
<keyword attribute="Tags" context="#stay" String="TagOnly" />
<keyword attribute="Tags" context="SL_TagWord" String="TagWord" />
<keyword attribute="Tags" context="SL_TagParam" String="TagParam" />
<keyword attribute="Tags" context="SL_TagWordWord" String="TagWordWord" />
<keyword attribute="Tags" context="SL_TagString" String="TagString" />
<keyword attribute="Tags" context="SL_TagWordString" String="TagWordString" />
<RegExpr attribute="Custom Tags" context="#stay" String="[@\\][^@\\ \t]+" />
<DetectIdentifier />
<StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
</context>
<context attribute="Comment" lineEndContext="#stay" name="BlockComment">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment" />
<IncludeRules context="##Alerts" />
<Detect2Chars attribute="Region" context="#stay" char="@" char1="{" beginRegion="Group" />
<Detect2Chars attribute="Region" context="#stay" char="@" char1="}" endRegion="Group" />
<IncludeRules context="SL_DetectEnv" />
<keyword attribute="Tags" context="#stay" String="TagOnly" />
<keyword attribute="Tags" context="ML_TagWord" String="TagWord" />
<keyword attribute="Tags" context="ML_TagParam" String="TagParam" />
<keyword attribute="Tags" context="ML_TagWordWord" String="TagWordWord" />
<keyword attribute="Tags" context="ML_TagString" String="TagString" />
<keyword attribute="Tags" context="ML_TagWordString" String="TagWordString" />
<RegExpr attribute="Custom Tags" context="#stay" String="[@\\]([^@\\ \t\*]|\*(?!/))+" />
<DetectIdentifier />
<RegExpr attribute="Tags" context="#stay" String="\\(&lt;|&gt;)" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
</context>
<!-- NOTE: all contexts beginning with ML_ are for multiline comments
The following contexts contain a Detect2Chars that looks for a */ sequence
to end multiline comments. Singleline comments do not have this limitation -
that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed.
<IncludeRules context="acontext"> could be used instead but it would make context switching
much more complex and very hard to understand! (But use IncludeRules where the rules don't
refer to another SL_*/ML_* context, to help maintainability.)
-->
<!-- tag contexts -->
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWord">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_TagWord" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectSpaces />
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in]" />
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[out]" />
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in,out]" />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectSpaces />
<RegExpr attribute="Word" context="ML_Tag2ndWord" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<!-- TODO for kate 2.x, convert references to "#pop!ML_TagWord" -->
<context attribute="Comment" lineEndContext="#pop#pop" name="ML_Tag2ndWord">
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_Tag2ndWord" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagString">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<RegExpr attribute="Description" context="#stay" String="." />
</context>
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="SL_TagWordString" />
</context>
<!-- html contexts -->
<context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
<RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*" />
</context>
<context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<IncludeRules context="##Alerts" />
<StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
</context>
<context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
<DetectChar attribute="Types" context="ML_types1" char="'" />
<DetectChar attribute="Types" context="ML_types2" char="&quot;" />
</context>
<context name="ML_types1" attribute="Types" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectChar attribute="Types" context="#pop#pop" char="'" />
</context>
<context name="ML_types2" attribute="Types" lineEndContext="#stay">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
<DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
</context>
<!-- NOTE: all contexts beginning with SL_ are for singleline comments -->
<!-- tag contexts -->
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
<DetectSpaces />
<keyword attribute="Tags" context="#pop" String="TagWord" lookAhead="true" />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagParam">
<DetectSpaces />
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in]" />
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[out]" />
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in,out]" />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordWord">
<DetectSpaces />
<RegExpr attribute="Word" context="SL_Tag2ndWord" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<!-- TODO for kate 2.x, convert references to "#pop!SL_TagWord" -->
<context attribute="Comment" lineEndContext="#pop#pop" name="SL_Tag2ndWord">
<DetectSpaces />
<RegExpr attribute="Word" context="#pop#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagString">
<DetectSpaces />
<StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
<Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
<RegExpr attribute="Description" context="#stay" String="." />
</context>
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
<DetectSpaces />
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
<RegExpr attribute="Word" context="#stay" String="\S" />
</context>
<!-- html contexts -->
<context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop">
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
<DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
<RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*" />
</context>
<context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop">
<IncludeRules context="##Alerts" />
<StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
</context>
<context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop">
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
<DetectChar attribute="Types" context="SL_types1" char="'" />
<DetectChar attribute="Types" context="SL_types2" char="&quot;" />
</context>
<context name="SL_types1" attribute="Types" lineEndContext="#pop">
<DetectChar attribute="Types" context="#pop#pop" char="'" />
</context>
<context name="SL_types2" attribute="Types" lineEndContext="#pop">
<DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
</context>
<context attribute="Comment" name="SL_DetectEnv" lineEndContext="#pop">
<RegExpr attribute="Tags" context="Code" String="[@\\]code\b" beginRegion="Code" />
<RegExpr attribute="Tags" context="Verbatim" String="[@\\]verbatim\b" beginRegion="Verbatim" />
<RegExpr attribute="Tags" context="Formula" String="[@\\]f\[" beginRegion="Formula" />
<RegExpr attribute="Tags" context="Msc" String="[@\\]msc\b" beginRegion="Msc" />
<RegExpr attribute="Tags" context="Dot" String="[@\\]dot\b" beginRegion="Dot" />
<keyword attribute="Note" context="#stay" String="Note" />
<keyword attribute="Warning" context="#stay" String="Warning" />
<keyword attribute="Attention" context="#stay" String="Attention" />
<keyword attribute="Todo" context="#stay" String="Todo" />
<RegExpr attribute="Entities" context="#stay" String="&amp;[A-Za-z]+&#59;" />
</context>
<context attribute="Comment" name="SL_DetectComment" lineEndContext="#pop">
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" />
<DetectChar attribute="Comment" context="#stay" char="*" />
<StringDetect attribute="Comment" context="#stay" String="///" />
</context>
<context attribute="Code" lineEndContext="#stay" name="Code">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endcode\b" endRegion="Code" />
</context>
<context attribute="Verbatim" lineEndContext="#stay" name="Verbatim">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endverbatim\b" endRegion="Verbatim" />
</context>
<context attribute="Formulas" lineEndContext="#stay" name="Formula">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]f\]" endRegion="Formula" />
<!-- TODO: How to force LaTeX math context here?? -->
<!-- <IncludeRules context="##LaTeX" /> -->
</context>
<context attribute="Message Sequence Chart" lineEndContext="#stay" name="Msc">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]endmsc\b" endRegion="Msc" />
</context>
<context attribute="Dot Graph" lineEndContext="#stay" name="Dot">
<IncludeRules context="SL_DetectComment" />
<RegExpr attribute="Tags" context="#pop" String="[@\\]enddot\b" endRegion="Dot" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Tags" defStyleNum="dsKeyword" color="#ca60ca" bold="1" italic="0" />
<itemData name="Custom Tags" defStyleNum="dsNormal" color="#458C61" bold="1" italic="0" />
<itemData name="Word" defStyleNum="dsKeyword" color="#0095ff" bold="1" italic="0" />
<itemData name="HTML Tag" defStyleNum="dsKeyword" color="#000000" bold="1" italic="0" />
<itemData name="Entities" defStyleNum="dsOthers" color="#4086C0" bold="1" italic="1" />
<itemData name="Description" defStyleNum="dsString" color="#ff0000" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Region" defStyleNum="dsRegionMarker" />
<itemData name="Identifier" defStyleNum="dsOthers" />
<itemData name="HTML Comment" defStyleNum="dsComment" />
<itemData name="Types" defStyleNum="dsDataType" />
<itemData name="Code" defStyleNum="dsComment" />
<itemData name="Dot Graph" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Formulas" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Message Sequence Chart" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
<itemData name="Verbatim" defStyleNum="dsComment" />
<itemData name="Note" defStyleNum="dsKeyword" color="#81ca2d" selColor="#81ca2d" bold="1" italic="0" />
<itemData name="Warning" defStyleNum="dsKeyword" color="#ca9219" selColor="#ca9219" bold="1" italic="0" />
<itemData name="Attention" defStyleNum="dsKeyword" color="#e85848" selColor="#e85848" bold="1" italic="0" />
<itemData name="Todo" defStyleNum="dsKeyword" color="#ca60ca" selColor="#ffffff" bold="1" italic="0" />
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="1" weakDeliminator="\$~" />
</general>
</language>