トップページ | 「行の先頭から~」Rule »

2004.01.07

~LineRuleって怪しいぞ

文字列のパーティションを決定し,色づけなどのために使用するSingleLineRuleクラスを使ってみたけど,なんかおかしい。。。

以下のように自作のパーティションスキャナを作って,その中でSingleLineRuleオブジェクトにより,
  [......]
という文字列があったら色付けしようと思ってやってみた。

public class ManuscriptPartitionScanner extends RuleBasedPartitionScanner {
  ....
  public ManuscriptPartitionScanner() {
    super();
    IToken headerToken = new Token(MANUSCRIPT_HEADER);
    List ruleList = new ArrayList();
    ruleList.add(new SingleLineRule("[", "]", headerToken));
    IPredicateRule[] rules;
    rules = (IPredicateRule[])(ruleList.toArray(new IPredicateRule[0]));
    setPredicateRules(rules);
  }
}

実行結果は,ちゃんと [......] が色づけされてOK!なんだけど,一旦 [......] と入力した後に,
  [....]..]
というように文字列中に終了文字を挿入すると,なぜか ...] が相変わらず色づけされたまま。

う~ん。。。文字の追加や削除が発生したときに,その影響範囲を決定するための Damager や Repairer などを自作して,ちゃんと「パーティションが変わったぞ!」って知らせてあげないといけないのかな。。。でも XMLEditor のサンプルはちゃんとタグ中に強引に > を打つとそこまでで色付けが解除されるし。。。

なんでだろう。。。

|

トップページ | 「行の先頭から~」Rule »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ~LineRuleって怪しいぞ:

トップページ | 「行の先頭から~」Rule »