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.
514 lines
30 KiB
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> \& </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>
|
|
</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="//(!|(/(?=[^/]|$)))<?" />
|
|
<RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]<|\*$)" 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="<!--" />
|
|
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
|
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="<\/?[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="\\(<|>)" />
|
|
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
|
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="<\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
|
|
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="<!--" />
|
|
</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="<!--" />
|
|
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
|
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="<\/?[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=">" />
|
|
<DetectChar attribute="HTML Tag" context="#pop" char=">" />
|
|
<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="-->" />
|
|
</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=""" />
|
|
</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=""" />
|
|
</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="<!--" />
|
|
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
|
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="<\/?[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=">" />
|
|
<DetectChar attribute="HTML Tag" context="#pop" char=">" />
|
|
<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="-->" />
|
|
</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=""" />
|
|
</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=""" />
|
|
</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="&[A-Za-z]+;" />
|
|
</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>
|