入れ子になった括弧の強調表示No.38385
あべのり さん 20/09/01 10:24
 
次のような構文のファイルに対して色つけをしたいと思っています.

* ${...}というものの中身を強調表示したい.複数行にわたる可能性がある.
* ${...}の中や外には($を含まない){...}が現れる可能性がある.
* %でコメントアウト

たとえば以下が例です.

+p{
  あああ
 ${f = \app{g}{x}}
  いいい
  % この部分はコメント
}

このようなことは可能でしょうか?

こちらでは以下のようなことを試してみました.

複数行コメントとして
* 開始文字列:${,
* 終了文字列:}
で登録すると,${f = \app{g}で強調表示が切れてしまいます.この設定に加えてさらに
* 開始文字列:{
* 終了文字列:}
を追加し,文字色などを「透明」に.両者の設定の「子を含むのを許可 」「子にな
るのを許可」「自身の入れ子を許可」をONとしましたが,コメント部分の色がつかな
くなってしまいました.

Windows 10 + 秀丸8.93です.よろしくお願いします.

[ ]
RE:38385 入れ子になった括弧の強調表示No.38386
秀丸担当 さん 20/09/01 11:49
 

おそらくコメントの定義を、開始文字列「%」で、「単一行(行末まで)」として定義
されているということかと思います。
「単一行(行末まで)」の場合、「子になるのを許可」ができないので確かにできませ
んでした。
コメントの定義の種類が「複数行」の場合は入れ子にできるので、開始文字列は
「%」で、終了文字列を正規表現で「$」として、さらに「子になるのを許可」とする
とできました。
この方法でどうでしょうか。

[ ]
RE:38386 入れ子になった括弧の強調表示No.38387
あべのり さん 20/09/01 12:06
 
>コメントの定義の種類が「複数行」の場合は入れ子にできるので、開始文字列は
>「%」で、終了文字列を正規表現で「$」として、さらに「子になるのを許可」とす
>るとできました。

ありがとうございます.できました.

[ ]
RE:38387 入れ子になった括弧の強調表示No.38388
あべのり さん 20/09/01 12:22
 
度々すみません.

+p{
  あああ
 ${f = \app{g}{x}}
  いいい
  % この部分はコメント
}

において,${f = \app{g}{x}}の部分をすべて${...}の中として設定した色にしたい
のですが,可能でしょうか?
今の設定では{g}と{x}の部分に色がつかない({...}の中の色として設定した色にな
ってしまう)ようです.

[ ]
RE:38388 入れ子になった括弧の強調表示No.38389
秀丸担当 さん 20/09/01 14:04
 

確かに入れ子の色は変わってしまい、入れ子の親の色に重ねるような方法はありませ
んでした。
これをやるのはちょっと難しく、いい方法が思いつかないです。すみません。
もし「+p{」のような外側の括弧の書き方が決まっているのであれば、それを別の定
義にするしかないと思います。
それか、複数行コメントのユーザー定義をやめて、マクロで全部colormarker文でや
るという方法も考えられますが、マクロを作るのが大変なのと、リアルタイムの反映
ではなくなるということがあります。

[ ]
RE:38389 入れ子になった括弧の強調表示No.38391
あべのり さん 20/09/01 15:34
 
>もし「+p{」のような外側の括弧の書き方が決まっているのであれば、それを別の定
>義にするしかないと思います。
>それか、複数行コメントのユーザー定義をやめて、マクロで全部colormarker文でや
>るという方法も考えられますが、マクロを作るのが大変なのと、リアルタイムの反
>映ではなくなるということがあります。

ありがとうございます.やはりリアルタイムでの色つけがほしいので,それだと難し
そうです.(将来のネタということにしてもらえるとうれしいです.)

[ ]
RE:38391 入れ子になった括弧の強調表示No.38392
秀丸担当 さん 20/09/01 17:59
 

複数行コメントのユーザー定義の拡張でできるかわからないですが、将来のネタとい
うことにしたいと思います。
ちなみに最近のバージョンは、強調表示をカラーマーカーのようにキャッシュするよ
うにしたり、colormarker文でも単なる色付けでなくてコメントや文字列としての意
味を持たせるようなことができるようにしたりしています。その延長で、何らかの外
部での計算結果が反映できるような方法もあったらいいと思います。


[ ]
RE:38392 入れ子になった括弧の強調表示No.38402
あべのり さん 20/09/10 11:20
 
>ちなみに最近のバージョンは、強調表示をカラーマーカーのようにキャッシュする
>ようにしたり、colormarker文でも単なる色付けでなくてコメントや文字列としての
>意味を持たせるようなことができるようにしたりしています。その延長で、何らか
>の外部での計算結果が反映できるような方法もあったらいいと思います。
>
そういう機能があると(頑張れば)何でもできそうで楽しそうです.(ただ今の方法
のような技術がなくても指定できるのはそれはそれでよいのでそちらもお願いできる
とありがたいです.)


[ ]