1.現在は IS_KEYWORD_CHAR()が trueを返す文字の並びだけをキーワードかどうかチェックしていますが
IS_KEYWORD_CHAR()が falseを返す文字の並びもキーワードかどうかチェックします。
これにより、&& など記号の並びや、日本語のキーワードが利用できるようになります。
2.登録されたキーワードと始まりが一致したが長さが足りないとき、
さらに文字を足してキーワードかどうかのチェックを再試行します。
これにより、COBOLのハイフンを含む予約語が色分けできるようになります。また、1との合わせ技で
非キーワード文字であるバッククオートから始まるキーワードも色分けできるようになります。
3.強調キーワード1が非表示設定のとき、他の強調キーワードの色分けがチェックの状態にかかわらず
一切行われないように見受けられましたが、その動作は引き継いでいません。
良ければご利用ください。ダメだし歓迎です。一応コミットもさせてもらえるようなので GOサインが出ればやります。
最長一致に対応。trunk2@1731へのパッチです。
キーワード整理のキーワード文字種を見ない版
私もパッチを眺めてみました。いい感じだとおもいます。
昔自分が書いたコードはいまよりもっとひどいと思いつつ、
CKeyWordSetMgr::CleanKeyWordsに対する修正案をおいておきます。
元のままのほうがいいのかわかりませんが、キーワード文字種かどうかの判別を削っただけです。
動作確認はしてません。
この関数、auto_memicmpになっていてこれはwmemicmpなのでいやな予感がします。
wstricmpと互換性があるのかな。日本語とか。
skrw_kw_clean.patch
コミットしました。リビジョン1732です。
http://sakura-editor.svn.sourceforge.net/viewvc/sakura-editor?view=rev&revision=1732