[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:07888] xyzzy 内部でのキーワード判定の方法について



亀井さん、xyzzy愛用者の皆さん、こんにちは。
大久保と申します。

くぼーんさんでないほうです。

xyzzy でのキーワード表示や強調表示したままの見た目でソースコードを印刷
したくなり、hsp-mode を公開されている門田さんのサイトの mode2htm.l, 
ini2css.l を参考にさせていただきながら、xyzzy での表示をなるべくそのま
ま再現するような HTML を出力する buf2html をでっちあげてみました。

一応出力した HTML を IE で印刷することで、それなりに満足できる印刷出力
を得ることができるようになりました。

どうせならもう少しまともにしようと四苦八苦してみたのですが、自分では乗
り越えられそうにない壁にぶつかってしまい、ご助言いただけないかなと思い、
ML に投稿させていただきました。

勘でコードを書いているので疑問点はたくさんあるのですが、さしあたって質
問させていただきたいことは

  1. 正規表現でない普通のキーワードをあるコンテキストの範囲で検索する
     際、xyzzy ではどのようにキーワードを検索しているのでしょうか。
     lisp-mode 等ではうまくキーワードを切り出せているのですが、
     html-mode や html+-mode (等 tag のあるモード?) でうまくキーワー
     ドが切り出せていません。

     「キーワード文字列の前後に境界となる正規表現をいれて検索する」と
     いった単純な方法では xyzzy と同じ動作キーワードを切り出すことは出
     来ないのでしょうか。

  2. html-mode, html+-mode は set-syntax-start-multi-comment 
     set-syntax-end-multi-comment されていないのですが、どのようにし
     てコンテキストがコメントかどうかを xyzzy は判定しているのでしょうか。

     もしかしたら comment-start, comment-end 文字列かなと思い、
     bat-mode で試しに指定してみたのですが撃沈してしまいました。

の 2 点です。

2. については parse-point-syntax でコンテキストを調べることができるの
で処理速度を高速化させるためだけの問題なのですが、1. はかなり根本的な
ところで、いってみれば入り口でいきなりこけているみたいなものです。

何かわかる方がいらっしゃいましたらご助言よろしくお願い致します。

---
大久保博之(OHKUBO Hiroshi)
konata_o@xxxxxxxxxxx
http://members.tripod.co.jp/ohkubo/xyzzy/index.html

Index Home