秀丸でWZ MEMO / WZ BOARD

投稿者: | 2008-11-02

WZ EDITORには、アウトライン解析機能を応用したWZ MEMOというアプリケーションが付属していた。Ver.5.0からはWZ BOARDと名前が変わり、機能が強化された。
ツリー構造のテキスト編集ツールで、本体はWZ EDITORそのものだが、あたかも別のアプリケーションのように動作する。扱うファイルの実態は何の変哲もないプレーンなテキストファイルで、見出し記号を解釈して階層構造をWZが表示する。

具体的には、もっと単純だ。行頭に「.」が付いた行を見出し行と見なし、「.」の個数で改装を判断するというだけ。当初のWZ MEMOでは、この階層テキストはmemの拡張子を持った。
WZを使わなくなってから、当時それで作成したmemのファイルは単に所々に見出し記号が目立つ普通のテキストファイルでしかない状態であったが、これを、秀丸のアウトライン解析機能を使って何とかする事ができないかと考えてみた。

秀丸には、Ver.6からアウトライン解析機能が付加された。実際Ver.7になる今まで、何となくそういう機能があるなとは感づいていたが、使うことも試す事もしていなかった。

「ファイルタイプ別の設定」の「アウトライン」にその項目がある。デフォルトでは、(プレーンなテキストファイル用としては)何も設定されていないので、自分で任意に設定してやらなければならない。
この機能を使って、行頭の「.」を見出し行の記号として解析させ、アウトライン枠内で見出し項目の階層上げ下げ、順の入れ替えなどまでできればよい。

設定するのは、アウトラインの「解析」という項目だ。
だがいまいち、設定はわかりにくい。WZ EDITORも設定は極めてわかりにくいアプリケーションだが、秀丸の場合はどうも多機能すぎてわかりにくいという感じ。
ヘルプを見るとアウトライン解析の方法が、「ツリー表示-通常」というのを選択すると階層構造にできるらしい。

そこまではだいたいすんなりわかったが、「.」を見出し記号とするのに、どうすればいいのかが難しい。具体的には、「.」が第一階層、「..」が第二階層、「…」が第三階層というふうにしたい。「行頭の記号」だろうと設定してみるが、何か上手く行かない。色々やってみても行中の「..」を見出しと認識してしまったりする。「文字列」としてみて、さらには行頭だから正規表現で「^\.」か、などともやってみるが、階層構造が上手く認識されなかったり、思うように階層操作ができなかったりする。

結局、「行頭の文字列」に、「.」「..」「…」を登録すれば良いだけだった。行頭のインデント認識を禁止してやって、やっと階層操作ができるようになった。

WZ MEMOでは、行頭の見出し記号を表示させないという機能があったが、さすがに秀丸のアウトラインでは、そういう機能は無さそう。それはまあ良いのだが、ここが見出しだと目立つようにはしたいため、この行頭記号で始まる行は強調表示させて色分けする。
強調表示も、同様に認識する文字列を正規表現で指定する。行頭の「.」の繰り返しがある場合は見出しと認識させればよいので、正規表現は「^\..*」とした。
これであとは配色を調整して、見出しが色分けで強調表示されるようになり、疑似WZ MEMOモードが完成した。このモードを拡張子memに関連づけをすれば完成だ。