|
今日は、白雲斎です。
この板は購読していないのと、書込みが尋常でないので全部を把握していない理
由から、重複する発言をするかもしれません。ご容赦を。
Windows XP, 秀丸エディタVer6.00β4
アウトライン枠での「ツリー操作」にある「レベルを上げる/下げる」コマンド
は、動作が変ではないですか?
以下のような階層構造の文書を例とします。
└ Level 1
├ Level 2A ←ここで「レベルを上げる」コマンドを実行
│ └ Level 3A
└ Level 2B ←ここで「上移動」コマンドを実行
└ Level 3B
「Level 2A」のノードに対して、「レベルを上げる」コマンドを実行します。
すると、秀丸エディタVer6.00β4では、以下の結果となります。
├ Level 1
└ Level 2A
├ Level 3A
└ Level 2B ←本来は、「Level 1」の子供の筈
└ Level 3B
秀丸エディタが言うところの「ツリー操作」が階層構造の編集を指しているな
ら、求める正しい結果は下記になると想像するのですが違うのでしょうか?
├ Level 1
│ └ Level 2B
│ └ Level 3B
└ Level 2A ←「Level 2B」ブロックを正しく飛び越えた
└ Level 3A
因みに、「Level 2B」のノードで「上移動」コマンドを実行すると、階層の子孫
ブロックを認識して、ブロック全体が正しく移動してくれます。
└ Level 1
├ Level 2B
│ └ Level 3B
└ Level 2A ←「Level 2B」ブロックを正しく飛び越えた
└ Level 3A
===============================================================
ここから雑談:
アウトライン機能、複雑になりそうですね。
いや、開発だけではなく、秀丸ユーザー側も複雑になりそうですね。
と言うのも、設定画面を眺めていると、階層構造を表すアウトラインと、プログ
ラム・ソースなどを折りたたむ機能が混在していて、私の中で上手く情報整理で
きないでいます。
で、勝手に、階層構造化文書と折りたたみ機能を別々に考えてみました。
●階層構造化文書
・1ファイルに1個のルートを持つ、階層構造である。
・階層構造は、編集前も編集後も矛盾してはならない。
・折りたたみはノード単位が基本で、それ以外は要らない。
・よって、折りたたみの対象を設定する必要がないのが自然。
●階層構造化文書以外での折りたたみ機能
・折りたたみを区分するブロックの定義は、1ファイルにルート1個と断定で
きない。即ち、子孫関係が矛盾なく構築されている約束が何処にもない。
・内包する子孫のブロックがあったとしても、そのブロックのレベル操作をす
ることはない。即ち、「ツリー操作」系のコマンドは不要だと想像できる。
※HTMLファイルなんかも、これに分類されると推測する。
構造化文書と言う意識としての定義はあっても、それを約束されたもので
はない。
以上のように考えてみました。
で、今更ながらの発言で恐縮ですが、階層構造化文書としてのアウトライン機能
は、折りたたみ機能と分離した方が良くないですかね。
『複雑怪奇な設定をすれば、どんな文書も階層構造化文書として読み込みます』
よりは、『限定されますが簡単ですよ』の方が良いのですが、
これこそ最高のわがままかな〜。
|
|