[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: view-source
で
font-lock
>> On Sat, 16 Jul 2005 10:06:43 +0900
>> hiroshi.fujishima@gmail.com (Hiroshi Fujishima) said as follows:
>HTML のソースを表示するときに、font-lock-defaults を設定するように変
>更してみました。
w3m-fontify-after-hook, w3m-display-functions または w3m-display-hook
を利用した実装の方が独立性が高くて良いと思います.まだ,
・バッファローカル変数の指定によるセキュリティ面を考慮しきれていない
・about://source/http://emacs-w3m.namazu.org/ のように / で終わって
いる場合に対処していない
と問題があるのですが,サンプルコードを以下に示します.
(defun w3m-font-lock (url)
(when (string= "text/plain"
(or (w3m-arrived-content-type url)
(w3m-content-type url)))
(let ((variables (buffer-local-variables)))
(unwind-protect
(let ((buffer-file-name (expand-file-name (file-name-nondirectory url)
w3m-profile-directory)))
(set-auto-mode))
(font-lock-set-defaults)
(font-lock-fontify-buffer)
(w3m-mode)
(dolist (element variables)
(when (string-match "\\`w3m-" (symbol-name (car element)))
(set (make-local-variable (car element)) (cdr element))))
(let (buffer-read-only)
(w3m-header-line-insert))))))
(add-hook 'w3m-display-hook 'w3m-font-lock)
この設定をした上で,http://namazu.org/~tsuchiya/elisp/shell-command.el
などを見に行くと,emacs-lisp のソースに色がついて楽しいです.
おそらく,auto-mode-alist を使うだけではなくて,サーバによって指定され
た MIME 型とバッファの内容に基づく推定(= Emacs22 の magic-mode-alist
相当)が必要です.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )