--- /dev/null
+# Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
+# This program is free software; you can redistribute it and/or
+# modify it under the same terms as Perl itself.
+
+# This file was generated from the 'doxygen.xml' file of the syntax highlight
+# engine of the kate text editor (http://www.kate-editor.org
+
+#kate xml version 1.25
+#kate version 2.4
+#kate author Dominik Haumann (dhdev@gmx.de)
+#generated: Sun Feb 3 22:02:04 2008, localtime
+
+package Syntax::Highlight::Engine::Kate::Doxygen;
+
+our $VERSION = '0.06';
+
+use strict;
+use warnings;
+use base('Syntax::Highlight::Engine::Kate::Template');
+
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $self = $class->SUPER::new(@_);
+ $self->attributes({
+ 'Comment' => 'Reserved',
+ 'Description' => 'Function',
+ 'HTML Comment' => 'Comment',
+ 'HTML Tag' => 'Keyword',
+ 'Identifier' => 'Others',
+ 'Normal Text' => 'Normal',
+ 'Tags' => 'Keyword',
+ 'Types' => 'DataType',
+ 'Word' => 'Operator',
+ });
+ $self->listAdd('TagOnly',
+ '@#',
+ '@$',
+ '@@',
+ '@\\\\',
+ '@arg',
+ '@attention',
+ '@author',
+ '@callgraph',
+ '@code',
+ '@dot',
+ '@else',
+ '@endcode',
+ '@enddot',
+ '@endhtmlonly',
+ '@endif',
+ '@endlatexonly',
+ '@endlink',
+ '@endmanonly',
+ '@endverbatim',
+ '@endxmlonly',
+ '@f$',
+ '@f[',
+ '@f]',
+ '@hideinitializer',
+ '@htmlonly',
+ '@interface',
+ '@internal',
+ '@invariant',
+ '@latexonly',
+ '@li',
+ '@manonly',
+ '@n',
+ '@nosubgrouping',
+ '@note',
+ '@only',
+ '@par',
+ '@post',
+ '@pre',
+ '@remarks',
+ '@return',
+ '@returns',
+ '@sa',
+ '@see',
+ '@showinitializer',
+ '@since',
+ '@test',
+ '@todo',
+ '@verbatim',
+ '@warning',
+ '@xmlonly',
+ '@~',
+ '\\\\#',
+ '\\\\$',
+ '\\\\@',
+ '\\\\\\\\',
+ '\\\\arg',
+ '\\\\attention',
+ '\\\\author',
+ '\\\\callgraph',
+ '\\\\code',
+ '\\\\dot',
+ '\\\\else',
+ '\\\\endcode',
+ '\\\\enddot',
+ '\\\\endhtmlonly',
+ '\\\\endif',
+ '\\\\endlatexonly',
+ '\\\\endlink',
+ '\\\\endmanonly',
+ '\\\\endverbatim',
+ '\\\\endxmlonly',
+ '\\\\f$',
+ '\\\\f[',
+ '\\\\f]',
+ '\\\\hideinitializer',
+ '\\\\htmlonly',
+ '\\\\interface',
+ '\\\\internal',
+ '\\\\invariant',
+ '\\\\latexonly',
+ '\\\\li',
+ '\\\\manonly',
+ '\\\\n',
+ '\\\\nosubgrouping',
+ '\\\\note',
+ '\\\\only',
+ '\\\\par',
+ '\\\\post',
+ '\\\\pre',
+ '\\\\remarks',
+ '\\\\return',
+ '\\\\returns',
+ '\\\\sa',
+ '\\\\see',
+ '\\\\showinitializer',
+ '\\\\since',
+ '\\\\test',
+ '\\\\todo',
+ '\\\\verbatim',
+ '\\\\warning',
+ '\\\\xmlonly',
+ '\\\\~',
+ );
+ $self->listAdd('TagString',
+ '@addindex',
+ '@brief',
+ '@bug',
+ '@date',
+ '@deprecated',
+ '@fn',
+ '@ingroup',
+ '@line',
+ '@mainpage',
+ '@name',
+ '@overload',
+ '@short',
+ '@skip',
+ '@skipline',
+ '@typedef',
+ '@until',
+ '@var',
+ '\\\\addindex',
+ '\\\\brief',
+ '\\\\bug',
+ '\\\\date',
+ '\\\\deprecated',
+ '\\\\fn',
+ '\\\\ingroup',
+ '\\\\line',
+ '\\\\mainpage',
+ '\\\\name',
+ '\\\\overload',
+ '\\\\short',
+ '\\\\skip',
+ '\\\\skipline',
+ '\\\\typedef',
+ '\\\\until',
+ '\\\\var',
+ );
+ $self->listAdd('TagWord',
+ '@a',
+ '@addtogroup',
+ '@anchor',
+ '@b',
+ '@c',
+ '@class',
+ '@copydoc',
+ '@def',
+ '@dontinclude',
+ '@dotfile',
+ '@e',
+ '@elseif',
+ '@em',
+ '@enum',
+ '@example',
+ '@exception',
+ '@exceptions',
+ '@file',
+ '@htmlinclude',
+ '@if',
+ '@ifnot',
+ '@include',
+ '@link',
+ '@namespace',
+ '@p',
+ '@package',
+ '@param',
+ '@ref',
+ '@relates',
+ '@relatesalso',
+ '@retval',
+ '@throw',
+ '@throws',
+ '@verbinclude',
+ '@version',
+ '@xrefitem',
+ '\\\\a',
+ '\\\\addtogroup',
+ '\\\\anchor',
+ '\\\\b',
+ '\\\\c',
+ '\\\\class',
+ '\\\\copydoc',
+ '\\\\def',
+ '\\\\dontinclude',
+ '\\\\dotfile',
+ '\\\\e',
+ '\\\\elseif',
+ '\\\\em',
+ '\\\\enum',
+ '\\\\example',
+ '\\\\exception',
+ '\\\\exceptions',
+ '\\\\file',
+ '\\\\htmlinclude',
+ '\\\\if',
+ '\\\\ifnot',
+ '\\\\include',
+ '\\\\link',
+ '\\\\namespace',
+ '\\\\p',
+ '\\\\package',
+ '\\\\param',
+ '\\\\ref',
+ '\\\\relates',
+ '\\\\relatesalso',
+ '\\\\retval',
+ '\\\\throw',
+ '\\\\throws',
+ '\\\\verbinclude',
+ '\\\\version',
+ '\\\\xrefitem',
+ );
+ $self->listAdd('TagWordString',
+ '@defgroup',
+ '@page',
+ '@paragraph',
+ '@section',
+ '@struct',
+ '@subsection',
+ '@subsubsection',
+ '@union',
+ '@weakgroup',
+ '\\\\defgroup',
+ '\\\\page',
+ '\\\\paragraph',
+ '\\\\section',
+ '\\\\struct',
+ '\\\\subsection',
+ '\\\\subsubsection',
+ '\\\\union',
+ '\\\\weakgroup',
+ );
+ $self->listAdd('TagWordWord',
+ '@image',
+ '\\\\image',
+ );
+ $self->contextdata({
+ 'BlockComment' => {
+ callback => \&parseBlockComment,
+ attribute => 'Comment',
+ },
+ 'LineComment' => {
+ callback => \&parseLineComment,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_Tag2ndWord' => {
+ callback => \&parseML_Tag2ndWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_TagString' => {
+ callback => \&parseML_TagString,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_TagWord' => {
+ callback => \&parseML_TagWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_TagWordString' => {
+ callback => \&parseML_TagWordString,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_TagWordWord' => {
+ callback => \&parseML_TagWordWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'ML_htmlcomment' => {
+ callback => \&parseML_htmlcomment,
+ attribute => 'HTML Comment',
+ },
+ 'ML_htmltag' => {
+ callback => \&parseML_htmltag,
+ attribute => 'Identifier',
+ },
+ 'ML_identifiers' => {
+ callback => \&parseML_identifiers,
+ attribute => 'Identifier',
+ },
+ 'ML_types1' => {
+ callback => \&parseML_types1,
+ attribute => 'Types',
+ },
+ 'ML_types2' => {
+ callback => \&parseML_types2,
+ attribute => 'Types',
+ },
+ 'Normal' => {
+ callback => \&parseNormal,
+ attribute => 'Normal Text',
+ },
+ 'SL_Tag2ndWord' => {
+ callback => \&parseSL_Tag2ndWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'SL_TagString' => {
+ callback => \&parseSL_TagString,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'SL_TagWord' => {
+ callback => \&parseSL_TagWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'SL_TagWordString' => {
+ callback => \&parseSL_TagWordString,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'SL_TagWordWord' => {
+ callback => \&parseSL_TagWordWord,
+ attribute => 'Comment',
+ lineending => '#pop',
+ },
+ 'SL_htmlcomment' => {
+ callback => \&parseSL_htmlcomment,
+ attribute => 'HTML Comment',
+ lineending => '#pop',
+ },
+ 'SL_htmltag' => {
+ callback => \&parseSL_htmltag,
+ attribute => 'Identifier',
+ lineending => '#pop',
+ },
+ 'SL_identifiers' => {
+ callback => \&parseSL_identifiers,
+ attribute => 'Identifier',
+ lineending => '#pop',
+ },
+ 'SL_types1' => {
+ callback => \&parseSL_types1,
+ attribute => 'Types',
+ lineending => '#pop',
+ },
+ 'SL_types2' => {
+ callback => \&parseSL_types2,
+ attribute => 'Types',
+ lineending => '#pop',
+ },
+ });
+ $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\\\|\\$|\\~');
+ $self->basecontext('Normal');
+ $self->keywordscase(0);
+ $self->initialize;
+ bless ($self, $class);
+ return $self;
+}
+
+sub language {
+ return 'Doxygen';
+}
+
+sub parseBlockComment {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # endRegion => 'BlockComment'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 0, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # context => '##Alerts'
+ # type => 'IncludeRules'
+ if ($self->includePlugin('Alerts', $text)) {
+ return 1
+ }
+ # String => 'TagOnly'
+ # attribute => 'Tags'
+ # context => '#stay'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagOnly', 0, undef, 0, '#stay', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWord'
+ # attribute => 'Tags'
+ # context => 'ML_TagWord'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWord', 0, undef, 0, 'ML_TagWord', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWordWord'
+ # attribute => 'Tags'
+ # context => 'ML_TagWordWord'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWordWord', 0, undef, 0, 'ML_TagWordWord', 'Tags')) {
+ return 1
+ }
+ # String => 'TagString'
+ # attribute => 'Tags'
+ # context => 'ML_TagString'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagString', 0, undef, 0, 'ML_TagString', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWordString'
+ # attribute => 'Tags'
+ # context => 'ML_TagWordString'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWordString', 0, undef, 0, 'ML_TagWordString', 'Tags')) {
+ return 1
+ }
+ # type => 'DetectIdentifier'
+ if ($self->testDetectIdentifier($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\\(<|>)'
+ # attribute => 'Tags'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\\\(<|>)', 0, 0, 0, undef, 0, '#stay', 'Tags')) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '<'
+ # char1 => '<'
+ # context => '#stay'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '<', '<', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
+ return 1
+ }
+ # String => '<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*'
+ # attribute => 'HTML Tag'
+ # context => 'ML_htmltag'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*', 0, 0, 0, undef, 0, 'ML_htmltag', 'HTML Tag')) {
+ return 1
+ }
+ # String => '<!--'
+ # attribute => 'HTML Comment'
+ # context => 'ML_htmlcomment'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'ML_htmlcomment', 'HTML Comment')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseLineComment {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # context => '##Alerts'
+ # type => 'IncludeRules'
+ if ($self->includePlugin('Alerts', $text)) {
+ return 1
+ }
+ # String => 'TagOnly'
+ # attribute => 'Tags'
+ # context => '#stay'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagOnly', 0, undef, 0, '#stay', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWord'
+ # attribute => 'Tags'
+ # context => 'SL_TagWord'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWord', 0, undef, 0, 'SL_TagWord', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWordWord'
+ # attribute => 'Tags'
+ # context => 'SL_TagWordWord'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWordWord', 0, undef, 0, 'SL_TagWordWord', 'Tags')) {
+ return 1
+ }
+ # String => 'TagString'
+ # attribute => 'Tags'
+ # context => 'SL_TagString'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagString', 0, undef, 0, 'SL_TagString', 'Tags')) {
+ return 1
+ }
+ # String => 'TagWordString'
+ # attribute => 'Tags'
+ # context => 'SL_TagWordString'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'TagWordString', 0, undef, 0, 'SL_TagWordString', 'Tags')) {
+ return 1
+ }
+ # type => 'DetectIdentifier'
+ if ($self->testDetectIdentifier($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '<!--'
+ # attribute => 'HTML Comment'
+ # context => 'SL_htmlcomment'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'SL_htmlcomment', 'HTML Comment')) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '<'
+ # char1 => '<'
+ # context => '#stay'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '<', '<', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
+ return 1
+ }
+ # String => '<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*'
+ # attribute => 'HTML Tag'
+ # context => 'SL_htmltag'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*', 0, 0, 0, undef, 0, 'SL_htmltag', 'HTML Tag')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_Tag2ndWord {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_TagString {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # String => '<!--'
+ # attribute => 'HTML Comment'
+ # context => 'ML_htmlcomment'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'ML_htmlcomment', 'HTML Comment')) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '<'
+ # char1 => '<'
+ # context => '#stay'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '<', '<', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
+ return 1
+ }
+ # String => '<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*'
+ # attribute => 'HTML Tag'
+ # context => 'ML_htmltag'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*', 0, 0, 0, undef, 0, 'ML_htmltag', 'HTML Tag')) {
+ return 1
+ }
+ # String => '.'
+ # attribute => 'Description'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '.', 0, 0, 0, undef, 0, '#stay', 'Description')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_TagWord {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_TagWordString {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_TagWordWord {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_htmlcomment {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # context => '##Alerts'
+ # type => 'IncludeRules'
+ if ($self->includePlugin('Alerts', $text)) {
+ return 1
+ }
+ # String => '-->'
+ # attribute => 'HTML Comment'
+ # context => '#pop'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '-->', 0, 0, 0, undef, 0, '#pop', 'HTML Comment')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_htmltag {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # attribute => 'HTML Tag'
+ # char => '/'
+ # char1 => '>'
+ # context => '#pop'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
+ return 1
+ }
+ # attribute => 'HTML Tag'
+ # char => '>'
+ # context => '#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
+ return 1
+ }
+ # String => '\s*=\s*'
+ # attribute => 'Identifier'
+ # context => 'ML_identifiers'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, 'ML_identifiers', 'Identifier')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_identifiers {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # String => '\s*#?[a-zA-Z0-9]*'
+ # attribute => 'String'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\s*#?[a-zA-Z0-9]*', 0, 0, 0, undef, 0, '#pop', 'String')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '''
+ # context => 'ML_types1'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'ML_types1', 'Types')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '"'
+ # context => 'ML_types2'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'ML_types2', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_types1 {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '''
+ # context => '#pop#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '#pop#pop', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseML_types2 {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => '#pop'
+ # lookAhead => 'true'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 1, undef, 0, '#pop', 'Comment')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '"'
+ # context => '#pop#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop#pop', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseNormal {
+ my ($self, $text) = @_;
+ # String => '//(!|(/(?=[^/]|$)))<?'
+ # attribute => 'Comment'
+ # context => 'LineComment'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '//(!|(/(?=[^/]|$)))<?', 0, 0, 0, undef, 0, 'LineComment', 'Comment')) {
+ return 1
+ }
+ # String => '/\*(\*[^*/]|!|\*$)<?'
+ # attribute => 'Comment'
+ # beginRegion => 'BlockComment'
+ # context => 'BlockComment'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '/\\*(\\*[^*/]|!|\\*$)<?', 0, 0, 0, undef, 0, 'BlockComment', 'Comment')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_Tag2ndWord {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_TagString {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '<!--'
+ # attribute => 'HTML Comment'
+ # context => 'SL_htmlcomment'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'SL_htmlcomment', 'HTML Comment')) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '<'
+ # char1 => '<'
+ # context => '#stay'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '<', '<', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
+ return 1
+ }
+ # String => '<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*'
+ # attribute => 'HTML Tag'
+ # context => 'SL_htmltag'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*', 0, 0, 0, undef, 0, 'SL_htmltag', 'HTML Tag')) {
+ return 1
+ }
+ # String => '.'
+ # attribute => 'Description'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '.', 0, 0, 0, undef, 0, '#stay', 'Description')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_TagWord {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_TagWordString {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_TagWordWord {
+ my ($self, $text) = @_;
+ # type => 'DetectSpaces'
+ if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
+ return 1
+ }
+ # String => '\S\s'
+ # attribute => 'Word'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S\\s', 0, 0, 0, undef, 0, '#pop', 'Word')) {
+ return 1
+ }
+ # String => '\S'
+ # attribute => 'Word'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Word')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_htmlcomment {
+ my ($self, $text) = @_;
+ # context => '##Alerts'
+ # type => 'IncludeRules'
+ if ($self->includePlugin('Alerts', $text)) {
+ return 1
+ }
+ # String => '-->'
+ # attribute => 'HTML Comment'
+ # context => '#pop'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, '-->', 0, 0, 0, undef, 0, '#pop', 'HTML Comment')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_htmltag {
+ my ($self, $text) = @_;
+ # attribute => 'HTML Tag'
+ # char => '/'
+ # char1 => '>'
+ # context => '#pop'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
+ return 1
+ }
+ # attribute => 'HTML Tag'
+ # char => '>'
+ # context => '#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
+ return 1
+ }
+ # String => '\s*=\s*'
+ # attribute => 'Identifier'
+ # context => 'SL_identifiers'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, 'SL_identifiers', 'Identifier')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_identifiers {
+ my ($self, $text) = @_;
+ # String => '\s*#?[a-zA-Z0-9]*'
+ # attribute => 'String'
+ # context => '#pop'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\s*#?[a-zA-Z0-9]*', 0, 0, 0, undef, 0, '#pop', 'String')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '''
+ # context => 'SL_types1'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'SL_types1', 'Types')) {
+ return 1
+ }
+ # attribute => 'Types'
+ # char => '"'
+ # context => 'SL_types2'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'SL_types2', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_types1 {
+ my ($self, $text) = @_;
+ # attribute => 'Types'
+ # char => '''
+ # context => '#pop#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '#pop#pop', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseSL_types2 {
+ my ($self, $text) = @_;
+ # attribute => 'Types'
+ # char => '"'
+ # context => '#pop#pop'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop#pop', 'Types')) {
+ return 1
+ }
+ return 0;
+};
+
+
+1;
+
+__END__
+
+=head1 NAME
+
+Syntax::Highlight::Engine::Kate::Doxygen - a Plugin for Doxygen syntax highlighting
+
+=head1 SYNOPSIS
+
+ require Syntax::Highlight::Engine::Kate::Doxygen;
+ my $sh = new Syntax::Highlight::Engine::Kate::Doxygen([
+ ]);
+
+=head1 DESCRIPTION
+
+Syntax::Highlight::Engine::Kate::Doxygen is a plugin module that provides syntax highlighting
+for Doxygen to the Syntax::Haghlight::Engine::Kate highlighting engine.
+
+This code is generated from the syntax definition files used
+by the Kate project.
+It works quite fine, but can use refinement and optimization.
+
+It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
+
+=cut
+
+=head1 AUTHOR
+
+Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
+
+=cut
+
+=head1 BUGS
+
+Unknown. If you find any, please contact the author
+
+=cut
+