plugins/geshi/geshi/smalltalk.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * smalltalk.php
     3  * smalltalk.php
     4  * --------
     4  * --------
     5  * Author: Bananeweizen (Bananeweizen@gmx.de)
     5  * Author: Bananeweizen (Bananeweizen@gmx.de)
     6  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
     6  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
     7  * Release Version: 1.0.7.20
     7  * Release Version: 1.0.8.2
     8  * Date Started: 2005/03/27
     8  * Date Started: 2005/03/27
     9  *
     9  *
    10  * Smalltalk language file for GeSHi.
    10  * Smalltalk language file for GeSHi.
    11  *
    11  *
    12  * CHANGES
    12  * CHANGES
    15  *   -  First Release
    15  *   -  First Release
    16  *
    16  *
    17  * TODO
    17  * TODO
    18  * -------------------------
    18  * -------------------------
    19  * * recognize nested array symbols correctly
    19  * * recognize nested array symbols correctly
    20  * 
    20  *
    21  *************************************************************************************
    21  *************************************************************************************
    22  *
    22  *
    23  *     This file is part of GeSHi.
    23  *     This file is part of GeSHi.
    24  *
    24  *
    25  *   GeSHi is free software; you can redistribute it and/or modify
    25  *   GeSHi is free software; you can redistribute it and/or modify
    37  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    37  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    38  *
    38  *
    39  ************************************************************************************/
    39  ************************************************************************************/
    40 
    40 
    41 $language_data = array (
    41 $language_data = array (
    42 	'LANG_NAME' => 'Smalltalk',
    42     'LANG_NAME' => 'Smalltalk',
    43 	'COMMENT_SINGLE' => array(),
    43     'COMMENT_SINGLE' => array(),
    44 	'COMMENT_MULTI' => array('"' => '"'),
    44     'COMMENT_MULTI' => array('"' => '"'),
    45 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    45     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    46 	'QUOTEMARKS' => array("'"),
    46     'QUOTEMARKS' => array("'"),
    47 	'ESCAPE_CHAR' => '',
    47     'ESCAPE_CHAR' => '',
    48 	'KEYWORDS' => array(
    48     'KEYWORDS' => array(
    49 		1 => array('self','super','true','false','nil')
    49         1 => array('self','super','true','false','nil')
    50 		),
    50         ),
    51 	'SYMBOLS' => array(
    51     'SYMBOLS' => array(
    52 		'[', ']', '=' , ':=', '(', ')', '#'
    52         '[', ']', '=' , ':=', '(', ')', '#'
    53 		),
    53         ),
    54 	'CASE_SENSITIVE' => array(
    54     'CASE_SENSITIVE' => array(
    55 		GESHI_COMMENTS => false,
    55         GESHI_COMMENTS => false,
    56 		1 => true
    56         1 => true
    57 		),
    57         ),
    58 	'STYLES' => array(
    58     'STYLES' => array(
    59 		'KEYWORDS' => array(
    59         'KEYWORDS' => array(
    60 			1 => 'color: #7f007f;'
    60             1 => 'color: #7f007f;'
    61 			),
    61             ),
    62 		'COMMENTS' => array(
    62         'COMMENTS' => array(
    63 			'MULTI' => 'color: #007f00; font-style: italic;'
    63             'MULTI' => 'color: #007f00; font-style: italic;'
    64 			),
    64             ),
    65 		'ESCAPE_CHAR' => array(
    65         'ESCAPE_CHAR' => array(
    66 		    0 => ''
    66             0 => ''
    67 			),
    67             ),
    68 		'BRACKETS' => array(
    68         'BRACKETS' => array(
    69 		    0 => ''
    69             0 => ''
    70 			),
    70             ),
    71 		'STRINGS' => array(
    71         'STRINGS' => array(
    72 		    0 => 'color: #7f0000;'
    72             0 => 'color: #7f0000;'
    73 			),
    73             ),
    74 		'NUMBERS' => array(
    74         'NUMBERS' => array(
    75 		    0 => 'color: #7f0000;'
    75             0 => 'color: #7f0000;'
    76 			),
    76             ),
    77 		'METHODS' => array(
    77         'METHODS' => array(
    78 		    0 => ''
    78             0 => ''
    79 			),
    79             ),
    80 		'SYMBOLS' => array(
    80         'SYMBOLS' => array(
    81 			0 => 'color: #000066; font-weight:bold;'
    81             0 => 'color: #000066; font-weight:bold;'
    82 			),
    82             ),
    83 		'REGEXPS' => array(
    83         'REGEXPS' => array(
    84 			0 => 'color: #0000ff;',
    84             0 => 'color: #0000ff;',
    85 			1 => 'color: #7f0000;',
    85             1 => 'color: #7f0000;',
    86 			2 => 'color: #7f0000;',
    86             2 => 'color: #7f0000;',
    87 			3 => 'color: #00007f;',
    87             3 => 'color: #00007f;',
    88 			4 => 'color: #7f007f;',
    88             4 => 'color: #7f007f;',
    89 			5 => 'color: #00007f;',
    89             5 => 'color: #00007f;',
    90 			6 => 'color: #00007f;'
    90             6 => 'color: #00007f;'
    91 			),
    91             ),
    92 		'SCRIPT' => array(
    92         'SCRIPT' => array(
    93 		    0 => ''
    93             0 => ''
    94 			)
    94             )
    95 		),
    95         ),
    96 	'URLS' => array(
    96     'URLS' => array(
    97 		),
    97         1 => ''
    98 	'OOLANG' => false,
    98         ),
    99 	'OBJECT_SPLITTERS' => array(
    99     'OOLANG' => false,
   100 		),
   100     'OBJECT_SPLITTERS' => array(
   101 	'REGEXPS' => array(
   101         ),
   102 		0 => array(
   102     'REGEXPS' => array(
   103 			GESHI_SEARCH => '([^a-zA-Z0-9_#])([A-Z]+[a-zA-Z0-9_]*)', //class names
   103         0 => array(
   104 			GESHI_REPLACE => '\\2',
   104             GESHI_SEARCH => '([^a-zA-Z0-9_#<])([A-Z]+[a-zA-Z0-9_]*)(?!>)', //class names
   105 			GESHI_MODIFIERS => '',
   105             GESHI_REPLACE => '\\2',
   106 			GESHI_BEFORE => '\\1',
   106             GESHI_MODIFIERS => '',
   107 			GESHI_AFTER => ''
   107             GESHI_BEFORE => '\\1',
   108 			),
   108             GESHI_AFTER => ''
   109 		1 => array(
   109             ),
   110 			GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
   110         1 => array(
   111 			GESHI_REPLACE => '\\1\\2',
   111             GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
   112 			GESHI_MODIFIERS => '',
   112             GESHI_REPLACE => '\\1\\2',
   113 			GESHI_BEFORE => '',
   113             GESHI_MODIFIERS => '',
   114 			GESHI_AFTER => ''
   114             GESHI_BEFORE => '',
   115 			),
   115             GESHI_AFTER => ''
   116 		2 => array(
   116             ),
   117 			GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
   117         2 => array(
   118 			GESHI_REPLACE => '\\1',
   118             GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
   119 			GESHI_MODIFIERS => '',
   119             GESHI_REPLACE => '\\1',
   120 			GESHI_BEFORE => '',
   120             GESHI_MODIFIERS => '',
   121 			GESHI_AFTER => ''
   121             GESHI_BEFORE => '',
   122 			),
   122             GESHI_AFTER => ''
   123 		3 => array(
   123             ),
   124 			GESHI_SEARCH => '\|([a-zA-Z0-9_\s]+)\|', //temporary variables
   124         3 => array(
   125 			GESHI_REPLACE => '\\1',
   125             GESHI_SEARCH => '<PIPE>([a-zA-Z0-9_\s]+)<PIPE>', //temporary variables
   126 			GESHI_MODIFIERS => '',
   126             GESHI_REPLACE => '\\1',
   127 			GESHI_BEFORE => '|',
   127             GESHI_MODIFIERS => '',
   128 			GESHI_AFTER => '|'
   128             GESHI_BEFORE => '|',
   129 			),
   129             GESHI_AFTER => '|'
   130 		4 => array(
   130             ),
   131 			GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
   131         4 => array(
   132 			GESHI_REPLACE => '\\1',
   132             GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
   133 			GESHI_MODIFIERS => '',
   133             GESHI_REPLACE => '\\1',
   134 			GESHI_BEFORE => '',
   134             GESHI_MODIFIERS => '',
   135 			GESHI_AFTER => ''
   135             GESHI_BEFORE => '',
   136 			),
   136             GESHI_AFTER => ''
   137 		5 => array(
   137             ),
   138 			GESHI_SEARCH => '([:(,=[.*/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
   138         5 => array(
   139 			GESHI_REPLACE => '\\2',
   139             GESHI_SEARCH => '([:(,=[.*\/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
   140 			GESHI_MODIFIERS => 's',
   140             GESHI_REPLACE => '\\2',
   141 			GESHI_BEFORE => '\\1',
   141             GESHI_MODIFIERS => 's',
   142 			GESHI_AFTER => ''
   142             GESHI_BEFORE => '\\1',
   143 			),
   143             GESHI_AFTER => ''
   144 		6 => array(
   144             ),
   145 			GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
   145         6 => array(
   146 			GESHI_REPLACE => '\\1',
   146             GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
   147 			GESHI_MODIFIERS => '',
   147             GESHI_REPLACE => '\\1',
   148 			GESHI_BEFORE => '',
   148             GESHI_MODIFIERS => '',
   149 			GESHI_AFTER => '\\2'
   149             GESHI_BEFORE => '',
   150 			)
   150             GESHI_AFTER => '\\2'
   151 		),
   151             )
   152 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   152         ),
   153 	'SCRIPT_DELIMITERS' => array(
   153     'STRICT_MODE_APPLIES' => GESHI_NEVER,
   154 		),
   154     'SCRIPT_DELIMITERS' => array(
   155 	'HIGHLIGHT_STRICT_BLOCK' => array(
   155         ),
   156 		)
   156     'HIGHLIGHT_STRICT_BLOCK' => array(
       
   157         )
   157 );
   158 );
   158 
   159 
   159 ?>
   160 ?>