# 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.13';
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.
=head1 AUTHOR
Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
=head1 BUGS
Unknown. If you find any, please contact the author