| 1 | /** |
|---|
| 2 | * SyntaxHighlighter |
|---|
| 3 | * http://alexgorbatchev.com/SyntaxHighlighter |
|---|
| 4 | * |
|---|
| 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. |
|---|
| 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html |
|---|
| 7 | * |
|---|
| 8 | * @version |
|---|
| 9 | * 3.0.83 (July 02 2010) |
|---|
| 10 | * |
|---|
| 11 | * @copyright |
|---|
| 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. |
|---|
| 13 | * |
|---|
| 14 | * @license |
|---|
| 15 | * Dual licensed under the MIT and GPL licenses. |
|---|
| 16 | */ |
|---|
| 17 | ;(function() |
|---|
| 18 | { |
|---|
| 19 | // CommonJS |
|---|
| 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; |
|---|
| 21 | |
|---|
| 22 | function Brush() |
|---|
| 23 | { |
|---|
| 24 | // Contributed by David Simmons-Duffin and Marty Kube |
|---|
| 25 | |
|---|
| 26 | var funcs = |
|---|
| 27 | 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + |
|---|
| 28 | 'chroot close closedir connect cos crypt defined delete each endgrent ' + |
|---|
| 29 | 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + |
|---|
| 30 | 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + |
|---|
| 31 | 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + |
|---|
| 32 | 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + |
|---|
| 33 | 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + |
|---|
| 34 | 'getservbyname getservbyport getservent getsockname getsockopt glob ' + |
|---|
| 35 | 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + |
|---|
| 36 | 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + |
|---|
| 37 | 'oct open opendir ord pack pipe pop pos print printf prototype push ' + |
|---|
| 38 | 'quotemeta rand read readdir readline readlink readpipe recv rename ' + |
|---|
| 39 | 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + |
|---|
| 40 | 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + |
|---|
| 41 | 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + |
|---|
| 42 | 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + |
|---|
| 43 | 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + |
|---|
| 44 | 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + |
|---|
| 45 | 'undef unlink unpack unshift utime values vec wait waitpid warn write'; |
|---|
| 46 | |
|---|
| 47 | var keywords = |
|---|
| 48 | 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' + |
|---|
| 49 | 'for foreach goto if import last local my next no our package redo ref ' + |
|---|
| 50 | 'require return sub tie tied unless untie until use wantarray while'; |
|---|
| 51 | |
|---|
| 52 | this.regexList = [ |
|---|
| 53 | { regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' }, |
|---|
| 54 | { regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang |
|---|
| 55 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, |
|---|
| 56 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, |
|---|
| 57 | { regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' }, |
|---|
| 58 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, |
|---|
| 59 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } |
|---|
| 60 | ]; |
|---|
| 61 | |
|---|
| 62 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); |
|---|
| 63 | } |
|---|
| 64 | |
|---|
| 65 | Brush.prototype = new SyntaxHighlighter.Highlighter(); |
|---|
| 66 | Brush.aliases = ['perl', 'Perl', 'pl']; |
|---|
| 67 | |
|---|
| 68 | SyntaxHighlighter.brushes.Perl = Brush; |
|---|
| 69 | |
|---|
| 70 | // CommonJS |
|---|
| 71 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; |
|---|
| 72 | })(); |
|---|