Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

dired に色付けよ

110 views
Skip to first unread message

金田 浩司

unread,
Sep 4, 2004, 12:38:21 AM9/4/04
to
こんにちは
emacs-21 で dired 使っていて、ふと、ファイルを色分け表示
したいと思って調べてみたけど、見つけられなかったんで、
見よう見まねで書いてみました。
昔 mule 辺りの頃は hilit19 とかで結構簡単にできたと思うんですが。

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> [検印廃止]

遊び人

unread,
Oct 3, 2004, 12:43:26 AM10/3/04
to
こんんちは、塩野@遊び人です。

金田 浩司 <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
過ぎ去ったものは既に無いものである。未だ来ないものは
未だ無いものである。で、あるものはただ現在だけだとい
うことになる。 唐木順三

0 new messages