作者: Keiichi Takahashi
日時: 2002/7/20(17:45)
ビットウォークの高橋です。

> Tcl/Tk の text widget で c-mode もどきを実現できるもの
> (pure Tclで)はあるでしょうか?
> 
> とりえあずインデントの調整で良いのですが…。

Cソースのインデントということであれば、Tclのアプリケーションでは意外にな
いものですね。

簡単なオートインデントであれば、改行入力に対してバインドをかけて、文字列
の解析をすれば良いと思います。

Tclスクリプトに対してであれば、

ASEDというテキストエディタ
http://www.mms-forum.de/ased/asedhome.htm

でオートインデントが使えるようなので、アルゴリズムをC用に転用できるかも
しれません。

(私もTclスクリプトに対してはオートインデントを付けたエディタを作ってい
ますが、機能が完璧ではないので現在は公開していません。)

The Aged Programming Editor
http://www.xmission.com/~georgeps/aged/

は純粋なTcl/Tkスクリプトでできたアプリケーションではありませんが、Cソー
スのインデントが可能かもしれません。ただしX Window用です。

同じ作者のTritan
http://www.xmission.com/~georgeps/tritan/

は、スクリプトのみのはずですがCソースのインデントをサポートしているか不
明です。

RedHatのSource-NavigatorのエディタはTcl/Tk+incr Tclで出来ていた記憶があ
りますので参考になるかもしれません。
http://sources.redhat.com/sourcenav/


一括整形でよければ、ボタンのクリックで外部プログラムのindentを呼び出して
まとめて書き換えるなんていうのは…やはりスマートではないですかね。

もしも万が一、Tclスクリプトを整形するのでしたら、
Frink
http://catless.ncl.ac.uk/Programs/Frink/

が役に立つかもしれません。

間接的な情報ばかりで申し訳ありませんが、ご参考まで。

-- 
Keiichi Takahashi, bitWalk Co.,Ltd.
mailto:bitwalk@...
http://members10.tsukaeru.net/bitwalk/