いい機会なので、復習を兼ねて萌ディタというエディタを俯瞰してみます。
世の中にはテキストエディタというのはシンプルなものから超高機能なものまで様々なものがあるわけですが、萌ディタの立ち位置というのは以前マイナーテキストエディタ愛好会に書いたとおり:
691 名前:名無しさん@お腹いっぱい。 :03/12/22 01:36 ID:Ak6I121n sage
ちなみに653はこれまでどんなエディタ使ってきたの?
○○を使っていたが、××なところがどうしても不満で自分で作るとか、
別プラットフォームの○○というエディタが好きでWinでパクりたいとか、
結局何っぽいエディタ作ってるの?
694 名前:653 :03/12/22 02:15 ID:rtKOuSFK sage
>>691
常用してるのはWZ、サクラ、メモ帳くらいです。そのほかにも
いろいろつまみ食いしてみましたが、
・機能盛りだくさんなエディタを使いこなせない
ずらーっと並ぶメニューとか、目的の設定項目まで何重も
ダイアログをとおらなければならないエディタは、自分には
つかいこなせない。。。
・かといって、シンプルさを売りにしているエディタは本当に
シンプルなので、物足りない
というふうに感じました。
で、これらの中間~シンプル系寄りに位置するような、基本的には
シンプル指向なんですけど、そこから頭一つ出た程度の機能(スクリプト
による拡張性であるとか、Unicode への対応であるとかあるとか)を
もったエディタが欲しいなあということで、まあ探せばあるのかも
しれませんが、とりあえず作っているわけです。
ということで、それは今でも変わってないです。なので、萌ディタを紹介していただいているサイトで「高機能な~」とか、「拡張性高い~」といった枕詞がつくのは、個人的には持ち上げられすぎという感じです。
上記のような枕詞は、
- 萌ディタ側ではエディタとしての機能を提供し、どのキーが押されたら何をするか、というのはすべて javascript で制御する
という仕様にかかっているのだと思います(あるいは編集の履歴とか、色分けあたり?)。キーバインドを再割り当てできるエディタの多くは 1 つのキー入力に対して 1 つの機能、という感じが多いと思うのですが、この部分がプログラマブルになっているのは確かに自由度は高いです。が、極端に言うと javascript 側でやることは萌ディタが提供する機能のどれを呼ぶか、ということでしかなくて、機能の質・量は結局萌ディタ側に依存するので、一概に高機能とも言えない。
もちろんテキストの編集を考えたときに明らかに有用な機能は逐次追加していくことになるのですが、例えば javascript 側でなんとかしてアウトラインのツリーコントロールを出す、といった大技はいまのところできないわけです。萌ディタ側でアウトライン専用の、あるいはもっと低レベルな、コントロールを生成して操作する汎用的なインターフェースを用意するかしないとならない。
そういった複雑な機能というのは、当然大前提であるシンプルなエディタというスタンスに反するので実装するのは相当に慎重になります。このへんのバランス取りがむずかしいのが課題の 1 つです。