ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
smalltalk.php
Go to the documentation of this file.
1 <?php
2 /*************************************************************************************
3  * smalltalk.php
4  * --------
5  * Author: Bananeweizen (Bananeweizen@gmx.de)
6  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
7  * Release Version: 1.0.9.0
8  * Date Started: 2005/03/27
9  *
10  * Smalltalk language file for GeSHi.
11  *
12  * CHANGES
13  * -------
14  * 2006-05-24 (1.0.0)
15  * - First Release
16  *
17  * TODO
18  * -------------------------
19  * * recognize nested array symbols correctly
20  *
21  *************************************************************************************
22  *
23  * This file is part of GeSHi.
24  *
25  * GeSHi is free software; you can redistribute it and/or modify
26  * it under the terms of the GNU General Public License as published by
27  * the Free Software Foundation; either version 2 of the License, or
28  * (at your option) any later version.
29  *
30  * GeSHi is distributed in the hope that it will be useful,
31  * but WITHOUT ANY WARRANTY; without even the implied warranty of
32  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33  * GNU General Public License for more details.
34  *
35  * You should have received a copy of the GNU General Public License
36  * along with GeSHi; if not, write to the Free Software
37  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
38  *
39  ************************************************************************************/
40 
41 $language_data = array (
42  'LANG_NAME' => 'Smalltalk',
43  'COMMENT_SINGLE' => array(),
44  'COMMENT_MULTI' => array('"' => '"'),
45  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
46  'QUOTEMARKS' => array("'"),
47  'ESCAPE_CHAR' => '',
48  'KEYWORDS' => array(
49  1 => array(
50  'self','super','true','false','nil'
51  )
52  ),
53  'SYMBOLS' => array(
54  '[', ']', '=' , ':=', '(', ')', '#'
55  ),
56  'CASE_SENSITIVE' => array(
57  GESHI_COMMENTS => false,
58  1 => true
59  ),
60  'STYLES' => array(
61  'KEYWORDS' => array(
62  1 => 'color: #7f007f;'
63  ),
64  'COMMENTS' => array(
65  'MULTI' => 'color: #007f00; font-style: italic;'
66  ),
67  'ESCAPE_CHAR' => array(
68  0 => ''
69  ),
70  'BRACKETS' => array(
71  0 => ''
72  ),
73  'STRINGS' => array(
74  0 => 'color: #7f0000;'
75  ),
76  'NUMBERS' => array(
77  0 => 'color: #7f0000;'
78  ),
79  'METHODS' => array(
80  0 => ''
81  ),
82  'SYMBOLS' => array(
83  0 => 'color: #000066; font-weight:bold;'
84  ),
85  'REGEXPS' => array(
86  0 => 'color: #0000ff;',
87  1 => 'color: #7f0000;',
88  2 => 'color: #7f0000;',
89  3 => 'color: #00007f;',
90  5 => 'color: #00007f;',
91  6 => 'color: #00007f;'
92  ),
93  'SCRIPT' => array(
94  0 => ''
95  )
96  ),
97  'URLS' => array(
98  1 => ''
99  ),
100  'OOLANG' => false,
101  'OBJECT_SPLITTERS' => array(
102  ),
103  'REGEXPS' => array(
104  0 => array(
105  GESHI_SEARCH => '([^a-zA-Z0-9_#<])([A-Z]+[a-zA-Z0-9_]*)(?!>)', //class names
106  GESHI_REPLACE => '\\2',
107  GESHI_MODIFIERS => '',
108  GESHI_BEFORE => '\\1',
109  GESHI_AFTER => ''
110  ),
111  1 => array(
112  GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
113  GESHI_REPLACE => '\\1\\2',
114  GESHI_MODIFIERS => '',
115  GESHI_BEFORE => '',
116  GESHI_AFTER => ''
117  ),
118  2 => array(
119  GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
120  GESHI_REPLACE => '\\1',
121  GESHI_MODIFIERS => '',
122  GESHI_BEFORE => '',
123  GESHI_AFTER => ''
124  ),
125  3 => array(
126  GESHI_SEARCH => '<PIPE>([a-zA-Z0-9_\s]+)<PIPE>', //temporary variables
127  GESHI_REPLACE => '\\1',
128  GESHI_MODIFIERS => '',
129  GESHI_BEFORE => '|',
130  GESHI_AFTER => '|'
131  ),
132  5 => array(
133  GESHI_SEARCH => '([:(,=[.*\/+-]\s*(?!\d+\/))([a-zA-Z0-9_]+)', //message parameters, message receivers
134  GESHI_REPLACE => '\\2',
135  GESHI_MODIFIERS => 's',
136  GESHI_BEFORE => '\\1',
137  GESHI_AFTER => ''
138  ),
139  6 => array(
140  GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
141  GESHI_REPLACE => '\\1',
142  GESHI_MODIFIERS => '',
143  GESHI_BEFORE => '',
144  GESHI_AFTER => '\\2'
145  )
146  ),
147  'STRICT_MODE_APPLIES' => GESHI_NEVER,
148  'SCRIPT_DELIMITERS' => array(
149  ),
150  'HIGHLIGHT_STRICT_BLOCK' => array(
151  )
152 );
const GESHI_MODIFIERS
The key of the regex array defining any modifiers to the regular expression.
Definition: geshi.php:137
const GESHI_BEFORE
The key of the regex array defining what bracket group in a matched search to put before the replacem...
Definition: geshi.php:140
const GESHI_COMMENTS
Used in language files to mark comments.
Definition: geshi.php:149
const GESHI_REPLACE
The key of the regex array defining what bracket group in a matched search to use as a replacement...
Definition: geshi.php:135
$language_data
Definition: smalltalk.php:41
const GESHI_SEARCH
The key of the regex array defining what to search for.
Definition: geshi.php:132
const GESHI_NEVER
#+ private
Definition: geshi.php:123
const GESHI_CAPS_NO_CHANGE
Lowercase keywords found.
Definition: geshi.php:94
const GESHI_AFTER
The key of the regex array defining what bracket group in a matched search to put after the replaceme...
Definition: geshi.php:143