nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nano-devel] [PATCH V3] syntax: perl: don't color the character after a


From: Benno Schulenberg
Subject: [Nano-devel] [PATCH V3] syntax: perl: don't color the character after a variable name
Date: Fri, 9 Aug 2019 14:07:07 +0200

And generally improve the regex for coloring Perl variable names.

This fixes https://savannah.gnu.org/bugs/?56713.
With-help-from: Brand Huntsman <address@hidden>

Bug existed since the Perl syntax was introduced,
in version 1.2.2, commit 70047eef.
---
 syntax/perl.nanorc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/syntax/perl.nanorc b/syntax/perl.nanorc
index e66d17c2..9e106437 100644
--- a/syntax/perl.nanorc
+++ b/syntax/perl.nanorc
@@ -7,7 +7,12 @@ 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_]|-)"
+
+# Variable names.
+color cyan "[$@%&]\$?([A-Za-z_][0-9A-Za-z_]*|\^[A-Z_]|[0-9]+)\>"
+color cyan "[$@%&]\$?\{(\^?[A-Za-z_][0-9A-Za-z_]*|[0-9]+)\}"
+color cyan "\$([]!-.:-?`|~[]|\{[]!-/:-?\`|~[]\})" "(^|[[:space:]])\$[/\]"
+
 color yellow "".*"|qq\|.*\|"
 color white "[sm]/.*/"
 color white start="(^use| = new)" end=";"
-- 
2.22.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]