mirror of
https://github.com/silverstripe/silverstripe-docsviewer
synced 2024-10-22 11:05:56 +02:00
73 lines
3.1 KiB
JavaScript
73 lines
3.1 KiB
JavaScript
|
/**
|
||
|
* SyntaxHighlighter
|
||
|
* http://alexgorbatchev.com/SyntaxHighlighter
|
||
|
*
|
||
|
* SyntaxHighlighter is donationware. If you are using it, please donate.
|
||
|
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
|
||
|
*
|
||
|
* @version
|
||
|
* 3.0.83 (July 02 2010)
|
||
|
*
|
||
|
* @copyright
|
||
|
* Copyright (C) 2004-2010 Alex Gorbatchev.
|
||
|
*
|
||
|
* @license
|
||
|
* Dual licensed under the MIT and GPL licenses.
|
||
|
*/
|
||
|
;(function()
|
||
|
{
|
||
|
// CommonJS
|
||
|
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
||
|
|
||
|
function Brush()
|
||
|
{
|
||
|
// Contributed by David Simmons-Duffin and Marty Kube
|
||
|
|
||
|
var funcs =
|
||
|
'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' +
|
||
|
'chroot close closedir connect cos crypt defined delete each endgrent ' +
|
||
|
'endhostent endnetent endprotoent endpwent endservent eof exec exists ' +
|
||
|
'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' +
|
||
|
'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' +
|
||
|
'getnetbyname getnetent getpeername getpgrp getppid getpriority ' +
|
||
|
'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' +
|
||
|
'getservbyname getservbyport getservent getsockname getsockopt glob ' +
|
||
|
'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' +
|
||
|
'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' +
|
||
|
'oct open opendir ord pack pipe pop pos print printf prototype push ' +
|
||
|
'quotemeta rand read readdir readline readlink readpipe recv rename ' +
|
||
|
'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' +
|
||
|
'semget semop send setgrent sethostent setnetent setpgrp setpriority ' +
|
||
|
'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' +
|
||
|
'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' +
|
||
|
'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' +
|
||
|
'system syswrite tell telldir time times tr truncate uc ucfirst umask ' +
|
||
|
'undef unlink unpack unshift utime values vec wait waitpid warn write';
|
||
|
|
||
|
var keywords =
|
||
|
'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' +
|
||
|
'for foreach goto if import last local my next no our package redo ref ' +
|
||
|
'require return sub tie tied unless untie until use wantarray while';
|
||
|
|
||
|
this.regexList = [
|
||
|
{ regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' },
|
||
|
{ regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang
|
||
|
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' },
|
||
|
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' },
|
||
|
{ regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' },
|
||
|
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' },
|
||
|
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }
|
||
|
];
|
||
|
|
||
|
this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
|
||
|
}
|
||
|
|
||
|
Brush.prototype = new SyntaxHighlighter.Highlighter();
|
||
|
Brush.aliases = ['perl', 'Perl', 'pl'];
|
||
|
|
||
|
SyntaxHighlighter.brushes.Perl = Brush;
|
||
|
|
||
|
// CommonJS
|
||
|
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
||
|
})();
|