elisp 久々なんで、もっとうまい書き方できるかもしれませんが、
つーか、ひょっとして簡単に実現する方法あるかもしんないけど、
一応投稿します。
;;;;; dired でファイル名を拡張子によって色分け表示
(defface my-source-file1-face '((t (:foreground "NavyBlue"))) nil)
(defface my-source-file2-face '((t (:foreground "brown4"))) nil)
(defface my-archive-file-face '((t (:foreground "gray40" :weight bold))) nil)
(defface my-binary-file-face '((t (:foreground "gray45"))) nil)
(defface my-image-file-face '((t (:foreground "green4"))) nil)
(defface my-audio-file-face '((t (:foreground "magenta3"))) nil)
(defface my-movie-file-face '((t (:foreground "cyan4"))) nil)
(defvar my-source-file1-face 'my-source-file1-face)
(defvar my-source-file2-face 'my-source-file2-face)
(defvar my-archive-file-face 'my-archive-file-face)
(defvar my-binary-file-face 'my-binary-file-face)
(defvar my-image-file-face 'my-image-file-face)
(defvar my-audio-file-face 'my-audio-file-face)
(defvar my-movie-file-face 'my-movie-file-face)
(set-face-font 'my-archive-file-face (face-font 'bold))
(add-hook 'dired-mode-hook '(lambda ()
(font-lock-add-keywords major-mode
(list
'("\\.\\(c\\|cpp\\|C\\)$"
(".+" (dired-move-to-filename) nil (0 my-source-file1-face)))
'("\\.\\(h\\|H\\|hpp\\|sh\\|el\\|pl\\)$"
(".+" (dired-move-to-filename) nil (0 my-source-file2-face)))
'("\\.\\(tar\\|gz\\|tgz\\|zip\\|bz2\\|tbz\\|rpm\\|lzh\\|Z\\)$"
(".+" (dired-move-to-filename) nil (0 my-archive-file-face)))
'("\\.\\(bin\\|out\\|o\\|core\\|a\\|so\\|dbg\\|elc\\|com\\|exe\\)$"
(".+" (dired-move-to-filename) nil (0 my-binary-file-face)))
'("\\.\\(jpe?g\\|png\\|gif\\|bmp\\|tiff?\\|p[pgb]m\\|xpm\\|xbm\\|xwd\\)$"
(".+" (dired-move-to-filename) nil (0 my-image-file-face)))
'("\\.\\(mp3\\|midi\\|wav\\|aw\\|au\\|aif\\)$"
(".+" (dired-move-to-filename) nil (0 my-audio-file-face)))
'("\\.\\(mpe?g\\|rm\\|avi\\|wmv\\|mov\\|qt\\)$"
(".+" (dired-move-to-filename) nil (0 my-movie-file-face)))
)
t)))
; ※ `completion-ignored-extensions' のファイルは `font-lock-string-face'
; で色付けされちゃう
Emacs 21.3.1 でテスト
____________________________________________
金田 浩司 <su...@bi.wakwak.com> [検印廃止]
金田 浩司 <su...@bi.wakwak.com> writes:
> emacs-21 で dired 使っていて、ふと、ファイルを色分け表示
> したいと思って調べてみたけど、見つけられなかったんで、
> 見よう見まねで書いてみました。
> 昔 mule 辺りの頃は hilit19 とかで結構簡単にできたと思うんですが。
目的にあっているかどうかわかりませんが、こんなものもありますよ。
----
http://www.emacswiki.org/cgi-bin/wiki/DiredMode
----
dired を良く使っている人なら、便利かもしれませんね。
--
∧_∧
ミ^.^ミ E-Mail: g...@jcom.home.ne.jp
過ぎ去ったものは既に無いものである。未だ来ないものは
未だ無いものである。で、あるものはただ現在だけだとい
うことになる。 唐木順三