plugins/geshi/geshi/c.php
changeset 3 f3e2bbbd2155
parent 2 9e3258dfae15
equal deleted inserted replaced
2:9e3258dfae15 3:f3e2bbbd2155
     3  * c.php
     3  * c.php
     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  *  - Michael Mol (mikemol@gmail.com)
     8  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     9  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     9  * Release Version: 1.0.8.2
    10  * Release Version: 1.0.8.4
    10  * Date Started: 2004/06/04
    11  * Date Started: 2004/06/04
    11  *
    12  *
    12  * C language file for GeSHi.
    13  * C language file for GeSHi.
    13  *
    14  *
    14  * CHANGES
    15  * CHANGES
    15  * -------
    16  * -------
       
    17  * 2009/01/22 (1.0.8.3)
       
    18  *   -  Made keywords case-sensitive.
    16  * 2008/05/23 (1.0.7.22)
    19  * 2008/05/23 (1.0.7.22)
    17  *   -  Added description of extra language features (SF#1970248)
    20  *   -  Added description of extra language features (SF#1970248)
    18  * 2004/XX/XX (1.0.4)
    21  * 2004/XX/XX (1.0.4)
    19  *   -  Added a couple of new keywords (Jack Lloyd)
    22  *   -  Added a couple of new keywords (Jack Lloyd)
    20  * 2004/11/27 (1.0.3)
    23  * 2004/11/27 (1.0.3)
    24  * 2004/08/05 (1.0.1)
    27  * 2004/08/05 (1.0.1)
    25  *   -  Added support for symbols
    28  *   -  Added support for symbols
    26  * 2004/07/14 (1.0.0)
    29  * 2004/07/14 (1.0.0)
    27  *   -  First Release
    30  *   -  First Release
    28  *
    31  *
    29  * TODO (updated 2004/11/27)
    32  * TODO (updated 2009/02/08)
    30  * -------------------------
    33  * -------------------------
    31  *  -  Get a list of inbuilt functions to add (and explore C more
    34  *  -  Get a list of inbuilt functions to add (and explore C more
    32  *     to complete this rather bare language file
    35  *     to complete this rather bare language file
    33  *
    36  *
    34  *************************************************************************************
    37  *************************************************************************************
    51  *
    54  *
    52  ************************************************************************************/
    55  ************************************************************************************/
    53 
    56 
    54 $language_data = array (
    57 $language_data = array (
    55     'LANG_NAME' => 'C',
    58     'LANG_NAME' => 'C',
    56     'COMMENT_SINGLE' => array(2 => '#'),
    59     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
    57     'COMMENT_MULTI' => array('/*' => '*/'),
    60     'COMMENT_MULTI' => array('/*' => '*/'),
    58     //Multiline-continued single-line comments
    61     'COMMENT_REGEXP' => array(
    59     'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
    62         //Multiline-continued single-line comments
       
    63         1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
       
    64         //Multiline-continued preprocessor define
       
    65         2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
       
    66         ),
    60     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    67     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    61     'QUOTEMARKS' => array("'", '"'),
    68     'QUOTEMARKS' => array("'", '"'),
    62     'ESCAPE_CHAR' => '',
    69     'ESCAPE_CHAR' => '',
    63     'ESCAPE_REGEXP' => array(
    70     'ESCAPE_REGEXP' => array(
    64         //Simple Single Char Escapes
    71         //Simple Single Char Escapes
    65         1 => "#\\\\[abfnrtv\\'\"?\n]#i",
    72         1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
    66         //Hexadecimal Char Specs
    73         //Hexadecimal Char Specs
    67         2 => "#\\\\x[\da-fA-F]{2}#",
    74         2 => "#\\\\x[\da-fA-F]{2}#",
    68         //Hexadecimal Char Specs
    75         //Hexadecimal Char Specs
    69         3 => "#\\\\u[\da-fA-F]{4}#",
    76         3 => "#\\\\u[\da-fA-F]{4}#",
    70         //Hexadecimal Char Specs
    77         //Hexadecimal Char Specs
   101         '?', ':',
   108         '?', ':',
   102         ';', ','
   109         ';', ','
   103         ),
   110         ),
   104     'CASE_SENSITIVE' => array(
   111     'CASE_SENSITIVE' => array(
   105         GESHI_COMMENTS => false,
   112         GESHI_COMMENTS => false,
   106         1 => false,
   113         1 => true,
   107         2 => false,
   114         2 => true,
   108         3 => false,
   115         3 => true,
   109         4 => false,
   116         4 => true,
   110         ),
   117         ),
   111     'STYLES' => array(
   118     'STYLES' => array(
   112         'KEYWORDS' => array(
   119         'KEYWORDS' => array(
   113             1 => 'color: #b1b100;',
   120             1 => 'color: #b1b100;',
   114             2 => 'color: #000000; font-weight: bold;',
   121             2 => 'color: #000000; font-weight: bold;',