S2Plugin(仮称)Editor
S2PluginのエディタはEclipseのAntエディタにクラス名補完と、S2のコンポーネント名補完、プロパティ名補完機能がついたようなものにしようと思います。
というわけで、さっそくAntエディタを調べてみました。Antエディタは次のような仕組みで動作しています。
■プラグインロード時
1.Ant1.5bのDTDをパースして、DTDのツリーを作成
■Cntl+スペースを押した時
1.ドキュメントの状況とカーソル位置から提案モードを決定(determineProposalMode)
2.提案モードに応じた提案を作成して、ポップアップ表示
要素名の入力中:
→DTDを元に入力可能な要素の候補を表示
属性名の入力中:
→DTDを元に入力可能な属性の候補を表示
属性の入力中:
→DTDを元に入力可能な属性の候補(DTDに定義してある場合)を表示
・・・
「DTDのパース&DTDモデルの保持」と「提案の作成」が大きな役割になります。Antエディタからかなりの部分が流用できそうです。