if (! this.sh_languages) {
|
|
this.sh_languages = {};
|
|
}
|
|
sh_languages['perl'] = [
|
|
[
|
|
[
|
|
/\b(?:import)\b/g,
|
|
'sh_preproc',
|
|
-1
|
|
],
|
|
[
|
|
/(s)(\{(?:\\\}|[^}])*\}\{(?:\\\}|[^}])*\})([ixsmogce]*)/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/(s)(\((?:\\\)|[^)])*\)\((?:\\\)|[^)])*\))([ixsmogce]*)/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/(s)(\[(?:\\\]|[^\]])*\]\[(?:\\\]|[^\]])*\])([ixsmogce]*)/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/(s)(<.*><.*>)([ixsmogce]*)/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/(q(?:q?))(\{(?:\\\}|[^}])*\})/g,
|
|
['sh_keyword', 'sh_string'],
|
|
-1
|
|
],
|
|
[
|
|
/(q(?:q?))(\((?:\\\)|[^)])*\))/g,
|
|
['sh_keyword', 'sh_string'],
|
|
-1
|
|
],
|
|
[
|
|
/(q(?:q?))(\[(?:\\\]|[^\]])*\])/g,
|
|
['sh_keyword', 'sh_string'],
|
|
-1
|
|
],
|
|
[
|
|
/(q(?:q?))(<.*>)/g,
|
|
['sh_keyword', 'sh_string'],
|
|
-1
|
|
],
|
|
[
|
|
/(q(?:q?))([^A-Za-z0-9 \t])(.*\2)/g,
|
|
['sh_keyword', 'sh_string', 'sh_string'],
|
|
-1
|
|
],
|
|
[
|
|
/(s)([^A-Za-z0-9 \t])(.*\2.*\2)([ixsmogce]*(?=[ \t]*(?:\)|;)))/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/(s)([^A-Za-z0-9 \t])(.*\2[ \t]*)([^A-Za-z0-9 \t])(.*\4)([ixsmogce]*(?=[ \t]*(?:\)|;)))/g,
|
|
['sh_keyword', 'sh_regexp', 'sh_regexp', 'sh_regexp', 'sh_regexp', 'sh_keyword'],
|
|
-1
|
|
],
|
|
[
|
|
/#/g,
|
|
'sh_comment',
|
|
1
|
|
],
|
|
[
|
|
/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,
|
|
'sh_number',
|
|
-1
|
|
],
|
|
[
|
|
/(?:m|qr)(?=\{)/g,
|
|
'sh_keyword',
|
|
2
|
|
],
|
|
[
|
|
/(?:m|qr)(?=#)/g,
|
|
'sh_keyword',
|
|
4
|
|
],
|
|
[
|
|
/(?:m|qr)(?=\|)/g,
|
|
'sh_keyword',
|
|
6
|
|
],
|
|
[
|
|
/(?:m|qr)(?=@)/g,
|
|
'sh_keyword',
|
|
8
|
|
],
|
|
[
|
|
/(?:m|qr)(?=<)/g,
|
|
'sh_keyword',
|
|
10
|
|
],
|
|
[
|
|
/(?:m|qr)(?=\[)/g,
|
|
'sh_keyword',
|
|
12
|
|
],
|
|
[
|
|
/(?:m|qr)(?=\\)/g,
|
|
'sh_keyword',
|
|
14
|
|
],
|
|
[
|
|
/(?:m|qr)(?=\/)/g,
|
|
'sh_keyword',
|
|
16
|
|
],
|
|
[
|
|
/"/g,
|
|
'sh_string',
|
|
18
|
|
],
|
|
[
|
|
/'/g,
|
|
'sh_string',
|
|
19
|
|
],
|
|
[
|
|
/</g,
|
|
'sh_string',
|
|
20
|
|
],
|
|
[
|
|
/\/[^\n]*\//g,
|
|
'sh_string',
|
|
-1
|
|
],
|
|
[
|
|
/\b(?:chomp|chop|chr|crypt|hex|i|index|lc|lcfirst|length|oct|ord|pack|q|qq|reverse|rindex|sprintf|substr|tr|uc|ucfirst|m|s|g|qw|abs|atan2|cos|exp|hex|int|log|oct|rand|sin|sqrt|srand|my|local|our|delete|each|exists|keys|values|pack|read|syscall|sysread|syswrite|unpack|vec|undef|unless|return|length|grep|sort|caller|continue|dump|eval|exit|goto|last|next|redo|sub|wantarray|pop|push|shift|splice|unshift|split|switch|join|defined|foreach|last|chop|chomp|bless|dbmclose|dbmopen|ref|tie|tied|untie|while|next|map|eq|die|cmp|lc|uc|and|do|if|else|elsif|for|use|require|package|import|chdir|chmod|chown|chroot|fcntl|glob|ioctl|link|lstat|mkdir|open|opendir|readlink|rename|rmdir|stat|symlink|umask|unlink|utime|binmode|close|closedir|dbmclose|dbmopen|die|eof|fileno|flock|format|getc|print|printf|read|readdir|rewinddir|seek|seekdir|select|syscall|sysread|sysseek|syswrite|tell|telldir|truncate|warn|write|alarm|exec|fork|getpgrp|getppid|getpriority|kill|pipe|qx|setpgrp|setpriority|sleep|system|times|x|wait|waitpid)\b/g,
|
|
'sh_keyword',
|
|
-1
|
|
],
|
|
[
|
|
/^\=(?:head1|head2|item)/g,
|
|
'sh_comment',
|
|
21
|
|
],
|
|
[
|
|
/(?:\$[#]?|@|%)[\/A-Za-z0-9_]+/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,
|
|
'sh_symbol',
|
|
-1
|
|
],
|
|
[
|
|
/\{|\}/g,
|
|
'sh_cbracket',
|
|
-1
|
|
],
|
|
[
|
|
/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,
|
|
'sh_function',
|
|
-1
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/$/g,
|
|
null,
|
|
-2
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\{/g,
|
|
'sh_regexp',
|
|
3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\\{|\\\}|\}/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/#/g,
|
|
'sh_regexp',
|
|
5
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\#|#/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\|/g,
|
|
'sh_regexp',
|
|
7
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\\||\|/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/@/g,
|
|
'sh_regexp',
|
|
9
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\@|@/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/</g,
|
|
'sh_regexp',
|
|
11
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\<|\\>|>/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\[/g,
|
|
'sh_regexp',
|
|
13
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\]|\]/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\\/g,
|
|
'sh_regexp',
|
|
15
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\\\|\\/g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\//g,
|
|
'sh_regexp',
|
|
17
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/[ \t]+#.*/g,
|
|
'sh_comment',
|
|
-1
|
|
],
|
|
[
|
|
/\$(?:[A-Za-z0-9_]+|\{[A-Za-z0-9_]+\})/g,
|
|
'sh_variable',
|
|
-1
|
|
],
|
|
[
|
|
/\\\/|\//g,
|
|
'sh_regexp',
|
|
-3
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/$/g,
|
|
null,
|
|
-2
|
|
],
|
|
[
|
|
/\\(?:\\|")/g,
|
|
null,
|
|
-1
|
|
],
|
|
[
|
|
/"/g,
|
|
'sh_string',
|
|
-2
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/$/g,
|
|
null,
|
|
-2
|
|
],
|
|
[
|
|
/\\(?:\\|')/g,
|
|
null,
|
|
-1
|
|
],
|
|
[
|
|
/'/g,
|
|
'sh_string',
|
|
-2
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/$/g,
|
|
null,
|
|
-2
|
|
],
|
|
[
|
|
/>/g,
|
|
'sh_string',
|
|
-2
|
|
]
|
|
],
|
|
[
|
|
[
|
|
/\=cut/g,
|
|
'sh_comment',
|
|
-2
|
|
]
|
|
]
|
|
];
|