[mew-dist 24561] Re: highlight-summary patch
Shun-ichi TAHARA ( 田原 俊一 )
jado at example.com
2004年 2月 10日 (火) 13:42:46 JST
From: Shun-ichi TAHARA (田原 俊一) <jado at example.com>
Message-Id: <20040210.110850.291457549.z1980163 at example.com>
> > 以下、機能の話ですが。(実はどうやっているのかまだよくわかっていない (_ _)
>
> キモは mew-env.el, mew-syntax.el の追加部分と、mew-highlight.el の中の
> mew-highlight-summary-fontify-line と、mew-scan.el の mew-scan-pstr-*
> あたりでしょうか。
>
> 別便でもうちょっと詳しく書きます。
というわけで、こうやって動いています。
・mew-highlight-summary-face-spec[-ext] から、
通し番号(key)→face
face-spec の要素→key
への対応表を作る
・scan 用の関数は、従来通り文字列を返すこともできるし、色情報を持たせ
た文字列を返すこともできる
( key 文字列 … )
の形で、
( key 文字列 ( key 文字列 … ) … )
のようにネストしていてもOK
mew-scan-make-pstr で作ってくれる
・scan 関数が生の文字列を返した場合は、face-spec から引いた key を用い
て着色情報を付加する
・着色情報を抜き出してエンコードし、.mew-summary の後ろに埋める
(mew-scan-make-line-and-props・mew-summary-props-encode)
・エンコードした着色情報を解析して塗る
(mew-highlight-summary-fontify-line)
塗るタイミングは、scan 時と、mew-highlight-cook-region です。
個人的には、font-lock を使うと、ただでさえ狭いモードラインを消費しちゃ
うのが気になりますが、mew-highlight-summary-fontify-line を font-lock
に呼ばせる、という解法もアリだと思ってます。
> # 「再scan不要な実装」については、ちょっとだけアイデアは浮かんでます。
「特別な人ハイライト」を実現しようと思ったら、summary の後ろにメールア
ドレスも隠しておけばいいのか、と思いました。さらに、From: と To: の色
の key を特別な値にしておけば対応できます。
# 一度フォルダを消して再表示すれば反映されます。
# font-lock で塗るようにすれば、即座に反映される?
_______________________________
田原 俊一 jado at example.com, shunichi_tahara at example.com
http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Mew-dist メーリングリストの案内