initial commit
[namibia] / public / js / lib / syntaxhighlighter / scripts / shBrushDelphi.js
1 /**
2  * SyntaxHighlighter
3  * http://alexgorbatchev.com/SyntaxHighlighter
4  *
5  * SyntaxHighlighter is donationware. If you are using it, please donate.
6  * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
7  *
8  * @version
9  * 3.0.83 (July 02 2010)
10  * 
11  * @copyright
12  * Copyright (C) 2004-2010 Alex Gorbatchev.
13  *
14  * @license
15  * Dual licensed under the MIT and GPL licenses.
16  */
17 ;(function()
18 {
19         // CommonJS
20         typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
21
22         function Brush()
23         {
24                 var keywords =  'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +
25                                                 'case char class comp const constructor currency destructor div do double ' +
26                                                 'downto else end except exports extended false file finalization finally ' +
27                                                 'for function goto if implementation in inherited int64 initialization ' +
28                                                 'integer interface is label library longint longword mod nil not object ' +
29                                                 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' +
30                                                 'pint64 pointer private procedure program property pshortstring pstring ' +
31                                                 'pvariant pwidechar pwidestring protected public published raise real real48 ' +
32                                                 'record repeat set shl shortint shortstring shr single smallint string then ' +
33                                                 'threadvar to true try type unit until uses val var varirnt while widechar ' +
34                                                 'widestring with word write writeln xor';
35
36                 this.regexList = [
37                         { regex: /\(\*[\s\S]*?\*\)/gm,                                                          css: 'comments' },      // multiline comments (* *)
38                         { regex: /{(?!\$)[\s\S]*?}/gm,                                                          css: 'comments' },      // multiline comments { }
39                         { regex: SyntaxHighlighter.regexLib.singleLineCComments,        css: 'comments' },      // one line
40                         { regex: SyntaxHighlighter.regexLib.singleQuotedString,         css: 'string' },                // strings
41                         { regex: /\{\$[a-zA-Z]+ .+\}/g,                                                         css: 'color1' },                // compiler Directives and Region tags
42                         { regex: /\b[\d\.]+\b/g,                                                                        css: 'value' },                 // numbers 12345
43                         { regex: /\$[a-zA-Z0-9]+\b/g,                                                           css: 'value' },                 // numbers $F5D3
44                         { regex: new RegExp(this.getKeywords(keywords), 'gmi'),         css: 'keyword' }                // keyword
45                         ];
46         };
47
48         Brush.prototype = new SyntaxHighlighter.Highlighter();
49         Brush.aliases   = ['delphi', 'pascal', 'pas'];
50
51         SyntaxHighlighter.brushes.Delphi = Brush;
52
53         // CommonJS
54         typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
55 })();