アウトラインじゃなく見出し抽出

 初心者なのでウィキペディア等で調べたんだけど、世の中にはアウトラインプロセッサとかアウトライナーとかいう物があって、文章を書くときに大見出しを作って中見出しを作って小見出しを作ってっていう感じで使うんだそうだ。そのアプリで独自の形式で保存すれば構造もセーブ出来ると思うからいいんだけど、その方法ではなくて普通にテキストファイルとして保存しつつ、なおかつそのテキストファイルから見出しを抽出して階層化するって事までこなしちゃうテキストエディタがあるわけだ。それに関する話。

 どのテキストエディタがって話になると、あたしが最近試したのはgPadさん(面白いので今後ずっとgPadさんはさん付けで行こうと思ったけど、面倒なので以下敬称略)ぐらいなので主にgPadの話になるが、これってたぶんアウトラインじゃないと思う。たぶんちゃんとアウトラインと呼べるのは見出しを階層化してこそであって、gPadは階層化しないで見出しを列挙してるんだよね。それにしたってどうやって列挙してんだか、あたしには見当もつかなかったけど、設定関連を見ていったらだいたいこうやってるんだなってのはわかった。まぁ、分からないようだと設定できないから、設定できるようにした意味もないからダメだけどね。どうやらまずは正規表現で見出しを抽出するらしい。Cなら関数を見出しにしてるから、voidとかstaticとかで始まって引数のカッコがあるような行が、とりあえず見出しの候補になってるらしい。でもそれだけじゃなくて、Cだと中括弧が次に続く事が分かってるわけだから、とりあえずの見出し候補から中括弧の有無で絞り込んで見出しにしてるっぽい。HTMLの場合はタグで始まる行をとりあえずの見出しとし、次の行がインデントしてあるかどうかで絞り込んでるっぽい。なるほどなぁって思った。

 そのgPadの場合はツールバーに見出しが列挙されるけれども、むかーしむかしあるところで見た覚えのある何かとしか記憶にない別のテキストエディタでは、ドッキングウィンドウ的な場所に構造化して表示されてたはず。構造化するならその折りたたみとかもできなきゃ行けないからgPadのようにツールバー表示は出来ないよな。ツールバーに表示するために、あえて構造化せず最小限の見出し抽出だけにしたんだろうけど、あたしはその簡易化されたアウトライン機能を見て「このくらいならパクれそうだな」と思う事が出来たので、どうパクったらいいか考え始めている。

 真魚でパクるとしたら、ツールバーでもドッキング窓でもなく、ダイアログボックスを出すつもりでいる。「しおり行へ移動」みないな感じで、「見出し抽出」って項目をクリックするとダイアログボックスにリストアップされる感じで。しおり機能は自分で使わないし、真魚の内部構造的にも向いてなくて無理矢理やってるから嫌いなんだけど、よそのテキストエディタのしおり移動が不便なので、こうやって作って欲しいという提案の意味合いで見世物でやってるんだけど、たぶん誰もパクってくれてないのでガッカリしている。まぁ、そんなだからこそあたしはまだ真魚を作り続けて、今後も提案していこうと思ってるんだけどね。でも見出しの機能に関しては提案でも何でもない。自分に出来る範囲で考えたらそのくらいしか出来ないだろうっていう事でやろうとしている。やろうとはしてるけどやらないかも知れない。

 って、まだまだ書きたいことに突入してない。その辺書いて嫌になって結局出来ないなって事になったりして。

たぶん関連のある記事:

コメントは終了しています。