piwigo/plugins/LocalFilesEditor/editarea/reg_syntax/perl.js
patdenice 3c10b3da9f [LocalFiles Editor]
Update editarea to 0.8.2.
Remove CSS tab.
Fix jQuery path.

git-svn-id: http://piwigo.org/svn/trunk@5160 68402e56-0260-453c-a942-63ccdbb3a9ee
2010-03-17 15:27:14 +00:00

88 lines
3.1 KiB
JavaScript

/***************************************************************************
* (c) 2008 - file created by Christoph Pinkel, MTC Infomedia OHG.
*
* You may choose any license of the current release or any future release
* of editarea to use, modify and/or redistribute this file.
*
* This language specification file supports for syntax checking on
* a large subset of Perl 5.x.
* The basic common syntax of Perl is fully supported, but as for
* the highlighting of built-in operations, it's mainly designed
* to support for hightlighting Perl code in a Safe environment (compartment)
* as used by CoMaNet for evaluation of administrative scripts. This Safe
* compartment basically allows for all of Opcode's :default operations,
* but little others. See http://perldoc.perl.org/Opcode.html to learn
* more.
***************************************************************************/
editAreaLoader.load_syntax["perl"] = {
'DISPLAY_NAME' : 'Perl',
'COMMENT_SINGLE' : {1 : '#'},
'QUOTEMARKS' : {1: "'", 2: '"'},
'KEYWORD_CASE_SENSITIVE' : true,
'KEYWORDS' :
{
'core' :
[ "if", "else", "elsif", "while", "for", "each", "foreach",
"next", "last", "goto", "exists", "delete", "undef",
"my", "our", "local", "use", "require", "package", "keys", "values",
"sub", "bless", "ref", "return" ],
'functions' :
[
//from :base_core
"int", "hex", "oct", "abs", "substr", "vec", "study", "pos",
"length", "index", "rindex", "ord", "chr", "ucfirst", "lcfirst",
"uc", "lc", "quotemeta", "chop", "chomp", "split", "list", "splice",
"push", "pop", "shift", "unshift", "reverse", "and", "or", "dor",
"xor", "warn", "die", "prototype",
//from :base_mem
"concat", "repeat", "join", "range",
//none from :base_loop, as we'll see them as basic statements...
//from :base_orig
"sprintf", "crypt", "tie", "untie", "select", "localtime", "gmtime",
//others
"print", "open", "close"
]
},
'OPERATORS' :
[ '+', '-', '/', '*', '=', '<', '>', '!', '||', '.', '&&',
' eq ', ' ne ', '=~' ],
'DELIMITERS' :
[ '(', ')', '[', ']', '{', '}' ],
'REGEXPS' :
{
'packagedecl' : { 'search': '(package )([^ \r\n\t#;]*)()',
'class' : 'scopingnames',
'modifiers' : 'g', 'execute' : 'before' },
'subdecl' : { 'search': '(sub )([^ \r\n\t#]*)()',
'class' : 'scopingnames',
'modifiers' : 'g', 'execute' : 'before' },
'scalars' : { 'search': '()(\\\$[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
'arrays' : { 'search': '()(@[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
'hashs' : { 'search': '()(%[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
},
'STYLES' :
{
'COMMENTS': 'color: #AAAAAA;',
'QUOTESMARKS': 'color: #DC0000;',
'KEYWORDS' :
{
'core' : 'color: #8aca00;',
'functions' : 'color: #2B60FF;'
},
'OPERATORS' : 'color: #8aca00;',
'DELIMITERS' : 'color: #0038E1;',
'REGEXPS':
{
'scopingnames' : 'color: #ff0000;',
'vars' : 'color: #00aaaa;',
}
} //'STYLES'
};