Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Syntax / Highlight / Engine / Kate / Lua.pm
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 'lua.xml' file of the syntax highlight
6 # engine of the kate text editor (http://www.kate-editor.org
7
8 #kate xml version 0.22
9 #kate version 2.3
10 #generated: Sun Feb  3 22:02:05 2008, localtime
11
12 package Syntax::Highlight::Engine::Kate::Lua;
13
14 our $VERSION = '0.06';
15
16 use strict;
17 use warnings;
18 use base('Syntax::Highlight::Engine::Kate::Template');
19
20 sub new {
21    my $proto = shift;
22    my $class = ref($proto) || $proto;
23    my $self = $class->SUPER::new(@_);
24    $self->attributes({
25       'Alert' => 'Alert',
26       'BaseFunc' => 'Normal',
27       'Comment' => 'Comment',
28       'Decimal' => 'DecVal',
29       'Keyword' => 'Keyword',
30       'Normal Text' => 'Normal',
31       'Number' => 'BaseN',
32       'String' => 'String',
33       'Symbol' => 'Normal',
34    });
35    $self->listAdd('basefunc',
36       'LUA_PATH',
37       '_ALERT',
38       '_ERRORMESSAGE',
39       '_LOADED',
40       '_VERSION',
41       'abs',
42       'acos',
43       'appendto',
44       'ascii',
45       'asin',
46       'assert',
47       'atan',
48       'atan2',
49       'call',
50       'ceil',
51       'clock',
52       'closefile',
53       'collectgarbage',
54       'copytagmethods',
55       'cos',
56       'date',
57       'debug.gethook',
58       'debug.getinfo',
59       'debug.getlocal',
60       'debug.sethook',
61       'debug.setlocal',
62       'deg',
63       'dofile',
64       'dostring',
65       'error',
66       'execute',
67       'exit',
68       'exp',
69       'floor',
70       'flush',
71       'foreach',
72       'foreachi',
73       'format',
74       'frexp',
75       'gcinfo',
76       'getenv',
77       'getglobal',
78       'getglobals',
79       'getinfo',
80       'getlocal',
81       'getmetatable',
82       'getn',
83       'gettagmethod',
84       'globals',
85       'gsub',
86       'io.close',
87       'io.flush',
88       'io.input',
89       'io.lines',
90       'io.open',
91       'io.output',
92       'io.read',
93       'io.stderr',
94       'io.stdin',
95       'io.stdout',
96       'io.tmpfile',
97       'io.write',
98       'ipairs',
99       'ldexp',
100       'loadfile',
101       'loadstring',
102       'log',
103       'log10',
104       'math.abs',
105       'math.acos',
106       'math.asin',
107       'math.atan',
108       'math.atan2',
109       'math.ceil',
110       'math.cos',
111       'math.deg',
112       'math.exp',
113       'math.floor',
114       'math.frexp',
115       'math.ldexp',
116       'math.log',
117       'math.log10',
118       'math.max',
119       'math.min',
120       'math.mod',
121       'math.rad',
122       'math.random',
123       'math.randomseed',
124       'math.sin',
125       'math.squrt',
126       'math.tan',
127       'max',
128       'min',
129       'mod',
130       'newtag',
131       'next',
132       'openfile',
133       'os.clock',
134       'os.date',
135       'os.difftime',
136       'os.execute',
137       'os.exit',
138       'os.getenv',
139       'os.remove',
140       'os.rename',
141       'os.setlocale',
142       'os.time',
143       'os.tmpname',
144       'pairs',
145       'pcall',
146       'print',
147       'rad',
148       'random',
149       'randomseed',
150       'rawget',
151       'rawset',
152       'read',
153       'readfrom',
154       'remove',
155       'rename',
156       'require',
157       'seek',
158       'setcallhook',
159       'setglobal',
160       'setglobals',
161       'setlinehook',
162       'setlocal',
163       'setlocale',
164       'setmetatable',
165       'settag',
166       'settagmethod',
167       'sin',
168       'sort',
169       'squrt',
170       'strbyte',
171       'strchar',
172       'strfind',
173       'string.byte',
174       'string.char',
175       'string.find',
176       'string.format',
177       'string.gfind',
178       'string.gsub',
179       'string.len',
180       'string.lower',
181       'string.rep',
182       'string.sub',
183       'string.upper',
184       'strlen',
185       'strlower',
186       'strrep',
187       'strsub',
188       'strupper',
189       'table.concat',
190       'table.foreach',
191       'table.foreachi',
192       'table.getn',
193       'table.insert',
194       'table.remove',
195       'table.setn',
196       'table.sort',
197       'tag',
198       'tan',
199       'tinsert',
200       'tmpname',
201       'tonumber',
202       'tostring',
203       'tremove',
204       'type',
205       'unpack',
206       'write',
207       'writeto',
208    );
209    $self->listAdd('keywords',
210       'and',
211       'break',
212       'do',
213       'else',
214       'elsif',
215       'end',
216       'for',
217       'function',
218       'if',
219       'in',
220       'local',
221       'nil',
222       'not',
223       'or',
224       'repeat',
225       'return',
226       'then',
227       'until',
228       'while',
229    );
230    $self->contextdata({
231       'Comment' => {
232          callback => \&parseComment,
233          attribute => 'Comment',
234          lineending => '#pop',
235       },
236       'Normal' => {
237          callback => \&parseNormal,
238          attribute => 'Normal Text',
239       },
240       'String' => {
241          callback => \&parseString,
242          attribute => 'String',
243          lineending => '#pop',
244       },
245    });
246    $self->deliminators('\\s||\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\|\\.');
247    $self->basecontext('Normal');
248    $self->keywordscase(0);
249    $self->initialize;
250    bless ($self, $class);
251    return $self;
252 }
253
254 sub language {
255    return 'Lua';
256 }
257
258 sub parseComment {
259    my ($self, $text) = @_;
260    # String => '(FIXME|TODO)'
261    # attribute => 'Alert'
262    # context => '#stay'
263    # type => 'RegExpr'
264    if ($self->testRegExpr($text, '(FIXME|TODO)', 0, 0, 0, undef, 0, '#stay', 'Alert')) {
265       return 1
266    }
267    return 0;
268 };
269
270 sub parseNormal {
271    my ($self, $text) = @_;
272    # String => 'keywords'
273    # attribute => 'Keyword'
274    # context => '#stay'
275    # type => 'keyword'
276    if ($self->testKeyword($text, 'keywords', 0, undef, 0, '#stay', 'Keyword')) {
277       return 1
278    }
279    # String => 'basefunc'
280    # attribute => 'BaseFunc'
281    # context => '#stay'
282    # type => 'keyword'
283    if ($self->testKeyword($text, 'basefunc', 0, undef, 0, '#stay', 'BaseFunc')) {
284       return 1
285    }
286    # attribute => 'Char'
287    # context => '#stay'
288    # type => 'HlCChar'
289    #This rule is buggy, not sending it to output
290    # attribute => 'Comment'
291    # char => '-'
292    # char1 => '-'
293    # context => 'Comment'
294    # type => 'Detect2Chars'
295    if ($self->testDetect2Chars($text, '-', '-', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
296       return 1
297    }
298    # attribute => 'Comment'
299    # char => '#'
300    # context => 'Comment'
301    # type => 'DetectChar'
302    if ($self->testDetectChar($text, '#', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
303       return 1
304    }
305    # attribute => 'String'
306    # char => '"'
307    # context => 'String'
308    # type => 'DetectChar'
309    if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'String', 'String')) {
310       return 1
311    }
312    # String => '!%&()+,-<=>?[]^{|}~'
313    # attribute => 'Symbol'
314    # context => '#stay'
315    # type => 'AnyChar'
316    if ($self->testAnyChar($text, '!%&()+,-<=>?[]^{|}~', 0, 0, undef, 0, '#stay', 'Symbol')) {
317       return 1
318    }
319    # String => '\d*\.?\d*e?\d+'
320    # attribute => 'Number'
321    # context => '#stay'
322    # type => 'RegExpr'
323    if ($self->testRegExpr($text, '\\d*\\.?\\d*e?\\d+', 0, 0, 0, undef, 0, '#stay', 'Number')) {
324       return 1
325    }
326    return 0;
327 };
328
329 sub parseString {
330    my ($self, $text) = @_;
331    # attribute => 'String'
332    # char => '"'
333    # context => '#pop'
334    # type => 'DetectChar'
335    if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'String')) {
336       return 1
337    }
338    return 0;
339 };
340
341
342 1;
343
344 __END__
345
346 =head1 NAME
347
348 Syntax::Highlight::Engine::Kate::Lua - a Plugin for Lua syntax highlighting
349
350 =head1 SYNOPSIS
351
352  require Syntax::Highlight::Engine::Kate::Lua;
353  my $sh = new Syntax::Highlight::Engine::Kate::Lua([
354  ]);
355
356 =head1 DESCRIPTION
357
358 Syntax::Highlight::Engine::Kate::Lua is a  plugin module that provides syntax highlighting
359 for Lua to the Syntax::Haghlight::Engine::Kate highlighting engine.
360
361 This code is generated from the syntax definition files used
362 by the Kate project.
363 It works quite fine, but can use refinement and optimization.
364
365 It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
366
367 =cut
368
369 =head1 AUTHOR
370
371 Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
372
373 =cut
374
375 =head1 BUGS
376
377 Unknown. If you find any, please contact the author
378
379 =cut
380