plugins/geshi/geshi/c.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     4  * -----
     4  * -----
     5  * Author: Nigel McNie (nigel@geshi.org)
     5  * Author: Nigel McNie (nigel@geshi.org)
     6  * Contributors:
     6  * Contributors:
     7  *  - Jack Lloyd (lloyd@randombit.net)
     7  *  - Jack Lloyd (lloyd@randombit.net)
     8  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     8  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     9  * Release Version: 1.0.7.20
     9  * Release Version: 1.0.8.2
    10  * Date Started: 2004/06/04
    10  * Date Started: 2004/06/04
    11  *
    11  *
    12  * C language file for GeSHi.
    12  * C language file for GeSHi.
    13  *
    13  *
    14  * CHANGES
    14  * CHANGES
    15  * -------
    15  * -------
       
    16  * 2008/05/23 (1.0.7.22)
       
    17  *   -  Added description of extra language features (SF#1970248)
    16  * 2004/XX/XX (1.0.4)
    18  * 2004/XX/XX (1.0.4)
    17  *   -  Added a couple of new keywords (Jack Lloyd)
    19  *   -  Added a couple of new keywords (Jack Lloyd)
    18  * 2004/11/27 (1.0.3)
    20  * 2004/11/27 (1.0.3)
    19  *   -  Added support for multiple object splitters
    21  *   -  Added support for multiple object splitters
    20  * 2004/10/27 (1.0.2)
    22  * 2004/10/27 (1.0.2)
    48  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    50  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    49  *
    51  *
    50  ************************************************************************************/
    52  ************************************************************************************/
    51 
    53 
    52 $language_data = array (
    54 $language_data = array (
    53 	'LANG_NAME' => 'C',
    55     'LANG_NAME' => 'C',
    54 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
    56     'COMMENT_SINGLE' => array(2 => '#'),
    55 	'COMMENT_MULTI' => array('/*' => '*/'),
    57     'COMMENT_MULTI' => array('/*' => '*/'),
    56 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    58     //Multiline-continued single-line comments
    57 	'QUOTEMARKS' => array("'", '"'),
    59     'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
    58 	'ESCAPE_CHAR' => '\\',
    60     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    59 	'KEYWORDS' => array(
    61     'QUOTEMARKS' => array("'", '"'),
    60 		1 => array(
    62     'ESCAPE_CHAR' => '',
    61 			'if', 'return', 'while', 'case', 'continue', 'default',
    63     'ESCAPE_REGEXP' => array(
    62 			'do', 'else', 'for', 'switch', 'goto'
    64         //Simple Single Char Escapes
    63 			),
    65         1 => "#\\\\[abfnrtv\\'\"?\n]#i",
    64 		2 => array(
    66         //Hexadecimal Char Specs
    65 			'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
    67         2 => "#\\\\x[\da-fA-F]{2}#",
    66 			),
    68         //Hexadecimal Char Specs
    67 		3 => array(
    69         3 => "#\\\\u[\da-fA-F]{4}#",
    68 			'printf', 'cout'
    70         //Hexadecimal Char Specs
    69 			),
    71         4 => "#\\\\U[\da-fA-F]{8}#",
    70 		4 => array(
    72         //Octal Char Specs
    71 			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
    73         5 => "#\\\\[0-7]{1,3}#"
    72 			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
    74         ),
    73 			'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
    75     'NUMBERS' =>
    74 			),
    76         GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
    75 		),
    77         GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
    76 	'SYMBOLS' => array(
    78         GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
    77 		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
    79     'KEYWORDS' => array(
    78 		),
    80         1 => array(
    79 	'CASE_SENSITIVE' => array(
    81             'if', 'return', 'while', 'case', 'continue', 'default',
    80 		GESHI_COMMENTS => true,
    82             'do', 'else', 'for', 'switch', 'goto'
    81 		1 => false,
    83             ),
    82 		2 => false,
    84         2 => array(
    83 		3 => false,
    85             'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
    84 		4 => false,
    86             ),
    85 		),
    87         3 => array(
    86 	'STYLES' => array(
    88             'printf', 'cout'
    87 		'KEYWORDS' => array(
    89             ),
    88 			1 => 'color: #b1b100;',
    90         4 => array(
    89 			2 => 'color: #000000; font-weight: bold;',
    91             'auto', 'char', 'const', 'double',  'float', 'int', 'long',
    90 			3 => 'color: #000066;',
    92             'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
    91 			4 => 'color: #993333;'
    93             'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
    92 			),
    94             ),
    93 		'COMMENTS' => array(
    95         ),
    94 			1 => 'color: #808080; font-style: italic;',
    96     'SYMBOLS' => array(
    95 			2 => 'color: #339933;',
    97         '(', ')', '{', '}', '[', ']',
    96 			'MULTI' => 'color: #808080; font-style: italic;'
    98         '+', '-', '*', '/', '%',
    97 			),
    99         '=', '<', '>',
    98 		'ESCAPE_CHAR' => array(
   100         '!', '^', '&', '|',
    99 			0 => 'color: #000099; font-weight: bold;'
   101         '?', ':',
   100 			),
   102         ';', ','
   101 		'BRACKETS' => array(
   103         ),
   102 			0 => 'color: #66cc66;'
   104     'CASE_SENSITIVE' => array(
   103 			),
   105         GESHI_COMMENTS => false,
   104 		'STRINGS' => array(
   106         1 => false,
   105 			0 => 'color: #ff0000;'
   107         2 => false,
   106 			),
   108         3 => false,
   107 		'NUMBERS' => array(
   109         4 => false,
   108 			0 => 'color: #cc66cc;'
   110         ),
   109 			),
   111     'STYLES' => array(
   110 		'METHODS' => array(
   112         'KEYWORDS' => array(
   111 			1 => 'color: #202020;',
   113             1 => 'color: #b1b100;',
   112 			2 => 'color: #202020;'
   114             2 => 'color: #000000; font-weight: bold;',
   113 			),
   115             3 => 'color: #000066;',
   114 		'SYMBOLS' => array(
   116             4 => 'color: #993333;'
   115 			0 => 'color: #66cc66;'
   117             ),
   116 			),
   118         'COMMENTS' => array(
   117 		'REGEXPS' => array(
   119             1 => 'color: #666666; font-style: italic;',
   118 			),
   120             2 => 'color: #339933;',
   119 		'SCRIPT' => array(
   121             'MULTI' => 'color: #808080; font-style: italic;'
   120 			)
   122             ),
   121 		),
   123         'ESCAPE_CHAR' => array(
   122 	'URLS' => array(
   124             0 => 'color: #000099; font-weight: bold;',
   123 		1 => '',
   125             1 => 'color: #000099; font-weight: bold;',
   124 		2 => '',
   126             2 => 'color: #660099; font-weight: bold;',
   125 		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
   127             3 => 'color: #660099; font-weight: bold;',
   126 		4 => ''
   128             4 => 'color: #660099; font-weight: bold;',
   127 		),
   129             5 => 'color: #006699; font-weight: bold;',
   128 	'OOLANG' => true,
   130             'HARD' => '',
   129 	'OBJECT_SPLITTERS' => array(
   131             ),
   130 		1 => '.',
   132         'BRACKETS' => array(
   131 		2 => '::'
   133             0 => 'color: #009900;'
   132 		),
   134             ),
   133 	'REGEXPS' => array(
   135         'STRINGS' => array(
   134 		),
   136             0 => 'color: #ff0000;'
   135 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   137             ),
   136 	'SCRIPT_DELIMITERS' => array(
   138         'NUMBERS' => array(
   137 		),
   139             0 => 'color: #0000dd;',
   138 	'HIGHLIGHT_STRICT_BLOCK' => array(
   140             GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
       
   141             GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
       
   142             GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
       
   143             GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
       
   144             GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
       
   145             GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
       
   146             GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
       
   147             ),
       
   148         'METHODS' => array(
       
   149             1 => 'color: #202020;',
       
   150             2 => 'color: #202020;'
       
   151             ),
       
   152         'SYMBOLS' => array(
       
   153             0 => 'color: #339933;'
       
   154             ),
       
   155         'REGEXPS' => array(
       
   156             ),
       
   157         'SCRIPT' => array(
       
   158             )
       
   159         ),
       
   160     'URLS' => array(
       
   161         1 => '',
       
   162         2 => '',
       
   163         3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
       
   164         4 => ''
       
   165         ),
       
   166     'OOLANG' => true,
       
   167     'OBJECT_SPLITTERS' => array(
       
   168         1 => '.',
       
   169         2 => '::'
       
   170         ),
       
   171     'REGEXPS' => array(
       
   172         ),
       
   173     'STRICT_MODE_APPLIES' => GESHI_NEVER,
       
   174     'SCRIPT_DELIMITERS' => array(
       
   175         ),
       
   176     'HIGHLIGHT_STRICT_BLOCK' => array(
   139         ),
   177         ),
   140     'TAB_WIDTH' => 4
   178     'TAB_WIDTH' => 4
   141 );
   179 );
   142 
   180 
   143 ?>
   181 ?>