1 # Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2 # This program is free software; you can redistribute it and/or
3 # modify it under the same terms as Perl itself.
5 # This file was generated from the 'rsiidl.xml' file of the syntax highlight
6 # engine of the kate text editor (http://www.kate-editor.org
10 #kate author Markus Fraenz (fraenz@linmpi.mpg.de)
11 #generated: Sun Feb 3 22:02:06 2008, localtime
13 package Syntax::Highlight::Engine::Kate::RSI_IDL;
15 our $VERSION = '0.06';
19 use base('Syntax::Highlight::Engine::Kate::Template');
23 my $class = ref($proto) || $proto;
24 my $self = $class->SUPER::new(@_);
28 'Comment' => 'Comment',
29 'Data Type' => 'DataType',
30 'Decimal' => 'DecVal',
33 'IOCommand' => 'DataType',
34 'Keyword' => 'Keyword',
35 'Normal Text' => 'Normal',
38 'String Char' => 'Char',
39 'bracketed' => 'Float',
41 $self->listAdd('commands',
71 'COMPUTE_MESH_NORMALS',
89 'DIALOG_PRINTERSETUP',
108 'FORMAT_AXIS_VALUES',
281 $self->listAdd('io commands',
307 $self->listAdd('reserved words',
345 $self->listAdd('system variables',
381 $self->listAdd('types',
424 callback => \&parseComment,
425 attribute => 'Comment',
426 lineending => '#pop',
429 callback => \&parseNormal,
430 attribute => 'Normal Text',
432 'systemvarcontext' => {
433 callback => \&parsesystemvarcontext,
435 lineending => '#pop',
438 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
439 $self->basecontext('Normal');
440 $self->keywordscase(0);
442 bless ($self, $class);
451 my ($self, $text) = @_;
456 my ($self, $text) = @_;
457 # String => 'reserved words'
458 # attribute => 'Keyword'
461 if ($self->testKeyword($text, 'reserved words', 0, undef, 0, '#stay', 'Keyword')) {
465 # attribute => 'Data Type'
468 if ($self->testKeyword($text, 'types', 0, undef, 0, '#stay', 'Data Type')) {
471 # String => 'commands'
472 # attribute => 'Command'
475 if ($self->testKeyword($text, 'commands', 0, undef, 0, '#stay', 'Command')) {
478 # String => 'io commands'
479 # attribute => 'IOCommand'
482 if ($self->testKeyword($text, 'io commands', 0, undef, 0, '#stay', 'IOCommand')) {
485 # attribute => 'Octal'
488 if ($self->testFloat($text, 0, undef, 0, '#stay', 'Octal')) {
491 # attribute => 'Decimal'
494 if ($self->testInt($text, 0, undef, 0, '#stay', 'Decimal')) {
497 # attribute => 'String'
501 # type => 'RangeDetect'
502 if ($self->testRangeDetect($text, '\'', '\'', 0, 0, undef, 0, '#stay', 'String')) {
505 # attribute => 'String'
509 # type => 'RangeDetect'
510 if ($self->testRangeDetect($text, '"', '"', 0, 0, undef, 0, '#stay', 'String')) {
516 # type => 'DetectChar'
517 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '#stay', 'Hex')) {
523 # type => 'DetectChar'
524 if ($self->testDetectChar($text, ')', 0, 0, 0, undef, 0, '#stay', 'Hex')) {
527 # attribute => 'Char'
530 # type => 'DetectChar'
531 if ($self->testDetectChar($text, '[', 0, 0, 0, undef, 0, '#stay', 'Char')) {
534 # attribute => 'Char'
537 # type => 'DetectChar'
538 if ($self->testDetectChar($text, ']', 0, 0, 0, undef, 0, '#stay', 'Char')) {
541 # attribute => 'Float'
544 # type => 'DetectChar'
545 if ($self->testDetectChar($text, '{', 0, 0, 0, undef, 0, '#stay', 'Float')) {
548 # attribute => 'Float'
551 # type => 'DetectChar'
552 if ($self->testDetectChar($text, '}', 0, 0, 0, undef, 0, '#stay', 'Float')) {
555 # attribute => 'Char'
558 # type => 'DetectChar'
559 if ($self->testDetectChar($text, '$', 0, 0, 0, undef, 0, '#stay', 'Char')) {
562 # attribute => 'Char'
565 # type => 'DetectChar'
566 if ($self->testDetectChar($text, '@', 0, 0, 0, undef, 0, '#stay', 'Char')) {
569 # attribute => 'Char'
572 # type => 'DetectChar'
573 if ($self->testDetectChar($text, ':', 0, 0, 0, undef, 0, '#stay', 'Char')) {
576 # attribute => 'Char'
578 # context => 'Comment'
579 # type => 'DetectChar'
580 if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, 'Comment', 'Char')) {
583 # attribute => 'Char'
585 # context => 'systemvarcontext'
586 # type => 'DetectChar'
587 if ($self->testDetectChar($text, '!', 0, 0, 0, undef, 0, 'systemvarcontext', 'Char')) {
593 sub parsesystemvarcontext {
594 my ($self, $text) = @_;
598 # type => 'DetectChar'
599 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '#pop', 'Hex')) {
602 # attribute => 'Char'
605 # type => 'DetectChar'
606 if ($self->testDetectChar($text, '.', 0, 0, 0, undef, 0, '#pop', 'Char')) {
612 # type => 'DetectChar'
613 if ($self->testDetectChar($text, ' ', 0, 0, 0, undef, 0, '#pop', 'Hex')) {
616 # String => 'system variables'
617 # attribute => 'Float'
620 if ($self->testKeyword($text, 'system variables', 0, undef, 0, '#pop', 'Float')) {
633 Syntax::Highlight::Engine::Kate::RSI_IDL - a Plugin for RSI IDL syntax highlighting
637 require Syntax::Highlight::Engine::Kate::RSI_IDL;
638 my $sh = new Syntax::Highlight::Engine::Kate::RSI_IDL([
643 Syntax::Highlight::Engine::Kate::RSI_IDL is a plugin module that provides syntax highlighting
644 for RSI IDL to the Syntax::Haghlight::Engine::Kate highlighting engine.
646 This code is generated from the syntax definition files used
648 It works quite fine, but can use refinement and optimization.
650 It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
656 Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
662 Unknown. If you find any, please contact the author