[Mew-dist 2628] mew-highlight-body
Masahiro MURATA
muse at example.com
1997年 10月 22日 (水) 16:03:42 JST
村田@神戸(会社)です。
Mew 1.92b6 以降で body にも highlight させる設定ファイルです。一応バッ
ファの大きさを見て my-mew-highlight-max-size で指定したサイズ以下なら
highlight するようになっています。よって,大きなメールが来ても大丈夫。
使用する場合は基本的に mew-init-hook で require すればよいだけのはずで
す。
# 1.92b5 用に作っていたら,1.92b6 で使っていた関数がなくなってしまうなど
# したので,1.92b5 の関数をそのまま持って来ています。また変わるかどうか
# 心配ですが。
--
村田 全寛 / MURATA Masahiro
-------------- next part --------------
;; highlight body for Mew
(add-hook 'mew-message-mode-hook 'my-mew-message-highlight-body-setup)
(add-hook 'mew-message-hook 'my-mew-highlight-body)
(defvar mew-highlight-body-face-list
'(mew-highlight-body-face-quote
mew-highlight-body-face-comment))
(defvar mew-highlight-body-style-quote 'default)
(defvar mew-highlight-body-style-comment 'default)
(defvar mew-highlight-body-color-quote "ForestGreen")
(defvar mew-highlight-body-color-comment "gray50")
(defvar my-mew-highlight-body-keywords
'(("^[ \t]*\\(\\w*[A-Za-z0-9'-]*[>|>〉》≫|]+.*\\)"
1 mew-highlight-body-face-quote)
("\\(^[##]+.*\\)"
1 mew-highlight-body-face-comment)
))
(defvar my-mew-highlight-max-size 10000)
(defun my-mew-highlight-body ()
(if (> (point-max) my-mew-highlight-max-size)
nil
(save-excursion
(goto-char (point-min))
(if (eq mew-message-citation 'header)
(re-search-forward mew-eoh nil t))
(my-mew-highlight-region (point) (point-max))
)))
(defun my-mew-highlight-region (beg end)
(if (and window-system mew-opt-highlight-header)
(save-excursion
(cond
((fboundp (function font-lock-hack-keywords))
(font-lock-hack-keywords beg end))
((fboundp (function font-lock-fontify-region))
(font-lock-fontify-region beg end))0))))
(defun my-mew-message-highlight-body-setup ()
(if (and window-system mew-opt-highlight-header)
(cond
((boundp 'font-lock-defaults)
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(my-mew-highlight-body-keywords t t))
(cond
((fboundp (function font-lock-set-defaults-1))
(font-lock-set-defaults-1))
((fboundp (function font-lock-set-defaults))
(font-lock-set-defaults))
))
(t
(make-local-variable 'font-lock-keywords)
(setq font-lock-keywords my-mew-highlight-body-keywords))
)
))
(mew-highlight-face-setup mew-highlight-body-face-list)
(provide 'mew-highlight-body)
Mew-dist メーリングリストの案内