|
強調表示は、確かに表示するときに計算していて、強調表示が正規表現でとても長い
ものが大量にあると、遅くなることがあります。
カーソルのある行の計算結果であれば再利用したりしていますが、スクロールではそ
ういうことはしていないです。
効率的にできたらいいということでご意見参考にさせていただきます。
ただ、何らかの対策をしたとして、強調表示の書き方がどんどん長くなる書き方だと
きりがないかもしれません。
以前に予約語の前後で条件が変わるような強調の話があって、V8.90で強調表示の長
さをより長く対応したりしていますが、予約語が1つ増えるたびに関連する全部の強
調表示に詰め込んでいくと、スクロールのときに限らず遅くなる一方だと思います。
また、強調表示の最長文字列の希望も、どんどん長くしてほしいという話が終わらな
い気がします。
もし予約語を別の優先順位の高い強調として指定するだけにして、正規表現を短くす
ることが可能であれば、短くしたほうが効率的になると思います。
あるいは、以前にも書いたと思いますが、マクロを使ってカラーマーカーで色付けす
る方法も考えられます。
例えば以下のようなマクロで一度カラーマーカーを付けておくと、正規表現で調べる
のはそのときの一回限りで、あとは再度マクロを実行するまで色が付いたままになり
ます。
disabledraw;
$layer="mylayer";
deletecolormarkerall $layer;
setsearch @"(xxx|yyy|zzz)aaa",0x10;
colormarkerallfound 0x0000ff,-1,-1,0,0,$layer;
setsearch @"(xxx|yyy|zzz)bbb",0x10;
colormarkerallfound 0xff0000,-1,-1,0,0,$layer;
setsearch @"(xxx|yyy|zzz)ccc",0x10;
colormarkerallfound 0xff0000,-1,-1,0,0,$layer;
1つのネタとして、強調表示をカラーマーカーとして動作させるモードもあったらい
いかもしれないです。
|
|