![]() ![]() |
websvn |
Subversion Repositories: |
Compare with Previous - Blame - Download
<?php/************************************************************************************** dos.php* -------* Author: Alessandro Staltari (staltari@geocities.com)* Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)* Release Version: 1.0.8.3* Date Started: 2005/07/05** DOS language file for GeSHi.** CHANGES* -------* 2008/05/23 (1.0.7.22)* - Added description of extra language features (SF#1970248)* 2005/07/05 (1.0.0)* - First Release** TODO (updated 2005/07/05)* -------------------------** - Highlight pipes and redirection (do we really need this?)* - Add missing keywords.* - Find a good hyperlink for keywords.* - Improve styles.** KNOWN ISSUES (updated 2005/07/07)* ---------------------------------** - Doesn't even try to handle spaces in variables name or labels (I can't* find a reliable way to establish if a sting is a name or not, in some* cases it depends on the contex or enviroment status).* - Doesn't handle %%[letter] pseudo variable used inside FOR constructs* (it should be done only into its scope: how to handle variable it?).* - Doesn't handle %~[something] pseudo arguments.* - If the same keyword is placed at the end of the line and the* beginning of the next, the second occourrence is not highlighted* (this should be a GeSHi bug, not related to the language definition).* - I can't avoid to have keyword highlighted even when they are not used* as keywords but, for example, as arguments to the echo command.**************************************************************************************** This file is part of GeSHi.** GeSHi is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** GeSHi is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with GeSHi; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*************************************************************************************/$language_data = array ('LANG_NAME' => 'DOS','COMMENT_SINGLE' => array(),'COMMENT_MULTI' => array(),//DOS comment lines'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"),'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,'QUOTEMARKS' => array(),'ESCAPE_CHAR' => '','KEYWORDS' => array(/* Flow control keywords */1 => array('if', 'else', 'goto', 'shift','for', 'in', 'do','call', 'exit'),/* IF statement keywords */2 => array('not', 'exist', 'errorlevel','defined','equ', 'neq', 'lss', 'leq', 'gtr', 'geq'),/* Internal commands */3 => array('cd', 'md', 'rd', 'chdir', 'mkdir', 'rmdir', 'dir','del', 'copy', 'move', 'ren', 'rename','echo','setlocal', 'endlocal', 'set','pause','pushd', 'popd', 'title', 'verify'),/* Special files */4 => array('prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con','com4', 'com3', 'com2', 'com1', 'aux')),'SYMBOLS' => array('(', ')', '@', '%'),'CASE_SENSITIVE' => array(GESHI_COMMENTS => false,1 => false,2 => false,3 => false,4 => false),'STYLES' => array('KEYWORDS' => array(1 => 'color: #00b100; font-weight: bold;',2 => 'color: #000000; font-weight: bold;',3 => 'color: #b1b100; font-weight: bold;',4 => 'color: #0000ff; font-weight: bold;'),'COMMENTS' => array(1 => 'color: #808080; font-style: italic;'),'ESCAPE_CHAR' => array(0 => 'color: #ff0000; font-weight: bold;'),'BRACKETS' => array(0 => 'color: #66cc66;'),'STRINGS' => array(0 => 'color: #ff0000;'),'NUMBERS' => array(0 => 'color: #cc66cc;'),'METHODS' => array(),'SYMBOLS' => array(0 => 'color: #33cc33;',1 => 'color: #33cc33;'),'SCRIPT' => array(),'REGEXPS' => array(0 => 'color: #b100b1; font-weight: bold;',1 => 'color: #448844;',2 => 'color: #448888;')),'OOLANG' => false,'OBJECT_SPLITTERS' => array(),'URLS' => array(1 => 'http://www.ss64.com/nt/{FNAMEL}.html',2 => 'http://www.ss64.com/nt/{FNAMEL}.html',3 => 'http://www.ss64.com/nt/{FNAMEL}.html',4 => 'http://www.ss64.com/nt/{FNAMEL}.html'),'REGEXPS' => array(/* Label */0 => array(/* GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',GESHI_REPLACE => '\\2',GESHI_MODIFIERS => 'si',GESHI_BEFORE => '\\1',GESHI_AFTER => ''),/* Variable assignement */1 => array(/* GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\s\n]+)([\s]*=)',*/GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\n]+)([\s]*=)',GESHI_REPLACE => '\\2',GESHI_MODIFIERS => 'si',GESHI_BEFORE => '\\1',GESHI_AFTER => '\\3'),/* Arguments or variable evaluation */2 => array(/* GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/GESHI_SEARCH => '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((?<!%\d)%|)',GESHI_REPLACE => '\\2',GESHI_MODIFIERS => 'si',GESHI_BEFORE => '\\1',GESHI_AFTER => '\\3')),'STRICT_MODE_APPLIES' => GESHI_NEVER,'SCRIPT_DELIMITERS' => array(),'HIGHLIGHT_STRICT_BLOCK' => array(),'TAB_WIDTH' => 4,'PARSER_CONTROL' => array('KEYWORDS' => array(4 => array('DISALLOWED_BEFORE' => '(?<!\w)'))));?>