xml-modeでキーワードの色を変える
xyzzyのxml-modeは,対応する閉じタグを追加してくれたり,整合性を見てくれたり結構便利である.ただし,ハイライトしたタグの色が少々派手で目が痛い.この色を少し落ち着いた色に変えることにした.なお,私はlispは全くわからない.見よう見まねなので,変なところはあるかもしれない.
色を指定しているのは,xml-mode.lの132行目から137行目である.
(defvar *xml-tag-attribute* '(:bold t :foreground 3) "xml-mode: ハイライト表示の属性") (defvar *xml-tag-invalid-attribute* '(:bold t :foreground 1) "xml-mode: ハイライト表示の属性(不整合のあるタグのみ)") (defvar *xml-cdata-attribute* '(:foreground 2) "xml-mode: CDATA表示の属性")
foreground
の後にある数字が色を表している.ここを直接書き換えてもいいのだが,それでは,xml-modeをインストールするたびに書き換えないといけない.これは面倒だ.そこで.xyzzyに以下の内容を書き加える.場所はxml-modeの設定の後.前だとエラーになる.
<!-- xml-modeの設定 --> (require "xml/xml-mode") (use-package 'xml) (pushnew '("\\.\\(xml\\|xsl\\|html\\|sdoc\\|fo\\|rng\\|svg\\|xi\\)" . xml-mode) *auto-mode-alist* :test #'equal) <!-- 色の変更 --> (setq *xml-tag-attribute* '(:bold t :foreground 9)) (setq *xml-tag-invalid-attribute* '(:bold t :foreground 1)) (setq *xml-cdata-attribute* '(:foreground 2))
xyzzyを再起動して確認しよう.
ちなみに,foreground
に指定する数字と色の対応は以下の通りである.
数字 | 色 |
---|---|
1 | 赤 |
2 | 緑 |
3 | 橙 |
4 | 青 |
5 | 紫 |
6 | 水色 |
7 | 白 |
8 | 黒 |
9 | 小豆 |
10 | 深紫 |
11 | 金 |
12 | 群青 |