括弧内の折り畳み(一時非表示)No.39947
ANACOSTIA さん 22/08/09 03:38
 
 初めての投稿です。
 宜しくお願いいたします。

 対応する括弧内の文字列を、特定の操作で一時非表示にしたいです(対応する括弧
への移動のように)。
 アウトライン機能の中には、左括弧とそれ以降行にある対応右括弧間を折り畳む機
能がありますが、そのような機能を一行内の入れ子状括弧で行いたいです。
 主な使用目的は、括弧が入れ子になったMS-Excel等の式や、同様な形の法律条文
(法令条文には、「○○○○(□□□□を除く(△△△△を除く(××××を除く)))の
場合」というような記述がそれなりに存在する)の見通しを容易にすることです。

[ ]
RE:39947 括弧内の折り畳み(一時非表示)No.39948
秀丸担当 さん 22/08/09 09:53
 
折りたたみ機能は、既に試されているかもしれないですが、行単位となっています。
一行内の一部分を非表示にするといったことはできないです。
行内でもできたらいいです。ご意見参考にさせていただきます。

現状でやるとしたら、編集なしでやるには、カラーマーカーで色を付けるといいかも
しれません。
例えば、括弧上で「選択開始」コマンドで開始し、「対応する括弧に移動」コマンド
で移動して、「一時的なカラーマーカー...」コマンドで色を付けます。
これを背景に溶け込むような色にしておくと、見通しがよくなるかもしれないです。
各種コマンドは、[その他]→[キー割り当て...]で割り当てしたり、[その他]→[コマ
ンド一覧...]から選べます。

こういった一連の操作は、[マクロ]→[キー操作の記録開始/終了]で記録して、[マク
ロ]→[キー操作の再生]で再生したり、[マクロ]→[キー操作の保存...]マクロとして
保存して好きな色付け用マクロにできたりします。


[ ]
RE:39948 括弧内の折り畳み(一時非表示)No.39949
ANACOSTIA さん 22/08/09 14:28
 
 ご回答ありがとうございました。
 いつの日か、この機能が実装されることを祈っています。

 今は、親括弧内、親括弧内の子括弧内、子括弧内の孫括弧内、……の文字色を強調
表示1、強調表示2、強調表示3、……で表示されるように、正規表現を使用したユー
ザー定義の強調表示で何とかやっています。

[ ]
RE:39949 括弧内の折り畳み(一時非表示)No.39950
秀丸担当 さん 22/08/09 16:33
 
強調もされているとのことで、強調表示の場合[その他]→[ファイルタイプ別の設定]
→[デザイン]→[複数行コメント]をユーザー定義にしてやる方法もあります。

例えば、開始文字列"("、終了文字列")"で、オプションの入れ子を全部ONにして、強
調1〜強調8としておくと、8色を使いまわして、何段階でも入れ子の括弧になります。
複数行なので、括弧の対応が破綻するとずっとそれ以降崩れてしまうので、一行内の
話で、行末までにするには、終了文字列を正規表現で
\(|$
にしておくと崩れても行末までになります。

[ ]
RE:39950 括弧内の折り畳み(一時非表示)No.39951
ANACOSTIA さん 22/08/10 01:39
 
 興味深い情報ありがとうございます。
 それにしても正規表現は難しいです。
 アプリケーションによってライブラリ?が違う為、方言(使える構文の違い)がある
のが一番困る。

[ ]