KXStudio Website https://kx.studio/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

440 lines
21KB

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