#3962

匿名

言いたいことが理解できないので、もう少し具体的に書いてもらえると答えやすいと思います。

例えば、 localtime は赤くなるが、$localtime は赤くなってほしくないとか。
もしそういう意味なら、基本的に現状ではこれを解決するのは難しいです。
やろうとすれば不可能ではないと思いますが、切りのない戦いに成ってしまいます。

なぜなら、EmEditorの強調の仕組みは非常にシンプルなつくりで実現されているのと、少
し制限があるからです。これはパフォーマンスの問題や単語の扱い、Perl以外にも多様な
言語に数多く対応しているので、なかなか一般的解を見つけるのが難しいです。
特に、Perlの場合、他の言語では一線を画すほど、記号類が豊富すぎて独特なため。

localtime を強調するのに、localtime と言う単語を使っています。
で、単語とは何かと言う時に、前に $@% や、-> があっても、localtime は単語だからです。
これを避けようとすると、強調定義が膨大なことになり、事実上不可能です。Perlの場合、
ある単語に対して $@% -> 等を代表に、豊富な記号類が使われて、これを単語と扱うのか
扱わないのかでものすごく影響を受けるため、単語と扱わない現在のEmEditorでは諦める
しかない感じです。

[s]localtime[s] を正規表現強調するという荒業もないこともないですが、正規表現を
多用しだすと、相当重たい感じになります。基本的に、単語に組み込み関数と同じ単語を
使用しない、と言う作法で対応するほうがいいと思います。

あと、$#array なんかも、コメント強調色になってしまうのも避けられません。