line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
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. |
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
# This file was generated from the 'fgl-per.xml' file of the syntax highlight |
6
|
|
|
|
|
|
|
# engine of the kate text editor (http://www.kate-editor.org |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
#kate xml version 1.01 |
9
|
|
|
|
|
|
|
#kate version 2.3 |
10
|
|
|
|
|
|
|
#kate author Andrej Falout (andrej@falout.org) |
11
|
|
|
|
|
|
|
#generated: Sun Feb 3 22:02:04 2008, localtime |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
package Syntax::Highlight::Engine::Kate::FourGLminusPER; |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
our $VERSION = '0.12'; |
16
|
|
|
|
|
|
|
|
17
|
1
|
|
|
1
|
|
453
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
26
|
|
18
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
28
|
|
19
|
1
|
|
|
1
|
|
4
|
use base('Syntax::Highlight::Engine::Kate::Template'); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
353
|
|
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
sub new { |
22
|
1
|
|
|
1
|
0
|
487
|
my $proto = shift; |
23
|
1
|
|
33
|
|
|
5
|
my $class = ref($proto) || $proto; |
24
|
1
|
|
|
|
|
7
|
my $self = $class->SUPER::new(@_); |
25
|
1
|
|
|
|
|
10
|
$self->attributes({ |
26
|
|
|
|
|
|
|
'Alert' => 'Alert', |
27
|
|
|
|
|
|
|
'Char' => 'Char', |
28
|
|
|
|
|
|
|
'Comment' => 'Comment', |
29
|
|
|
|
|
|
|
'Data Type' => 'DataType', |
30
|
|
|
|
|
|
|
'Decimal' => 'DecVal', |
31
|
|
|
|
|
|
|
'Float' => 'Float', |
32
|
|
|
|
|
|
|
'Hex' => 'BaseN', |
33
|
|
|
|
|
|
|
'Keyword' => 'Keyword', |
34
|
|
|
|
|
|
|
'Normal Text' => 'Normal', |
35
|
|
|
|
|
|
|
'Octal' => 'BaseN', |
36
|
|
|
|
|
|
|
'Prep. Lib' => 'Others', |
37
|
|
|
|
|
|
|
'Preprocessor' => 'Others', |
38
|
|
|
|
|
|
|
'String' => 'String', |
39
|
|
|
|
|
|
|
'String Char' => 'Char', |
40
|
|
|
|
|
|
|
'Symbol' => 'Normal', |
41
|
|
|
|
|
|
|
}); |
42
|
1
|
|
|
|
|
5
|
$self->listAdd('keywords', |
43
|
|
|
|
|
|
|
'COMPRESS', |
44
|
|
|
|
|
|
|
'UPSHIFT', |
45
|
|
|
|
|
|
|
'WORDWRAP', |
46
|
|
|
|
|
|
|
'attributes', |
47
|
|
|
|
|
|
|
'autonext', |
48
|
|
|
|
|
|
|
'black', |
49
|
|
|
|
|
|
|
'blue', |
50
|
|
|
|
|
|
|
'by', |
51
|
|
|
|
|
|
|
'character', |
52
|
|
|
|
|
|
|
'color', |
53
|
|
|
|
|
|
|
'comments', |
54
|
|
|
|
|
|
|
'cyan', |
55
|
|
|
|
|
|
|
'database', |
56
|
|
|
|
|
|
|
'default', |
57
|
|
|
|
|
|
|
'delimiters', |
58
|
|
|
|
|
|
|
'display', |
59
|
|
|
|
|
|
|
'downshift', |
60
|
|
|
|
|
|
|
'end', |
61
|
|
|
|
|
|
|
'format', |
62
|
|
|
|
|
|
|
'formonly', |
63
|
|
|
|
|
|
|
'green', |
64
|
|
|
|
|
|
|
'include', |
65
|
|
|
|
|
|
|
'input', |
66
|
|
|
|
|
|
|
'instructions', |
67
|
|
|
|
|
|
|
'invisible', |
68
|
|
|
|
|
|
|
'keys', |
69
|
|
|
|
|
|
|
'like', |
70
|
|
|
|
|
|
|
'magenta', |
71
|
|
|
|
|
|
|
'noentry', |
72
|
|
|
|
|
|
|
'not', |
73
|
|
|
|
|
|
|
'noupdate', |
74
|
|
|
|
|
|
|
'null', |
75
|
|
|
|
|
|
|
'picture', |
76
|
|
|
|
|
|
|
'record', |
77
|
|
|
|
|
|
|
'red', |
78
|
|
|
|
|
|
|
'required', |
79
|
|
|
|
|
|
|
'reverse', |
80
|
|
|
|
|
|
|
'screen', |
81
|
|
|
|
|
|
|
'size', |
82
|
|
|
|
|
|
|
'tables', |
83
|
|
|
|
|
|
|
'through', |
84
|
|
|
|
|
|
|
'to', |
85
|
|
|
|
|
|
|
'today', |
86
|
|
|
|
|
|
|
'type', |
87
|
|
|
|
|
|
|
'underline', |
88
|
|
|
|
|
|
|
'white', |
89
|
|
|
|
|
|
|
'without', |
90
|
|
|
|
|
|
|
'yellow', |
91
|
|
|
|
|
|
|
); |
92
|
1
|
|
|
|
|
4
|
$self->listAdd('types', |
93
|
|
|
|
|
|
|
'DATETIME', |
94
|
|
|
|
|
|
|
'DECIMAL', |
95
|
|
|
|
|
|
|
'FRACTION', |
96
|
|
|
|
|
|
|
'INTERVAL', |
97
|
|
|
|
|
|
|
'NUMERIC', |
98
|
|
|
|
|
|
|
'VARCHAR', |
99
|
|
|
|
|
|
|
'array', |
100
|
|
|
|
|
|
|
'char', |
101
|
|
|
|
|
|
|
'date', |
102
|
|
|
|
|
|
|
'float', |
103
|
|
|
|
|
|
|
'integer', |
104
|
|
|
|
|
|
|
'money', |
105
|
|
|
|
|
|
|
'serial', |
106
|
|
|
|
|
|
|
'smallint', |
107
|
|
|
|
|
|
|
); |
108
|
1
|
|
|
|
|
9
|
$self->contextdata({ |
109
|
|
|
|
|
|
|
'noname' => { |
110
|
|
|
|
|
|
|
callback => \&parsenoname, |
111
|
|
|
|
|
|
|
attribute => 'Comment', |
112
|
|
|
|
|
|
|
}, |
113
|
|
|
|
|
|
|
}); |
114
|
1
|
|
|
|
|
5
|
$self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\'); |
115
|
1
|
|
|
|
|
3
|
$self->basecontext('noname'); |
116
|
1
|
|
|
|
|
3
|
$self->keywordscase(0); |
117
|
1
|
|
|
|
|
3
|
$self->initialize; |
118
|
1
|
|
|
|
|
2
|
bless ($self, $class); |
119
|
1
|
|
|
|
|
3
|
return $self; |
120
|
|
|
|
|
|
|
} |
121
|
|
|
|
|
|
|
|
122
|
|
|
|
|
|
|
sub language { |
123
|
0
|
|
|
0
|
0
|
|
return '4GL-PER'; |
124
|
|
|
|
|
|
|
} |
125
|
|
|
|
|
|
|
|
126
|
|
|
|
|
|
|
sub parsenoname { |
127
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
128
|
|
|
|
|
|
|
# String => '#if' |
129
|
|
|
|
|
|
|
# attribute => 'Comment' |
130
|
|
|
|
|
|
|
# context => '9' |
131
|
|
|
|
|
|
|
# type => 'RegExpr' |
132
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#if', 0, 0, 0, undef, 0, '9', 'Comment')) { |
133
|
0
|
|
|
|
|
|
return 1 |
134
|
|
|
|
|
|
|
} |
135
|
|
|
|
|
|
|
# String => '#endif' |
136
|
|
|
|
|
|
|
# attribute => 'Comment' |
137
|
|
|
|
|
|
|
# context => '#pop' |
138
|
|
|
|
|
|
|
# type => 'RegExpr' |
139
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#endif', 0, 0, 0, undef, 0, '#pop', 'Comment')) { |
140
|
0
|
|
|
|
|
|
return 1 |
141
|
|
|
|
|
|
|
} |
142
|
0
|
|
|
|
|
|
return 0; |
143
|
|
|
|
|
|
|
}; |
144
|
|
|
|
|
|
|
|
145
|
|
|
|
|
|
|
|
146
|
|
|
|
|
|
|
1; |
147
|
|
|
|
|
|
|
|
148
|
|
|
|
|
|
|
__END__ |