[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> bash.php (source)

   1  <?php
   2  /*************************************************************************************
   3   * bash.php
   4   * --------
   5   * Author: Andreas Gohr (andi@splitbrain.org)
   6   * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
   7   * Release Version: 1.0.9.1
   8   * Date Started: 2004/08/20
   9   *
  10   * BASH language file for GeSHi.
  11   *
  12   * CHANGES
  13   * -------
  14   * 2008/06/21 (1.0.8)
  15   *  -  Added loads of keywords and commands of GNU/Linux
  16   *  -  Added support for parameters starting with a dash
  17   * 2008/05/23 (1.0.7.22)
  18   *  -  Added description of extra language features (SF#1970248)
  19   * 2007/09/05 (1.0.7.21)
  20   *  -  PARSER_CONTROL patch using SF #1788408 (BenBE)
  21   * 2007/06/11 (1.0.7.20)
  22   *  -  Added a lot of keywords (BenBE / Jan G)
  23   * 2004/11/27 (1.0.2)
  24   *  -  Added support for multiple object splitters
  25   * 2004/10/27 (1.0.1)
  26   *   -  Added support for URLs
  27   * 2004/08/20 (1.0.0)
  28   *   -  First Release
  29   *
  30   * TODO (updated 2004/11/27)
  31   * -------------------------
  32   * * Get symbols working
  33   * * Highlight builtin vars
  34   *
  35   *************************************************************************************
  36   *
  37   *     This file is part of GeSHi.
  38   *
  39   *   GeSHi is free software; you can redistribute it and/or modify
  40   *   it under the terms of the GNU General Public License as published by
  41   *   the Free Software Foundation; either version 2 of the License, or
  42   *   (at your option) any later version.
  43   *
  44   *   GeSHi is distributed in the hope that it will be useful,
  45   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  46   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  47   *   GNU General Public License for more details.
  48   *
  49   *   You should have received a copy of the GNU General Public License
  50   *   along with GeSHi; if not, write to the Free Software
  51   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  52   *
  53   ************************************************************************************/
  54  
  55  $language_data = array (
  56      'LANG_NAME' => 'Bash',
  57      // Bash DOES have single line comments with # markers. But bash also has
  58      // the  $# variable, so comments need special handling (see sf.net
  59      // 1564839)
  60      'COMMENT_SINGLE' => array('#'),
  61      'COMMENT_MULTI' => array(),
  62      'COMMENT_REGEXP' => array(
  63          //Variables
  64          1 => "/\\$\\{[^\\n\\}]*?\\}/i",
  65          //BASH-style Heredoc
  66          2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
  67          //Escaped String Starters
  68          3 => "/\\\\['\"]/siU",
  69          // Single-Line Shell usage: Hide the prompt at the beginning
  70          /* 4 => "/\A(?!#!)\s*(?>[\w:@\\/\\-\\._~]*[$#]\s?)?(?=[^\n]+\n?\Z)|^(?!#!)(\w+@)?[\w\\-\\.]+(:~?)[\w\\/\\-\\._]*?[$#]\s?/ms" */
  71          4 => "/\A(?!#!)(?:(?>[\w:@\\/\\-\\._~]*)[$#]\s?)(?=(?>[^\n]+)\n?\Z)|^(?!#!)(?:\w+@)?(?>[\w\\-\\.]+)(?>:~?[\w\\/\\-\\._]*?)?[$#]\s?/sm"
  72          ),
  73      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  74      'QUOTEMARKS' => array('"'),
  75      'HARDQUOTE' => array("'", "'"),
  76      'HARDESCAPE' => array("\'"),
  77      'ESCAPE_CHAR' => '',
  78      'ESCAPE_REGEXP' => array(
  79          //Simple Single Char Escapes
  80          1 => "#\\\\[nfrtv\\$\\\"\n]#i",
  81          // $var
  82          2 => "#\\$[a-z_][a-z0-9_]*#i",
  83          // ${...}
  84          3 => "/\\$\\{[^\\n\\}]*?\\}/i",
  85          // $(...)
  86          4 => "/\\$\\([^\\n\\)]*?\\)/i",
  87          // `...`
  88          5 => "/`[^`]*`/"
  89          ),
  90      'KEYWORDS' => array(
  91          // Control flow keywords and super-important builtins
  92          1 => array(
  93              'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
  94              'if', 'in', 'select', 'set', 'then', 'time', 'until', 'while'
  95              ),
  96          // Common Unix commands
  97          2 => array(
  98              'aclocal', 'aconnect', 'apachectl', 'apache2ctl', 'aplay', 'apm',
  99              'apmsleep', 'apropos', 'apt-cache', 'apt-cdrom', 'apt-config',
 100              'apt-file', 'apt-ftparchive', 'apt-get', 'apt-key', 'apt-listbugs',
 101              'apt-listchanges', 'apt-mark', 'apt-mirror', 'apt-sortpkgs',
 102              'apt-src', 'apticron', 'aptitude', 'aptsh', 'apxs', 'apxs2', 'ar',
 103              'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader',
 104              'automake', 'awk',
 105  
 106              'apachectl start', 'apachectl stop', 'apachectl restart',
 107              'apachectl graceful', 'apachectl graceful-stop',
 108              'apachectl configtest', 'apachectl status', 'apachectl fullstatus',
 109              'apachectl help', 'apache2ctl start', 'apache2ctl stop',
 110              'apache2ctl restart', 'apache2ctl graceful',
 111              'apache2ctl graceful-stop', 'apache2ctl configtest',
 112              'apache2ctl status', 'apache2ctl fullstatus', 'apache2ctl help',
 113  
 114              'apt-cache add', 'apt-cache depends', 'apt-cache dotty',
 115              'apt-cache dump', 'apt-cache dumpavail', 'apt-cache gencaches',
 116              'apt-cache pkgnames', 'apt-cache policy', 'apt-cache rdepends',
 117              'apt-cache search', 'apt-cache show', 'apt-cache showauto',
 118              'apt-cache showpkg', 'apt-cache showsrc', 'apt-cache stats',
 119              'apt-cache unmet', 'apt-cache xvcg', 'apt-cdrom add',
 120              'apt-cdrom ident', 'apt-config dump', 'apt-config shell',
 121              'apt-file find', 'apt-file list', 'apt-file purge',
 122              'apt-file search', 'apt-file shot', 'apt-file update',
 123              'apt-get autoclean', 'apt-get autoremove', 'apt-get build-dep',
 124              'apt-get check', 'apt-get clean', 'apt-get dist-upgrade',
 125              'apt-get dselect-upgrade', 'apt-get install', 'apt-get markauto',
 126              'apt-get purge', 'apt-get remove', 'apt-get source',
 127              'apt-get unmarkauto', 'apt-get update', 'apt-get upgrade',
 128              'apt-key add', 'apt-key adv', 'apt-key del', 'apt-key export',
 129              'apt-key exportall', 'apt-key finger', 'apt-key list',
 130              'apt-key net-update', 'apt-key update', 'apt-listbugs apt',
 131              'apt-listbugs list', 'apt-listbugs rss', 'apt-src build',
 132              'apt-src clean', 'apt-src import', 'apt-src install',
 133              'apt-src list', 'apt-src location', 'apt-src name',
 134              'apt-src remove', 'apt-src update', 'apt-src upgrade',
 135              'apt-src version',
 136  
 137              'aptitude autoclean', 'aptitude build-dep', 'aptitude changelog',
 138              'aptitude clean', 'aptitude download', 'aptitude forbid-version',
 139              'aptitude forget-new', 'aptitude full-upgrade', 'aptitude hold',
 140              'aptitude install', 'aptitude markauto', 'aptitude purge',
 141              'aptitude reinstall', 'aptitude remove', 'aptitude safe-upgrade',
 142              'aptitude search', 'aptitude show', 'aptitude unhold',
 143              'aptitude unmarkauto', 'aptitude update', 'aptitude versions',
 144              'aptitude why', 'aptitude why-not',
 145  
 146              'basename', 'bash', 'batctl', 'bc', 'bison', 'bunzip2', 'bzcat',
 147              'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep',
 148              'bzip2', 'bzip2recover', 'bzless', 'bzmore',
 149  
 150              'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
 151              'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
 152              'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
 153              'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver',
 154  
 155              'cvs add', 'cvs admin', 'cvs annotate', 'cvs checkout',
 156              'cvs commit', 'cvs diff', 'cvs edit', 'cvs editors', 'cvs export',
 157              'cvs history', 'cvs import', 'cvs init', 'cvs log', 'cvs login',
 158              'cvs logout', 'cvs ls', 'cvs pserver', 'cvs rannotate',
 159              'cvs rdiff', 'cvs release', 'cvs remove', 'cvs rlog', 'cvs rls',
 160              'cvs rtag', 'cvs server', 'cvs status', 'cvs tag', 'cvs unedit',
 161              'cvs update', 'cvs version', 'cvs watch', 'cvs watchers',
 162  
 163              'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd',
 164              'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh',
 165              'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic',
 166              'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg',
 167              'dselect', 'du', 'dumpkeys',
 168  
 169              'ed', 'egrep', 'env', 'expr',
 170  
 171              'false', 'fbset', 'fdisk', 'ffmpeg', 'fgconsole','fgrep', 'file',
 172              'find', 'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser',
 173  
 174              'g++', 'gawk', 'gc','gcc', 'gdb', 'gdisk', 'getent', 'getkeycodes',
 175              'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
 176              'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
 177              'gzexe', 'gzip',
 178  
 179              'git', 'git add', 'git add--interactive', 'git am', 'git annotate',
 180              'git apply', 'git archive', 'git bisect', 'git bisect--helper',
 181              'git blame', 'git branch', 'git bundle', 'git cat-file',
 182              'git check-attr', 'git checkout', 'git checkout-index',
 183              'git check-ref-format', 'git cherry', 'git cherry-pick',
 184              'git clean', 'git clone', 'git commit', 'git commit-tree',
 185              'git config', 'git count-objects', 'git daemon', 'git describe',
 186              'git diff', 'git diff-files', 'git diff-index', 'git difftool',
 187              'git difftool--helper', 'git diff-tree', 'git fast-export',
 188              'git fast-import', 'git fetch', 'git fetch-pack',
 189              'git filter-branch', 'git fmt-merge-msg', 'git for-each-ref',
 190              'git format-patch', 'git fsck', 'git fsck-objects', 'git gc', 'git gui',
 191              'git get-tar-commit-id', 'git grep', 'git hash-object', 'git help',
 192              'git http-backend', 'git http-fetch', 'git http-push',
 193              'git imap-send', 'git index-pack', 'git init', 'git init-db',
 194              'git instaweb', 'git log', 'git lost-found', 'git ls-files',
 195              'git ls-remote', 'git ls-tree', 'git mailinfo', 'git mailsplit',
 196              'git merge', 'git merge-base', 'git merge-file', 'git merge-index',
 197              'git merge-octopus', 'git merge-one-file', 'git merge-ours',
 198              'git merge-recursive', 'git merge-resolve', 'git merge-subtree',
 199              'git mergetool', 'git merge-tree', 'git mktag', 'git mktree',
 200              'git mv', 'git name-rev', 'git notes', 'git pack-objects',
 201              'git pack-redundant', 'git pack-refs', 'git patch-id',
 202              'git peek-remote', 'git prune', 'git prune-packed', 'git pull',
 203              'git push', 'git quiltimport', 'git read-tree', 'git rebase',
 204              'git rebase--interactive', 'git receive-pack', 'git reflog',
 205              'git relink', 'git remote', 'git remote-ftp', 'git remote-ftps',
 206              'git remote-http', 'git remote-https', 'git remote-testgit',
 207              'git repack', 'git replace', 'git repo-config', 'git request-pull',
 208              'git rerere', 'git reset', 'git revert', 'git rev-list',
 209              'git rev-parse', 'git rm', 'git send-pack', 'git shell',
 210              'git shortlog', 'git show', 'git show-branch', 'git show-index',
 211              'git show-ref', 'git stage', 'git stash', 'git status',
 212              'git stripspace', 'git submodule', 'git symbolic-ref', 'git tag',
 213              'git tar-tree', 'git unpack-file', 'git unpack-objects',
 214              'git update-index', 'git update-ref', 'git update-server-info',
 215              'git upload-archive', 'git upload-pack', 'git var',
 216              'git verify-pack', 'git verify-tag', 'git web--browse',
 217              'git whatchanged', 'git write-tree',
 218  
 219              'gitaction', 'git-add', 'git-add--interactive', 'git-am',
 220              'git-annotate', 'git-apply', 'git-archive', 'git-bisect',
 221              'git-bisect--helper', 'git-blame', 'git-branch', 'git-bundle',
 222              'git-cat-file', 'git-check-attr', 'git-checkout',
 223              'git-checkout-index', 'git-check-ref-format', 'git-cherry',
 224              'git-cherry-pick', 'git-clean', 'git-clone', 'git-commit',
 225              'git-commit-tree', 'git-config', 'git-count-objects', 'git-daemon',
 226              'git-describe', 'git-diff', 'git-diff-files', 'git-diff-index',
 227              'git-difftool', 'git-difftool--helper', 'git-diff-tree',
 228              'gitdpkgname', 'git-fast-export', 'git-fast-import', 'git-fetch',
 229              'git-fetch-pack', 'git-fetch--tool', 'git-filter-branch', 'gitfm',
 230              'git-fmt-merge-msg', 'git-for-each-ref', 'git-format-patch',
 231              'git-fsck', 'git-fsck-objects', 'git-gc', 'git-get-tar-commit-id',
 232              'git-grep', 'git-hash-object', 'git-help', 'git-http-fetch',
 233              'git-http-push', 'git-imap-send', 'git-index-pack', 'git-init',
 234              'git-init-db', 'git-instaweb', 'gitkeys', 'git-log',
 235              'git-lost-found', 'git-ls-files', 'git-ls-remote', 'git-ls-tree',
 236              'git-mailinfo', 'git-mailsplit', 'git-merge', 'git-merge-base',
 237              'git-merge-file', 'git-merge-index', 'git-merge-octopus',
 238              'git-merge-one-file', 'git-merge-ours', 'git-merge-recursive',
 239              'git-merge-resolve', 'git-merge-subtree', 'git-mergetool',
 240              'git-mergetool--lib', 'git-merge-tree', 'gitmkdirs', 'git-mktag',
 241              'git-mktree', 'gitmount', 'git-mv', 'git-name-rev',
 242              'git-pack-objects', 'git-pack-redundant', 'git-pack-refs',
 243              'git-parse-remote', 'git-patch-id', 'git-peek-remote', 'git-prune',
 244              'git-prune-packed', 'gitps', 'git-pull', 'git-push',
 245              'git-quiltimport', 'git-read-tree', 'git-rebase',
 246              'git-rebase--interactive', 'git-receive-pack', 'git-reflog',
 247              'gitregrep', 'git-relink', 'git-remote', 'git-repack',
 248              'git-repo-config', 'git-request-pull', 'git-rerere', 'git-reset',
 249              'git-revert', 'git-rev-list', 'git-rev-parse', 'gitrfgrep',
 250              'gitrgrep', 'git-rm', 'git-send-pack', 'git-shell', 'git-shortlog',
 251              'git-show', 'git-show-branch', 'git-show-index', 'git-show-ref',
 252              'git-sh-setup', 'git-stage', 'git-stash', 'git-status',
 253              'git-stripspace', 'git-submodule', 'git-svn', 'git-symbolic-ref',
 254              'git-tag', 'git-tar-tree', 'gitunpack', 'git-unpack-file',
 255              'git-unpack-objects', 'git-update-index', 'git-update-ref',
 256              'git-update-server-info', 'git-upload-archive', 'git-upload-pack',
 257              'git-var', 'git-verify-pack', 'git-verify-tag', 'gitview',
 258              'git-web--browse', 'git-whatchanged', 'gitwhich', 'gitwipe',
 259              'git-write-tree', 'gitxgrep',
 260  
 261              'head', 'hexdump', 'hostname', 'htop',
 262  
 263              'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install',
 264  
 265              'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute',
 266              'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm',
 267  
 268              'jar', 'java', 'javac', 'join',
 269  
 270              'kbd_mode','kbdrate', 'kdialog', 'kfile', 'killall',
 271  
 272              'lame', 'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link',
 273              'ln', 'loadkeys', 'loadunimap', 'locate', 'lockfile', 'login',
 274              'logname', 'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old',
 275              'lspci', 'ltrace', 'lynx',
 276  
 277              'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo',
 278              'mknod', 'mktemp', 'more', 'mount', 'mplayer', 'msgfmt', 'mv',
 279  
 280              'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
 281              'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
 282  
 283              'od', 'openvt',
 284  
 285              'passwd', 'patch', 'pbzip2', 'pcregrep', 'pcretest', 'perl',
 286              'perror', 'pgawk', 'pidof', 'pigz', 'ping', 'pr', 'procmail',
 287              'prune', 'ps', 'pstree', 'ps2ascii', 'ps2epsi', 'ps2frag',
 288              'ps2pdf', 'ps2ps', 'psbook', 'psmerge', 'psnup', 'psresize',
 289              'psselect', 'pstops',
 290  
 291              'rbash', 'rcs', 'rcs2log', 'readlink', 'red', 'resizecons',
 292              'rev', 'rm', 'rmdir', 'rsh', 'run-parts',
 293  
 294              'sash', 'scp', 'screen', 'sed', 'seq', 'sendmail', 'setfont',
 295              'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm',
 296              'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep',
 297              'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
 298              'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'sshfs', 'stat', 'strace',
 299              'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn',
 300              'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc',
 301              'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync',
 302  
 303              'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat',
 304              'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup',
 305              'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del',
 306              'svn delete', 'svn di', 'svn diff', 'svn export', 'svn help',
 307              'svn import', 'svn info', 'svn list', 'svn lock', 'svn log',
 308              'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir', 'svn move',
 309              'svn mv', 'svn patch', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit',
 310              'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise',
 311              'svn propdel', 'svn propedit', 'svn propget', 'svn proplist',
 312              'svn propset', 'svn ps', 'svn pset', 'svn relocate', 'svn remove',
 313              'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm',
 314              'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch',
 315              'svn unlock', 'svn up', 'svn update', 'svn upgrade',
 316  
 317              'svnadmin crashtest', 'svnadmin create', 'svnadmin deltify',
 318              'svnadmin dump', 'svnadmin help', 'svnadmin hotcopy',
 319              'svnadmin list-dblogs', 'svnadmin list-unused-dblogs',
 320              'svnadmin load', 'svnadmin lslocks', 'svnadmin lstxns',
 321              'svnadmin pack', 'svnadmin recover', 'svnadmin rmlocks',
 322              'svnadmin rmtxns', 'svnadmin setlog', 'svnadmin setrevprop',
 323              'svnadmin setuuid', 'svnadmin upgrade', 'svnadmin verify',
 324  
 325              'svndumpfilter exclude', 'svndumpfilter help',
 326              'svndumpfilter include',
 327  
 328              'svnlook author', 'svnlook cat', 'svnlook changed', 'svnlook date',
 329              'svnlook diff', 'svnlook dirs-changed', 'svnlook filesize',
 330              'svnlook help', 'svnlook history', 'svnlook info', 'svnlook lock',
 331              'svnlook log', 'svnlook pg', 'svnlook pget', 'svnlook pl',
 332              'svnlook plist', 'svnlook propget', 'svnlook proplist',
 333              'svnlook tree', 'svnlook uuid', 'svnlook youngest',
 334  
 335              'svnrdump dump', 'svnrdump help', 'svnrdump load',
 336  
 337              'svnsync copy-revprops', 'svnsync help', 'svnsync info',
 338              'svnsync init', 'svnsync initialize', 'svnsync sync',
 339              'svnsync synchronize',
 340  
 341              'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree',
 342              'true',
 343  
 344              'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
 345              'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
 346              'utmpdump', 'uuidgen',
 347  
 348              'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
 349  
 350              'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis',
 351              'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot',
 352              'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump',
 353              'winefile', 'wodim', 'write',
 354  
 355              'xargs', 'xhost', 'xmodmap', 'xset',
 356  
 357              'yacc', 'yes', 'ypdomainname', 'yum',
 358  
 359              'yum check-update', 'yum clean', 'yum deplist', 'yum erase',
 360              'yum groupinfo', 'yum groupinstall', 'yum grouplist',
 361              'yum groupremove', 'yum groupupdate', 'yum info', 'yum install',
 362              'yum list', 'yum localinstall', 'yum localupdate', 'yum makecache',
 363              'yum provides', 'yum remove', 'yum resolvedep', 'yum search',
 364              'yum shell', 'yum update', 'yum upgrade', 'yum whatprovides',
 365  
 366              'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce',
 367              'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew',
 368              'zsh', 'zsoelim'
 369              ),
 370          // Builtin commands
 371          3 => array(
 372              'alias', 'bg', 'bind', 'break', 'builtin', 'caller', 'cd', 'command',
 373              'compgen', 'complete', 'compopt', 'continue', 'coproc', 'declare', 'dirs', 'disown',
 374              'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
 375              'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'kill', 'let',
 376              'local', 'logout', 'mapfile', 'popd', 'printf', 'pushd', 'pwd', 'read',
 377              'readarray', 'readonly', 'return', 'shift', 'shopt', 'source',
 378              'suspend', 'test', 'times', 'trap', 'type', 'typeset', 'ulimit',
 379              'umask', 'unalias', 'unset', 'wait'
 380              )
 381          ),
 382      'SYMBOLS' => array(
 383          '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'
 384          ),
 385      'CASE_SENSITIVE' => array(
 386          GESHI_COMMENTS => false,
 387          1 => true,
 388          2 => true,
 389          3 => true
 390          ),
 391      'STYLES' => array(
 392          'KEYWORDS' => array(
 393              1 => 'color: #000000; font-weight: bold;',
 394              2 => 'color: #c20cb9; font-weight: bold;',
 395              3 => 'color: #7a0874; font-weight: bold;'
 396              ),
 397          'COMMENTS' => array(
 398              0 => 'color: #666666; font-style: italic;',
 399              1 => 'color: #800000;',
 400              2 => 'color: #cc0000; font-style: italic;',
 401              3 => 'color: #000000; font-weight: bold;',
 402              4 => 'color: #666666;'
 403              ),
 404          'ESCAPE_CHAR' => array(
 405              1 => 'color: #000099; font-weight: bold;',
 406              2 => 'color: #007800;',
 407              3 => 'color: #007800;',
 408              4 => 'color: #007800;',
 409              5 => 'color: #780078;',
 410              'HARD' => 'color: #000099; font-weight: bold;'
 411              ),
 412          'BRACKETS' => array(
 413              0 => 'color: #7a0874; font-weight: bold;'
 414              ),
 415          'STRINGS' => array(
 416              0 => 'color: #ff0000;',
 417              'HARD' => 'color: #ff0000;'
 418              ),
 419          'NUMBERS' => array(
 420              0 => 'color: #000000;'
 421              ),
 422          'METHODS' => array(
 423              ),
 424          'SYMBOLS' => array(
 425              0 => 'color: #000000; font-weight: bold;'
 426              ),
 427          'REGEXPS' => array(
 428              0 => 'color: #007800;',
 429              1 => 'color: #007800;',
 430              2 => 'color: #007800;',
 431              4 => 'color: #007800;',
 432              5 => 'color: #660033;'
 433              ),
 434          'SCRIPT' => array(
 435              )
 436          ),
 437      'URLS' => array(
 438          1 => '',
 439          2 => '',
 440          3 => ''
 441          ),
 442      'OOLANG' => false,
 443      'OBJECT_SPLITTERS' => array(
 444          ),
 445      'REGEXPS' => array(
 446          //Variables (will be handled by comment_regexps)
 447          0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
 448          //Variables without braces
 449          1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
 450          //Variable assignment
 451          2 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
 452          //Shorthand shell variables
 453          4 => "\\$[*#\$\\-\\?!\d]",
 454          //Parameters of commands
 455          5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)"
 456          ),
 457      'STRICT_MODE_APPLIES' => GESHI_NEVER,
 458      'SCRIPT_DELIMITERS' => array(
 459          ),
 460      'HIGHLIGHT_STRICT_BLOCK' => array(
 461          ),
 462      'TAB_WIDTH' => 4,
 463      'PARSER_CONTROL' => array(
 464          'COMMENTS' => array(
 465              'DISALLOWED_BEFORE' => '$'
 466          ),
 467          'KEYWORDS' => array(
 468              'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#:])",
 469              'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%=\\/:])",
 470              2 => array(
 471                  'SPACE_AS_WHITESPACE' => false
 472                  )
 473              )
 474          )
 475  );