Creating repository for dokuwiki modifications for sudaraka.org
[sudaraka-org:dokuwiki-mods.git] / inc / geshi / bash.php
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.8.10
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         1 => array(
92             'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
93             'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time'
94             ),
95         2 => array(
96             'aclocal', 'aconnect', 'apachectl', 'apache2ctl', 'aplay', 'apm',
97             'apmsleep', 'apropos', 'apt-cache', 'apt-cdrom', 'apt-config',
98             'apt-file', 'apt-ftparchive', 'apt-get', 'apt-key', 'apt-listbugs',
99             'apt-listchanges', 'apt-mark', 'apt-mirror', 'apt-sortpkgs',
100             'apt-src', 'apticron', 'aptitude', 'aptsh', 'apxs', 'apxs2', 'ar',
101             'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader',
102             'automake', 'awk',
103
104             'apachectl start', 'apachectl stop', 'apachectl restart',
105             'apachectl graceful', 'apachectl graceful-stop',
106             'apachectl configtest', 'apachectl status', 'apachectl fullstatus',
107             'apachectl help', 'apache2ctl start', 'apache2ctl stop',
108             'apache2ctl restart', 'apache2ctl graceful',
109             'apache2ctl graceful-stop', 'apache2ctl configtest',
110             'apache2ctl status', 'apache2ctl fullstatus', 'apache2ctl help',
111
112             'apt-cache add', 'apt-cache depends', 'apt-cache dotty',
113             'apt-cache dump', 'apt-cache dumpavail', 'apt-cache gencaches',
114             'apt-cache pkgnames', 'apt-cache policy', 'apt-cache rdepends',
115             'apt-cache search', 'apt-cache show', 'apt-cache showauto',
116             'apt-cache showpkg', 'apt-cache showsrc', 'apt-cache stats',
117             'apt-cache unmet', 'apt-cache xvcg', 'apt-cdrom add',
118             'apt-cdrom ident', 'apt-config dump', 'apt-config shell',
119             'apt-file find', 'apt-file list', 'apt-file purge',
120             'apt-file search', 'apt-file shot', 'apt-file update',
121             'apt-get autoclean', 'apt-get autoremove', 'apt-get build-dep',
122             'apt-get check', 'apt-get clean', 'apt-get dist-upgrade',
123             'apt-get dselect-upgrade', 'apt-get install', 'apt-get markauto',
124             'apt-get purge', 'apt-get remove', 'apt-get source',
125             'apt-get unmarkauto', 'apt-get update', 'apt-get upgrade',
126             'apt-key add', 'apt-key adv', 'apt-key del', 'apt-key export',
127             'apt-key exportall', 'apt-key finger', 'apt-key list',
128             'apt-key net-update', 'apt-key update', 'apt-listbugs apt',
129             'apt-listbugs list', 'apt-listbugs rss', 'apt-src build',
130             'apt-src clean', 'apt-src import', 'apt-src install',
131             'apt-src list', 'apt-src location', 'apt-src name',
132             'apt-src remove', 'apt-src update', 'apt-src upgrade',
133             'apt-src version',
134
135             'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat',
136             'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep',
137             'bzip2', 'bzip2recover', 'bzless', 'bzmore',
138
139             'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
140             'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
141             'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
142             'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver',
143
144             'cvs add', 'cvs admin', 'cvs annotate', 'cvs checkout',
145             'cvs commit', 'cvs diff', 'cvs edit', 'cvs editors', 'cvs export',
146             'cvs history', 'cvs import', 'cvs init', 'cvs log', 'cvs login',
147             'cvs logout', 'cvs ls', 'cvs pserver', 'cvs rannotate',
148             'cvs rdiff', 'cvs release', 'cvs remove', 'cvs rlog', 'cvs rls',
149             'cvs rtag', 'cvs server', 'cvs status', 'cvs tag', 'cvs unedit',
150             'cvs update', 'cvs version', 'cvs watch', 'cvs watchers',
151
152             'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd',
153             'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh',
154             'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic',
155             'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg',
156             'dselect', 'du', 'dumpkeys',
157
158             'ed', 'egrep', 'env', 'expr',
159
160             'false', 'fbset', 'ffmpeg', 'fgconsole','fgrep', 'file', 'find',
161             'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser',
162
163             'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes',
164             'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
165             'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
166             'gzexe', 'gzip',
167
168             'git', 'git add', 'git add--interactive', 'git am', 'git annotate',
169             'git apply', 'git archive', 'git bisect', 'git bisect--helper',
170             'git blame', 'git branch', 'git bundle', 'git cat-file',
171             'git check-attr', 'git checkout', 'git checkout-index',
172             'git check-ref-format', 'git cherry', 'git cherry-pick',
173             'git clean', 'git clone', 'git commit', 'git commit-tree',
174             'git config', 'git count-objects', 'git daemon', 'git describe',
175             'git diff', 'git diff-files', 'git diff-index', 'git difftool',
176             'git difftool--helper', 'git diff-tree', 'git fast-export',
177             'git fast-import', 'git fetch', 'git fetch-pack',
178             'git filter-branch', 'git fmt-merge-msg', 'git for-each-ref',
179             'git format-patch', 'git fsck', 'git fsck-objects', 'git gc',
180             'git get-tar-commit-id', 'git grep', 'git hash-object', 'git help',
181             'git http-backend', 'git http-fetch', 'git http-push',
182             'git imap-send', 'git index-pack', 'git init', 'git init-db',
183             'git instaweb', 'git log', 'git lost-found', 'git ls-files',
184             'git ls-remote', 'git ls-tree', 'git mailinfo', 'git mailsplit',
185             'git merge', 'git merge-base', 'git merge-file', 'git merge-index',
186             'git merge-octopus', 'git merge-one-file', 'git merge-ours',
187             'git merge-recursive', 'git merge-resolve', 'git merge-subtree',
188             'git mergetool', 'git merge-tree', 'git mktag', 'git mktree',
189             'git mv', 'git name-rev', 'git notes', 'git pack-objects',
190             'git pack-redundant', 'git pack-refs', 'git patch-id',
191             'git peek-remote', 'git prune', 'git prune-packed', 'git pull',
192             'git push', 'git quiltimport', 'git read-tree', 'git rebase',
193             'git rebase--interactive', 'git receive-pack', 'git reflog',
194             'git relink', 'git remote', 'git remote-ftp', 'git remote-ftps',
195             'git remote-http', 'git remote-https', 'git remote-testgit',
196             'git repack', 'git replace', 'git repo-config', 'git request-pull',
197             'git rerere', 'git reset', 'git revert', 'git rev-list',
198             'git rev-parse', 'git rm', 'git send-pack', 'git shell',
199             'git shortlog', 'git show', 'git show-branch', 'git show-index',
200             'git show-ref', 'git stage', 'git stash', 'git status',
201             'git stripspace', 'git submodule', 'git symbolic-ref', 'git tag',
202             'git tar-tree', 'git unpack-file', 'git unpack-objects',
203             'git update-index', 'git update-ref', 'git update-server-info',
204             'git upload-archive', 'git upload-pack', 'git var',
205             'git verify-pack', 'git verify-tag', 'git web--browse',
206             'git whatchanged', 'git write-tree',
207
208             'gitaction', 'git-add', 'git-add--interactive', 'git-am',
209             'git-annotate', 'git-apply', 'git-archive', 'git-bisect',
210             'git-bisect--helper', 'git-blame', 'git-branch', 'git-bundle',
211             'git-cat-file', 'git-check-attr', 'git-checkout',
212             'git-checkout-index', 'git-check-ref-format', 'git-cherry',
213             'git-cherry-pick', 'git-clean', 'git-clone', 'git-commit',
214             'git-commit-tree', 'git-config', 'git-count-objects', 'git-daemon',
215             'git-describe', 'git-diff', 'git-diff-files', 'git-diff-index',
216             'git-difftool', 'git-difftool--helper', 'git-diff-tree',
217             'gitdpkgname', 'git-fast-export', 'git-fast-import', 'git-fetch',
218             'git-fetch-pack', 'git-fetch--tool', 'git-filter-branch', 'gitfm',
219             'git-fmt-merge-msg', 'git-for-each-ref', 'git-format-patch',
220             'git-fsck', 'git-fsck-objects', 'git-gc', 'git-get-tar-commit-id',
221             'git-grep', 'git-hash-object', 'git-help', 'git-http-fetch',
222             'git-http-push', 'git-imap-send', 'git-index-pack', 'git-init',
223             'git-init-db', 'git-instaweb', 'gitkeys', 'git-log',
224             'git-lost-found', 'git-ls-files', 'git-ls-remote', 'git-ls-tree',
225             'git-mailinfo', 'git-mailsplit', 'git-merge', 'git-merge-base',
226             'git-merge-file', 'git-merge-index', 'git-merge-octopus',
227             'git-merge-one-file', 'git-merge-ours', 'git-merge-recursive',
228             'git-merge-resolve', 'git-merge-subtree', 'git-mergetool',
229             'git-mergetool--lib', 'git-merge-tree', 'gitmkdirs', 'git-mktag',
230             'git-mktree', 'gitmount', 'git-mv', 'git-name-rev',
231             'git-pack-objects', 'git-pack-redundant', 'git-pack-refs',
232             'git-parse-remote', 'git-patch-id', 'git-peek-remote', 'git-prune',
233             'git-prune-packed', 'gitps', 'git-pull', 'git-push',
234             'git-quiltimport', 'git-read-tree', 'git-rebase',
235             'git-rebase--interactive', 'git-receive-pack', 'git-reflog',
236             'gitregrep', 'git-relink', 'git-remote', 'git-repack',
237             'git-repo-config', 'git-request-pull', 'git-rerere', 'git-reset',
238             'git-revert', 'git-rev-list', 'git-rev-parse', 'gitrfgrep',
239             'gitrgrep', 'git-rm', 'git-send-pack', 'git-shell', 'git-shortlog',
240             'git-show', 'git-show-branch', 'git-show-index', 'git-show-ref',
241             'git-sh-setup', 'git-stage', 'git-stash', 'git-status',
242             'git-stripspace', 'git-submodule', 'git-svn', 'git-symbolic-ref',
243             'git-tag', 'git-tar-tree', 'gitunpack', 'git-unpack-file',
244             'git-unpack-objects', 'git-update-index', 'git-update-ref',
245             'git-update-server-info', 'git-upload-archive', 'git-upload-pack',
246             'git-var', 'git-verify-pack', 'git-verify-tag', 'gitview',
247             'git-web--browse', 'git-whatchanged', 'gitwhich', 'gitwipe',
248             'git-write-tree', 'gitxgrep',
249
250             'head', 'hexdump', 'hostname',
251
252             'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install',
253
254             'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute',
255             'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm',
256
257             'join',
258
259             'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
260
261             'lame', 'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link',
262             'ln', 'loadkeys', 'loadunimap', 'locate', 'lockfile', 'login',
263             'logname', 'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old',
264             'lspci', 'ltrace', 'lynx',
265
266             'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo',
267             'mknod', 'mktemp', 'more', 'mount', 'mplayer', 'msgfmt', 'mv',
268
269             'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
270             'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
271
272             'od', 'openvt',
273
274             'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror',
275             'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree',
276             'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook',
277             'psmerge', 'psnup', 'psresize', 'psselect', 'pstops',
278
279             'rbash', 'rcs', 'rcs2log', 'read', 'readlink', 'red', 'resizecons',
280             'rev', 'rm', 'rmdir', 'rsh', 'run-parts',
281
282             'sash', 'scp', 'screen', 'sed', 'seq', 'sendmail', 'setfont',
283             'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm',
284             'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep',
285             'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
286             'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strace',
287             'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn',
288             'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc',
289             'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync',
290
291             'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat',
292             'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup',
293             'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del',
294             'svn delete', 'svn di', 'svn diff', 'svn export', 'svn h',
295             'svn help', 'svn import', 'svn info', 'svn list', 'svn lock',
296             'svn log', 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir',
297             'svn move', 'svn mv', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit',
298             'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise',
299             'svn propdel', 'svn propedit', 'svn propget', 'svn proplist',
300             'svn propset', 'svn ps', 'svn pset', 'svn remove', 'svn ren',
301             'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm',
302             'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch',
303             'svn unlock', 'svn up', 'svn update',
304
305             'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree',
306             'true',
307
308             'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
309             'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
310             'utmpdump', 'uuidgen',
311
312             'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
313
314             'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis',
315             'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot',
316             'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump',
317             'winefile', 'wodim', 'write',
318
319             'xargs', 'xhost', 'xmodmap', 'xset',
320
321             'yacc', 'yes', 'ypdomainname', 'yum',
322
323             'yum check-update', 'yum clean', 'yum deplist', 'yum erase',
324             'yum groupinfo', 'yum groupinstall', 'yum grouplist',
325             'yum groupremove', 'yum groupupdate', 'yum info', 'yum install',
326             'yum list', 'yum localinstall', 'yum localupdate', 'yum makecache',
327             'yum provides', 'yum remove', 'yum resolvedep', 'yum search',
328             'yum shell', 'yum update', 'yum upgrade', 'yum whatprovides',
329
330             'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce',
331             'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew',
332             'zsh', 'zsoelim'
333             ),
334         3 => array(
335             'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command',
336             'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown',
337             'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
338             'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'let',
339             'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly',
340             'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times',
341             'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset',
342             'wait'
343             )
344         ),
345     'SYMBOLS' => array(
346         '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'
347         ),
348     'CASE_SENSITIVE' => array(
349         GESHI_COMMENTS => false,
350         1 => true,
351         2 => true,
352         3 => true
353         ),
354     'STYLES' => array(
355         'KEYWORDS' => array(
356             1 => 'color: #000000; font-weight: bold;',
357             2 => 'color: #c20cb9; font-weight: bold;',
358             3 => 'color: #7a0874; font-weight: bold;'
359             ),
360         'COMMENTS' => array(
361             0 => 'color: #666666; font-style: italic;',
362             1 => 'color: #800000;',
363             2 => 'color: #cc0000; font-style: italic;',
364             3 => 'color: #000000; font-weight: bold;',
365             4 => 'color: #666666;'
366             ),
367         'ESCAPE_CHAR' => array(
368             1 => 'color: #000099; font-weight: bold;',
369             2 => 'color: #007800;',
370             3 => 'color: #007800;',
371             4 => 'color: #007800;',
372             5 => 'color: #780078;',
373             'HARD' => 'color: #000099; font-weight: bold;'
374             ),
375         'BRACKETS' => array(
376             0 => 'color: #7a0874; font-weight: bold;'
377             ),
378         'STRINGS' => array(
379             0 => 'color: #ff0000;',
380             'HARD' => 'color: #ff0000;'
381             ),
382         'NUMBERS' => array(
383             0 => 'color: #000000;'
384             ),
385         'METHODS' => array(
386             ),
387         'SYMBOLS' => array(
388             0 => 'color: #000000; font-weight: bold;'
389             ),
390         'REGEXPS' => array(
391             0 => 'color: #007800;',
392             1 => 'color: #007800;',
393             2 => 'color: #007800;',
394             4 => 'color: #007800;',
395             5 => 'color: #660033;'
396             ),
397         'SCRIPT' => array(
398             )
399         ),
400     'URLS' => array(
401         1 => '',
402         2 => '',
403         3 => ''
404         ),
405     'OOLANG' => false,
406     'OBJECT_SPLITTERS' => array(
407         ),
408     'REGEXPS' => array(
409         //Variables (will be handled by comment_regexps)
410         0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
411         //Variables without braces
412         1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
413         //Variable assignment
414         2 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
415         //Shorthand shell variables
416         4 => "\\$[*#\$\\-\\?!\d]",
417         //Parameters of commands
418         5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)"
419         ),
420     'STRICT_MODE_APPLIES' => GESHI_NEVER,
421     'SCRIPT_DELIMITERS' => array(
422         ),
423     'HIGHLIGHT_STRICT_BLOCK' => array(
424         ),
425     'TAB_WIDTH' => 4,
426     'PARSER_CONTROL' => array(
427         'COMMENTS' => array(
428             'DISALLOWED_BEFORE' => '$'
429         ),
430         'KEYWORDS' => array(
431             'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#:])",
432             'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%=\\/:])",
433             2 => array(
434                 'SPACE_AS_WHITESPACE' => false
435                 )
436             )
437         )
438 );
439
440 ?>