--- /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 'gdl.xml' file of the syntax highlight
+# engine of the kate text editor (http://www.kate-editor.org
+
+#kate xml version 1.01
+#kate version 2.0
+#generated: Sun Feb 3 22:02:05 2008, localtime
+
+package Syntax::Highlight::Engine::Kate::GDL;
+
+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({
+ 'Char' => 'Char',
+ 'Comment' => 'Comment',
+ 'Datatype' => 'DataType',
+ 'Float' => 'Float',
+ 'Integer' => 'DecVal',
+ 'Keyword' => 'Keyword',
+ 'Normal' => 'Normal',
+ 'String' => 'String',
+ 'Value' => 'Others',
+ });
+ $self->listAdd('algorithms',
+ 'dfs',
+ 'forcedir',
+ 'maxdegree',
+ 'maxdepth',
+ 'maxdepthslow',
+ 'maxindegree',
+ 'maxoutdegree',
+ 'minbackward',
+ 'mindegree',
+ 'mindepth',
+ 'mindepthslow',
+ 'minindegree',
+ 'minoutdegree',
+ 'normal',
+ 'tree',
+ );
+ $self->listAdd('colors',
+ 'aquamarine',
+ 'black',
+ 'blue',
+ 'cyan',
+ 'darkblue',
+ 'darkcyan',
+ 'darkgray',
+ 'darkgreen',
+ 'darkgrey',
+ 'darkmagenta',
+ 'darkred',
+ 'darkyellow',
+ 'gold',
+ 'green',
+ 'khaki',
+ 'lightblue',
+ 'lightcyan',
+ 'lightgray',
+ 'lightgreen',
+ 'lightgrey',
+ 'lightmagenta',
+ 'lightred',
+ 'lightyellow',
+ 'lilac',
+ 'magenta',
+ 'orange',
+ 'orchid',
+ 'pink',
+ 'purple',
+ 'red',
+ 'turquoise',
+ 'white',
+ 'yellow',
+ 'yellowgreen',
+ );
+ $self->listAdd('fisheye',
+ 'cfish',
+ 'dcfish',
+ 'dpfish',
+ 'fcfish',
+ 'fpfish',
+ 'pfish',
+ );
+ $self->listAdd('forcedir',
+ 'attraction',
+ 'randomfactor',
+ 'randomimpulse',
+ 'randomrounds',
+ 'repulsion',
+ 'tempmax',
+ 'tempmin',
+ 'tempscheme',
+ 'temptreshold',
+ );
+ $self->listAdd('lines',
+ 'continuous',
+ 'dashed',
+ 'dotted',
+ 'double',
+ 'invisible',
+ 'solid',
+ 'triple',
+ );
+ $self->listAdd('magnetic',
+ 'circular',
+ 'no',
+ 'orthogonal',
+ 'polar',
+ 'polcircular',
+ );
+ $self->listAdd('orientation',
+ 'bottom_to_top',
+ 'bottomtotop',
+ 'left_to_right',
+ 'lefttoright',
+ 'right_to_left',
+ 'righttoleft',
+ 'top_to_bottom',
+ 'toptobottom',
+ );
+ $self->listAdd('shapes',
+ 'box',
+ 'circle',
+ 'ellipse',
+ 'hexagon',
+ 'lparallelogram',
+ 'rhomb',
+ 'rhomboid',
+ 'rparallelogram',
+ 'trapeze',
+ 'trapezoid',
+ 'triangle',
+ 'uptrapeze',
+ 'uptrapezoid',
+ );
+ $self->listAdd('states',
+ 'boxed',
+ 'clustered',
+ 'exclusive',
+ 'folded',
+ 'unfolded',
+ 'white',
+ 'wrapped',
+ );
+ $self->contextdata({
+ 'algid' => {
+ callback => \&parsealgid,
+ attribute => 'Normal',
+ },
+ 'arrow' => {
+ callback => \&parsearrow,
+ attribute => 'Normal',
+ },
+ 'arrowmode' => {
+ callback => \&parsearrowmode,
+ attribute => 'Normal',
+ },
+ 'boolean' => {
+ callback => \&parseboolean,
+ attribute => 'Normal',
+ },
+ 'ccomment' => {
+ callback => \&parseccomment,
+ attribute => 'Comment',
+ lineending => 'default',
+ },
+ 'cecolon' => {
+ callback => \&parsececolon,
+ attribute => 'Normal',
+ },
+ 'centry' => {
+ callback => \&parsecentry,
+ attribute => 'Normal',
+ lineending => 'default',
+ },
+ 'classname' => {
+ callback => \&parseclassname,
+ attribute => 'Normal',
+ },
+ 'colorid' => {
+ callback => \&parsecolorid,
+ attribute => 'Normal',
+ },
+ 'cppcomment' => {
+ callback => \&parsecppcomment,
+ attribute => 'Comment',
+ },
+ 'default' => {
+ callback => \&parsedefault,
+ attribute => 'Normal',
+ },
+ 'fishid' => {
+ callback => \&parsefishid,
+ attribute => 'Normal',
+ },
+ 'floatval' => {
+ callback => \&parsefloatval,
+ attribute => 'Normal',
+ },
+ 'fontbase' => {
+ callback => \&parsefontbase,
+ attribute => 'Normal',
+ },
+ 'fontlq' => {
+ callback => \&parsefontlq,
+ attribute => 'Normal',
+ },
+ 'fontsize' => {
+ callback => \&parsefontsize,
+ attribute => 'Normal',
+ },
+ 'intval' => {
+ callback => \&parseintval,
+ attribute => 'Normal',
+ },
+ 'lineid' => {
+ callback => \&parselineid,
+ attribute => 'Normal',
+ },
+ 'longint' => {
+ callback => \&parselongint,
+ attribute => 'Normal',
+ lineending => 'default',
+ },
+ 'lquote' => {
+ callback => \&parselquote,
+ attribute => 'Normal',
+ },
+ 'magnor' => {
+ callback => \&parsemagnor,
+ attribute => 'Normal',
+ },
+ 'nodealign' => {
+ callback => \&parsenodealign,
+ attribute => 'Normal',
+ },
+ 'nodelevel' => {
+ callback => \&parsenodelevel,
+ attribute => 'Normal',
+ },
+ 'orient' => {
+ callback => \&parseorient,
+ attribute => 'Normal',
+ },
+ 'rgb' => {
+ callback => \&parsergb,
+ attribute => 'Normal',
+ },
+ 'scaling' => {
+ callback => \&parsescaling,
+ attribute => 'Normal',
+ },
+ 'shapeid' => {
+ callback => \&parseshapeid,
+ attribute => 'Normal',
+ },
+ 'stateid' => {
+ callback => \&parsestateid,
+ attribute => 'Normal',
+ },
+ 'string' => {
+ callback => \&parsestring,
+ attribute => 'String',
+ },
+ 'textmode' => {
+ callback => \&parsetextmode,
+ attribute => 'Normal',
+ },
+ 'weight' => {
+ callback => \&parseweight,
+ attribute => 'Normal',
+ },
+ });
+ $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
+ $self->basecontext('default');
+ $self->keywordscase(0);
+ $self->initialize;
+ bless ($self, $class);
+ return $self;
+}
+
+sub language {
+ return 'GDL';
+}
+
+sub parsealgid {
+ my ($self, $text) = @_;
+ # String => 'algorithms'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'algorithms', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsearrow {
+ my ($self, $text) = @_;
+ # String => '(solid|line|none)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(solid|line|none)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsearrowmode {
+ my ($self, $text) = @_;
+ # String => '(free|fixed)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(free|fixed)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseboolean {
+ my ($self, $text) = @_;
+ # String => '(yes|no)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(yes|no)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseccomment {
+ my ($self, $text) = @_;
+ return 0;
+};
+
+sub parsececolon {
+ my ($self, $text) = @_;
+ # attribute => 'Value'
+ # char => ':'
+ # context => 'rgb'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, ':', 0, 0, 0, undef, 0, 'rgb', 'Value')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsecentry {
+ my ($self, $text) = @_;
+ # String => '[0-9][0-9]?'
+ # attribute => 'Value'
+ # context => 'cecolon'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '[0-9][0-9]?', 0, 0, 0, undef, 0, 'cecolon', 'Value')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseclassname {
+ my ($self, $text) = @_;
+ # String => '[0-9]+'
+ # attribute => 'Value'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '[0-9]+', 0, 0, 0, undef, 0, '#stay', 'Value')) {
+ return 1
+ }
+ # attribute => 'Value'
+ # char => ':'
+ # context => 'lquote'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, ':', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsecolorid {
+ my ($self, $text) = @_;
+ # String => 'colors'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'colors', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ # String => '[0-9][0-9]?'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '[0-9][0-9]?', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsecppcomment {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '*'
+ # char1 => '/'
+ # context => 'default'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '*', '/', 0, 0, 0, undef, 0, 'default', 'Comment')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsedefault {
+ my ($self, $text) = @_;
+ # attribute => 'Comment'
+ # char => '/'
+ # char1 => '/'
+ # context => 'ccomment'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '/', '/', 0, 0, 0, undef, 0, 'ccomment', 'Comment')) {
+ return 1
+ }
+ # attribute => 'Comment'
+ # char => '/'
+ # char1 => '*'
+ # context => 'cppcomment'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '/', '*', 0, 0, 0, undef, 0, 'cppcomment', 'Comment')) {
+ return 1
+ }
+ # String => 'focus'
+ # attribute => 'Keyword'
+ # context => '#stay'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, 'focus', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
+ return 1
+ }
+ # String => '(graph|edge|node|region|backedge|(left|right|)(bent|)nearedge):'
+ # attribute => 'Keyword'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(graph|edge|node|region|backedge|(left|right|)(bent|)nearedge):', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
+ return 1
+ }
+ # String => 'loc *:'
+ # attribute => 'Value'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'loc *:', 0, 0, 0, undef, 0, '#stay', 'Value')) {
+ return 1
+ }
+ # String => 'colorentry'
+ # attribute => 'Value'
+ # context => 'centry'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, 'colorentry', 0, 0, 0, undef, 0, 'centry', 'Value')) {
+ return 1
+ }
+ # String => 'arrow_?mode *:'
+ # attribute => 'Value'
+ # context => 'arrowmode'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'arrow_?mode *:', 0, 0, 0, undef, 0, 'arrowmode', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)(text|border|)color *:'
+ # attribute => 'Value'
+ # context => 'colorid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)(text|border|)color *:', 0, 0, 0, undef, 0, 'colorid', 'Value')) {
+ return 1
+ }
+ # String => '(foldedge.|edge.|)(arrow|backarrow|)color *:'
+ # attribute => 'Value'
+ # context => 'colorid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldedge.|edge.|)(arrow|backarrow|)color *:', 0, 0, 0, undef, 0, 'colorid', 'Value')) {
+ return 1
+ }
+ # String => '(foldedge.|edge.|)(arrow|backarrow)style *:'
+ # attribute => 'Value'
+ # context => 'arrow'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldedge.|edge.|)(arrow|backarrow)style *:', 0, 0, 0, undef, 0, 'arrow', 'Value')) {
+ return 1
+ }
+ # String => '(foldedge.|edge.|)linestyle *:'
+ # attribute => 'Value'
+ # context => 'lineid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldedge.|edge.|)linestyle *:', 0, 0, 0, undef, 0, 'lineid', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)borderstyle *:'
+ # attribute => 'Value'
+ # context => 'lineid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)borderstyle *:', 0, 0, 0, undef, 0, 'lineid', 'Value')) {
+ return 1
+ }
+ # String => 'view *:'
+ # attribute => 'Value'
+ # context => 'fishid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'view *:', 0, 0, 0, undef, 0, 'fishid', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)shape'
+ # attribute => 'Value'
+ # context => 'shapeid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)shape', 0, 0, 0, undef, 0, 'shapeid', 'Value')) {
+ return 1
+ }
+ # String => '(source|target)(name|)'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(source|target)(name|)', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ # String => 'title *:'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'title *:', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|foldedge.|edge.|)label *:'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|foldedge.|edge.|)label *:', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|foldedge.|edge.|)fontname *:'
+ # attribute => 'Value'
+ # context => 'fontlq'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|foldedge.|edge.|)fontname *:', 0, 0, 0, undef, 0, 'fontlq', 'Value')) {
+ return 1
+ }
+ # String => 'infoname(1|2|3) *:'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'infoname(1|2|3) *:', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)info(1|2|3) *:'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)info(1|2|3) *:', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ # String => 'spreadlevel *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'spreadlevel *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)(level|vertical_?order) *:'
+ # attribute => 'Value'
+ # context => 'nodelevel'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)(level|vertical_?order) *:', 0, 0, 0, undef, 0, 'nodelevel', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|foldedge.|edge.|)horizontal_?order *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|foldedge.|edge.|)horizontal_?order *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'stat(e|us) *:'
+ # attribute => 'Value'
+ # context => 'stateid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'stat(e|us) *:', 0, 0, 0, undef, 0, 'stateid', 'Value')) {
+ return 1
+ }
+ # String => 'layout_?algorithm *:'
+ # attribute => 'Value'
+ # context => 'algid'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'layout_?algorithm *:', 0, 0, 0, undef, 0, 'algid', 'Value')) {
+ return 1
+ }
+ # String => 'crossing_?optimization *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'crossing_?optimization *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'crossing_?phase2 *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'crossing_?phase2 *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => '(dirty_edge_|display_edge_|displayedge|late_edge_|subgraph_?)labels *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(dirty_edge_|display_edge_|displayedge|late_edge_|subgraph_?)labels *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 's?manhatt(a|e)n_?edges *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 's?manhatt(a|e)n_?edges *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => '(nodes|near_?edges|edges|splines) *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(nodes|near_?edges|edges|splines) *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'classname'
+ # attribute => 'Value'
+ # context => 'classname'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'classname', 0, 0, 0, undef, 0, 'classname', 'Value')) {
+ return 1
+ }
+ # String => 'orientation *:'
+ # attribute => 'Value'
+ # context => 'orient'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'orientation *:', 0, 0, 0, undef, 0, 'orient', 'Value')) {
+ return 1
+ }
+ # String => 'node_alignment *:'
+ # attribute => 'Value'
+ # context => 'nodealign'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'node_alignment *:', 0, 0, 0, undef, 0, 'nodealign', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)textmode *:'
+ # attribute => 'Value'
+ # context => 'textmode'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)textmode *:', 0, 0, 0, undef, 0, 'textmode', 'Value')) {
+ return 1
+ }
+ # String => 'equal_y_dist *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'equal_y_dist *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'equal_?ydist *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'equal_?ydist *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'crossing_?weight *:'
+ # attribute => 'Value'
+ # context => 'weight'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'crossing_?weight *:', 0, 0, 0, undef, 0, 'weight', 'Value')) {
+ return 1
+ }
+ # String => '(fast_?|)icons *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(fast_?|)icons *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'fine_?tuning *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'fine_?tuning *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => '(f?straight_?|priority_)phase *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(f?straight_?|priority_)phase *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'ignore_?singles *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'ignore_?singles *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => '(in|out|)port_?sharing *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(in|out|)port_?sharing *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'linear_?segments *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'linear_?segments *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => '(foldnode.|node.|)(height|width|borderwidth|stretch|shrink) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldnode.|node.|)(height|width|borderwidth|stretch|shrink) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(foldedge.|edge.|)(arrowsize|backarrowsize|thickness|class|priority) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(foldedge.|edge.|)(arrowsize|backarrowsize|thickness|class|priority) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'anchor *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'anchor *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'iconcolors *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'iconcolors *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'hidden *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'hidden *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'energetic *:'
+ # attribute => 'Value'
+ # context => 'boolean'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'energetic *:', 0, 0, 0, undef, 0, 'boolean', 'Value')) {
+ return 1
+ }
+ # String => 'layout_(up|down|near|spline)factor *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'layout_(up|down|near|spline)factor *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'border +(x|y) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'border +(x|y) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'splinefactor *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'splinefactor *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(gravity|tempfactor|treefactor) *:'
+ # attribute => 'Value'
+ # context => 'floatval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(gravity|tempfactor|treefactor) *:', 0, 0, 0, undef, 0, 'floatval', 'Value')) {
+ return 1
+ }
+ # String => '(xspace|xbase|xmax|xraster|x) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(xspace|xbase|xmax|xraster|x) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(yspace|ybase|ymax|yraster|y) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(yspace|ybase|ymax|yraster|y) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(xlraster|xlspace) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(xlraster|xlspace) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'magnetic_force(1|2) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'magnetic_force(1|2) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'magnetic_field(1|2) *:'
+ # attribute => 'Value'
+ # context => 'magnor'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'magnetic_field(1|2) *:', 0, 0, 0, undef, 0, 'magnor', 'Value')) {
+ return 1
+ }
+ # String => '(a|b|c|fd|p|r|s)(max) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(a|b|c|fd|p|r|s)(max) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => '(c|p|r)(min) *:'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(c|p|r)(min) *:', 0, 0, 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'forcedir'
+ # attribute => 'Value'
+ # context => 'intval'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'forcedir', 0, undef, 0, 'intval', 'Value')) {
+ return 1
+ }
+ # String => 'scaling *:'
+ # attribute => 'Value'
+ # context => 'scaling'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'scaling *:', 0, 0, 0, undef, 0, 'scaling', 'Value')) {
+ return 1
+ }
+ # String => 'useraction(name|cmd)(1|2|3|4) *:'
+ # attribute => 'Value'
+ # context => 'lquote'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, 'useraction(name|cmd)(1|2|3|4) *:', 0, 0, 0, undef, 0, 'lquote', 'Value')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsefishid {
+ my ($self, $text) = @_;
+ # String => 'fisheye'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'fisheye', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsefloatval {
+ my ($self, $text) = @_;
+ # attribute => 'Float'
+ # context => 'default'
+ # type => 'Float'
+ if ($self->testFloat($text, 0, undef, 0, 'default', 'Float')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsefontbase {
+ my ($self, $text) = @_;
+ # String => '((tim|ncen)(R|B|I|BI)|(cour|helv)(R|B|O|BO)|symb)'
+ # attribute => 'Datatype'
+ # context => 'fontsize'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '((tim|ncen)(R|B|I|BI)|(cour|helv)(R|B|O|BO)|symb)', 0, 0, 0, undef, 0, 'fontsize', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsefontlq {
+ my ($self, $text) = @_;
+ # attribute => 'Datatype'
+ # char => '"'
+ # context => 'fontbase'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'fontbase', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsefontsize {
+ my ($self, $text) = @_;
+ # String => '(08|10|12|14|18|24)(.vcf|)'
+ # attribute => 'Datatype'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(08|10|12|14|18|24)(.vcf|)', 0, 0, 0, undef, 0, '#stay', 'Datatype')) {
+ return 1
+ }
+ # attribute => 'Datatype'
+ # char => '"'
+ # context => 'default'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseintval {
+ my ($self, $text) = @_;
+ # attribute => 'Integer'
+ # context => 'longint'
+ # type => 'Int'
+ if ($self->testInt($text, 0, undef, 0, 'longint', 'Integer')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parselineid {
+ my ($self, $text) = @_;
+ # String => 'lines'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'lines', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parselongint {
+ my ($self, $text) = @_;
+ # attribute => 'Integer'
+ # context => 'longint'
+ # type => 'Int'
+ if ($self->testInt($text, 0, undef, 0, 'longint', 'Integer')) {
+ return 1
+ }
+ # String => '\ '
+ # attribute => 'Normal'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\ ', 0, 0, 0, undef, 0, 'default', 'Normal')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parselquote {
+ my ($self, $text) = @_;
+ # attribute => 'String'
+ # char => '"'
+ # context => 'string'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'string', 'String')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsemagnor {
+ my ($self, $text) = @_;
+ # String => 'magnetic'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'magnetic', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ # String => 'orientation'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'orientation', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsenodealign {
+ my ($self, $text) = @_;
+ # String => '(top|center|bottom)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(top|center|bottom)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsenodelevel {
+ my ($self, $text) = @_;
+ # String => 'maxlevel'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, 'maxlevel', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ # attribute => 'Integer'
+ # context => 'longint'
+ # type => 'Int'
+ if ($self->testInt($text, 0, undef, 0, 'longint', 'Integer')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseorient {
+ my ($self, $text) = @_;
+ # String => 'orientation'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'orientation', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsergb {
+ my ($self, $text) = @_;
+ # String => '[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]?'
+ # attribute => 'Integer'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]?', 0, 0, 0, undef, 0, 'default', 'Integer')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsescaling {
+ my ($self, $text) = @_;
+ # String => 'maxspect'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'StringDetect'
+ if ($self->testStringDetect($text, 'maxspect', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ # attribute => 'Float'
+ # context => 'default'
+ # type => 'Float'
+ if ($self->testFloat($text, 0, undef, 0, 'default', 'Float')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseshapeid {
+ my ($self, $text) = @_;
+ # String => 'shapes'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'shapes', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsestateid {
+ my ($self, $text) = @_;
+ # String => 'states'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'keyword'
+ if ($self->testKeyword($text, 'states', 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsestring {
+ my ($self, $text) = @_;
+ # attribute => 'String'
+ # char => '"'
+ # context => 'default'
+ # type => 'DetectChar'
+ if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'default', 'String')) {
+ return 1
+ }
+ # attribute => 'Char'
+ # char => '\'
+ # char1 => '"'
+ # context => '#stay'
+ # type => 'Detect2Chars'
+ if ($self->testDetect2Chars($text, '\\', '"', 0, 0, 0, undef, 0, '#stay', 'Char')) {
+ return 1
+ }
+ # String => '\\(n|a|t|b)'
+ # attribute => 'Char'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\\\(n|a|t|b)', 0, 0, 0, undef, 0, '#stay', 'Char')) {
+ return 1
+ }
+ # String => '\\fi(0|1|2)[0-9][0-9]'
+ # attribute => 'Char'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\\\fi(0|1|2)[0-9][0-9]', 0, 0, 0, undef, 0, '#stay', 'Char')) {
+ return 1
+ }
+ # String => '\\f(u|I|b|B|n|[0-9][0-9])'
+ # attribute => 'Char'
+ # context => '#stay'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '\\\\f(u|I|b|B|n|[0-9][0-9])', 0, 0, 0, undef, 0, '#stay', 'Char')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parsetextmode {
+ my ($self, $text) = @_;
+ # String => '(center|left_justify|right_justify)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(center|left_justify|right_justify)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+sub parseweight {
+ my ($self, $text) = @_;
+ # String => '(medianbary|barymedian|bary|median)'
+ # attribute => 'Datatype'
+ # context => 'default'
+ # type => 'RegExpr'
+ if ($self->testRegExpr($text, '(medianbary|barymedian|bary|median)', 0, 0, 0, undef, 0, 'default', 'Datatype')) {
+ return 1
+ }
+ return 0;
+};
+
+
+1;
+
+__END__
+
+=head1 NAME
+
+Syntax::Highlight::Engine::Kate::GDL - a Plugin for GDL syntax highlighting
+
+=head1 SYNOPSIS
+
+ require Syntax::Highlight::Engine::Kate::GDL;
+ my $sh = new Syntax::Highlight::Engine::Kate::GDL([
+ ]);
+
+=head1 DESCRIPTION
+
+Syntax::Highlight::Engine::Kate::GDL is a plugin module that provides syntax highlighting
+for GDL 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
+