# Source for file dos.php

Documentation is available at dos.php

    1     <?php
    2     /***********************************************************************************
    3      * dos.php
    4      * -------
    5      * Author: Alessandro Staltari (staltari@geocities.com)
    6      * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
    7      * Release Version: 1.0.7.3
    8      * CVS Revision Version: $Revision: 1.1 $
    9      * Date Started: 2005/07/05
    10     * Last Modified: $Date: 2006/01/23 09:27:29 $
    11     *
    12     * DOS language file for GeSHi.
    13     *
    14     * CHANGES
    15     * -------
    16     * 2005/07/05 (1.0.0)
    17     *  -  First Release
    18     *
    19     * TODO (updated 2005/07/05)
    20     * -------------------------
    21     *
    22     * - Find a way to higlight %*
    23     * - Highlight pipes and redirection (do we really need this?)
    24     * - Add missing keywords.
    25     * - Find a good hyperlink for keywords.
    26     * - Improve styles.
    27     *
    28     * KNOWN ISSUES (updated 2005/07/07)
    29     * ---------------------------------
    30     *
    31     * - Doesn't even try to handle spaces in variables name or labels (I can't
    32     *   find a reliable way to establish if a sting is a name or not, in some
    33     *   cases it depends on the contex or enviroment status).
    34     * - Doesn't handle %%[letter] pseudo variable used inside FOR constructs
    35     *   (it should be done only into its scope: how to handle variable it?).
    36     * - Doesn't handle %~[something] pseudo arguments.
    37     * - If the same keyword is placed at the end of the line and the
    38     *   beginning of the next, the second occourrence is not highlighted
    39     *   (this should be a GeSHi bug, not related to the language definition).
    40     * - I can't avoid to have keyword highlighted even when they are not used
    41     *   as keywords but, for example, as arguments to the echo command.
    42     *
    43     ************************************************************************************
    44     *
    45     *     This file is part of GeSHi.
    46     *
    47     *   GeSHi is free software; you can redistribute it and/or modify
    48     *   it under the terms of the GNU General Public License as published by
    49     *   the Free Software Foundation; either version 2 of the License, or
    50     *   (at your option) any later version.
    51     *
    52     *   GeSHi is distributed in the hope that it will be useful,
    53     *   but WITHOUT ANY WARRANTY; without even the implied warranty of
    54     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    55     *   GNU General Public License for more details.
    56     *
    57     *   You should have received a copy of the GNU General Public License
    58     *   along with GeSHi; if not, write to the Free Software
    59     *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    60     *
    61     ************************************************************************************/
    61
    62
    63    $language_data = array (
    64        'LANG_NAME' => 'DOS',
    65        'COMMENT_SINGLE' => array(1 =>'REM', 2 => '@REM'),
    66        'COMMENT_MULTI' => array(),
    67        'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    68        'QUOTEMARKS' => array(),
    69        'ESCAPE_CHAR' => '',
    70        'KEYWORDS' => array(
    71            /* Flow control keywords */
    72            1 => array(
    73                'IF', 'ELSE', 'GOTO',
    74                'FOR', 'IN', 'DO',
    75                'CALL', 'EXIT'
    76                ),
    77            /* IF statement keywords */
    78            2 => array(
    79                'NOT', 'EXIST', 'ERRORLEVEL',
    80                'DEFINED',
    81                'EQU', 'NEQ', 'LSS', 'LEQ', 'GTR', 'GEQ'
    82                ),
    83            /* Internal commands */
    84            3 => array(
    85                'SHIFT',
    86                'CD', 'DIR', 'ECHO',
    87                'SETLOCAL', 'ENDLOCAL', 'SET',
    88                'PAUSE'
    89                ),
    90            /* Special files */
    91
    92            4 => array(
    93                'PRN', 'NUL', 'LPT3', 'LPT2', 'LPT1', 'CON',
    94                'COM4', 'COM3', 'COM2', 'COM1', 'AUX'
    95                )
    96            ),
    97        'SYMBOLS' => array(
    98            '(', ')'
    99            ),
    100       'CASE_SENSITIVE' => array(
    101           GESHI_COMMENTS => false,
    102           1 => false
    103           ),
    104       'STYLES' => array(
    105           'KEYWORDS' => array(
    106               1 => 'color: #00b100; font-weight: bold;',
    107               2 => 'color: #000000; font-weight: bold;',
    108               3 => 'color: #b1b100; font-weight: bold;',
    109               4 => 'color: #0000ff; font-weight: bold;'
    110               ),
    111           'COMMENTS' => array(
    112               1 => 'color: #808080; font-style: italic;',
    113               2 => 'color: #808080; font-style: italic;'
    114               ),
    115           'ESCAPE_CHAR' => array(
    116               ),
    117           'BRACKETS' => array(
    118               0 => 'color: #66cc66;'
    119               ),
    120           'STRINGS' => array(
    121               0 => 'color: #ff0000;'
    122               ),
    123           'NUMBERS' => array(
    124   /*			0 => 'color: #cc66cc;' */
    125               ),
    126           'METHODS' => array(
    127               ),
    128           'SYMBOLS' => array(
    129               0 => 'color: #33cc33;',
    130               1 => 'color: #33cc33;'
    131               ),
    132           'SCRIPT' => array(
    133               ),
    134           'REGEXPS' => array(
    135               0 => 'color: #b100b1; font-weight: bold;',
    136               1 => 'color: #448844;',
    137               2 => 'color: #448888;'
    138               )
    139           ),
    140       'OOLANG' => false,
    141       'OBJECT_SPLITTERS' => array(
    142           ),
    143       'REGEXPS' => array(
    144       /* Label */
    145           0 => array(
    146   /*		GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/
    147           GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',
    148           GESHI_REPLACE => '\\2',
    149           GESHI_MODIFIERS => 'si',
    150           GESHI_BEFORE => '\\1',
    151           GESHI_AFTER => ''
    152           ),
    153       /* Variable assignement */
    154           1 => array(
    155   /*		GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
    156           GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\n]+)([\s]*=)',
    157           GESHI_REPLACE => '\\2',
    158           GESHI_MODIFIERS => 'si',
    159           GESHI_BEFORE => '\\1',
    160           GESHI_AFTER => '\\3'
    161           ),
    162       /* Arguments or variable evaluation */
    163           2 => array(
    164   /*		GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/
    165           GESHI_SEARCH => '(%)([\d*]|[^%]*(?=%))((?<!%\d)%|)',
    166           GESHI_REPLACE => '\\2',
    167           GESHI_MODIFIERS => 'si',
    168           GESHI_BEFORE => '\\1',
    169           GESHI_AFTER => '\\3'
    170           )
    171           ),
    172       'STRICT_MODE_APPLIES' => GESHI_NEVER,
    173       'SCRIPT_DELIMITERS' => array(
    174           ),
    175       'HIGHLIGHT_STRICT_BLOCK' => array(
    176           )
    177   );
    178
    179   ?>

Documentation generated on Thu, 22 Sep 2005 13:47:52 +1200 by phpDocumentor 1.2.3