1<?php
2/*************************************************************************************
3 * lolcode.php
4 * ----------
5 * Author: Benny Baumann (BenBE@geshi.org)
6 * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
7 * Release Version: 1.0.9.1
8 * Date Started: 2009/10/31
9 *
10 * LOLcode language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2014/2/25
15 *   -  Fixed to not throw missing index exception.
16 *
17 * 2008/10/31 (1.0.8.1)
18 *   -  First Release
19 *
20 * TODO
21 * ----
22 *
23 *************************************************************************************
24 *
25 *     This file is part of GeSHi.
26 *
27 *   GeSHi is free software; you can redistribute it and/or modify
28 *   it under the terms of the GNU General Public License as published by
29 *   the Free Software Foundation; either version 2 of the License, or
30 *   (at your option) any later version.
31 *
32 *   GeSHi is distributed in the hope that it will be useful,
33 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
34 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
35 *   GNU General Public License for more details.
36 *
37 *   You should have received a copy of the GNU General Public License
38 *   along with GeSHi; if not, write to the Free Software
39 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
40 *
41 ************************************************************************************/
42
43$language_data = array(
44    'LANG_NAME' => 'LOLcode',
45    'COMMENT_SINGLE' => array('BTW'),
46    'COMMENT_MULTI' => array('BTW','WTB'),
47    'COMMENT_REGEXP' => array(
48        1 => "/\bBTW\b.*$/im",
49        2 => "/(^|\b)(?:OBTW\b.+?\bTLDR|LOL\b.+?\/LOL)(\b|$)/si"
50        ),
51    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
52    'QUOTEMARKS' => array('"'),
53    'ESCAPE_CHAR' => '',
54    'ESCAPE_REGEXP' => array(
55        1 => '/:[)>o":]/',
56        2 => '/:\([\da-f]+\)/i',
57        3 => '/:\{\w+\}/i',
58        4 => '/:\[\w+\]/i',
59        ),
60    'KEYWORDS' => array(
61        //Statements
62        1 => array(
63            'VISIBLE', 'HAI', 'KTHX', 'KTHXBYE', 'SMOOSH', 'GIMMEH', 'PLZ',
64            'ON', 'INVISIBLE', 'R', 'ITZ', 'GTFO', 'COMPLAIN', 'GIMME',
65
66            'OPEN', 'FILE', 'I HAS A', 'AWSUM THX', 'O NOES', 'CAN', 'HAS', 'HAZ',
67            'HOW DOES I', 'IF U SAY SO', 'FOUND YR', 'BORROW', 'OWN', 'ALONG',
68            'WITH', 'WIT', 'LOOK', 'AT', 'AWSUM', 'THX'
69            ),
70        //Conditionals
71        2 => array(
72            'IZ', 'YARLY', 'NOWAI', 'WTF?', 'MEBBE', 'OMG', 'OMGWTF',
73            'ORLY?', 'OF', 'NOPE', 'SO', 'IM', 'MAI',
74
75            'O RLY?', 'SUM', 'BOTH SAEM', 'DIFFRINT', 'BOTH', 'EITHER', 'WON',
76            'DIFF', 'PRODUKT', 'QUOSHUNT', 'MOD', 'MKAY', 'OK', 'THING',
77            'BIGNESS'
78            ),
79        //Repetition
80        3 => array(
81            'IN', 'OUTTA', 'LOOP', 'WHILE'
82            ),
83        //Operators \Math
84        4 => array(
85            'AN', 'AND', 'NOT', 'UP', 'YR', 'UPPIN', 'NERF', 'NERFIN', 'NERFZ',
86            'SMASHING', 'UR', 'KINDA', 'LIKE', 'SAEM', 'BIG', 'SMALL',
87            'BIGGR', 'SMALLR', 'BIGGER', 'SMALLER', 'GOOD', 'CUTE', 'THAN'
88            )
89        ),
90    'SYMBOLS' => array(
91        '.', ',', '?',
92        '!!'
93        ),
94    'CASE_SENSITIVE' => array(
95        GESHI_COMMENTS => false,
96        1 => false,
97        2 => false,
98        3 => false,
99        4 => false
100        ),
101    'STYLES' => array(
102        'KEYWORDS' => array(
103            1 => 'color: #008000;',
104            2 => 'color: #000080;',
105            3 => 'color: #000080;',
106            4 => 'color: #800000;'
107            ),
108        'COMMENTS' => array(
109            0 => 'color: #666666; style: italic;',
110            1 => 'color: #666666; style: italic;',
111            2 => 'color: #666666; style: italic;'
112            ),
113        'BRACKETS' => array(
114            0 => 'color: #66cc66;'
115            ),
116        'STRINGS' => array(
117            0 => 'color: #ff0000;'
118            ),
119        'NUMBERS' => array(
120            0 => 'color: #00F;'
121            ),
122        'METHODS' => array(
123            0 => 'color: #0F0;'
124            ),
125        'SYMBOLS' => array(
126            0 => 'color: #66cc66;'
127            ),
128        'ESCAPE_CHAR' => array(
129            0 => 'color: #00F;'
130            ),
131        'SCRIPT' => array(
132            0 => 'color: #00F;'
133            ),
134        'REGEXPS' => array(
135            )
136        ),
137    'URLS' => array(
138        1 => '',
139        2 => '',
140        3 => '',
141        4 => ''
142        ),
143    'OOLANG' => false,
144    'OBJECT_SPLITTERS' => array(
145        ),
146    'REGEXPS' => array(
147        ),
148    'STRICT_MODE_APPLIES' => GESHI_NEVER,
149    'SCRIPT_DELIMITERS' => array(
150        ),
151    'HIGHLIGHT_STRICT_BLOCK' => array(
152        ),
153    'PARSER_CONTROL' => array(
154        'KEYWORDS' => array(
155            'SPACE_AS_WHITESPACE' => true
156            )
157        ),
158    'TAB_WIDTH' => 4
159);
160