Require that a comment starts at the start of a line or is preceded by whitespace. This prevents most hash signs used for other purposes (and what follows them) getting colored as comments.
19 lines
1.5 KiB
Plaintext
19 lines
1.5 KiB
Plaintext
## Here is an example for Perl.
|
|
|
|
syntax perl "\.p[lm]$"
|
|
header "^#!.*perl"
|
|
magic "Perl script"
|
|
comment "#"
|
|
|
|
color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\>" "\<(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\>" "\<(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\>" "\<(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\>" "\<(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>"
|
|
color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>"
|
|
icolor cyan start="[$@%]" end="( |[^0-9A-Z_]|-)"
|
|
color yellow "".*"|qq\|.*\|"
|
|
color white "[sm]/.*/"
|
|
color white start="(^use| = new)" end=";"
|
|
|
|
# Comments.
|
|
color green "(^|[[:space:]])#.*"
|
|
|
|
color yellow start="<< 'STOP'" end="STOP"
|