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 | 群青 |