2012年6月16日土曜日

Emacs nxml-modeの色設定

Emacsを23.4にしたら、nxml-modeのカラー表示設定が有効にならなくなってしまったので再設定しなおしてみた。

(custom-set-faces
 ;; xml-validate
 '(rng-error
   ((t (:foreground "red" :weight bold))))       ;; エラー部分

 '(nxml-name
   ((t (:foreground "#AACF53"))))                ;; 
 '(nxml-text
   ((t (:foreground "#AFAFB0"))))                ;; テキスト
 '(nxml-ref
   ((t (:foreground "#FF6A6A" :weight bold))))   ;; 参照文字の親定義
 '(nxml-delimiter
   ((t (:foreground "#FFFAFA"))))                ;; delimiterの親定義
 '(nxml-delimited-data
   ((t (:foreground "#9B30FF"))))                ;; delimiter内データの親定義

 ;; xml宣言タグ
 '(nxml-processing-instruction-target
   ((t (:foreground "#C7DC68"))))                ;; xml宣言
 '(nxml-processing-instruction-delimiter
   ((t (:foreground "#E9DFE5"))))                ;; xmlタグのdelimiter(<? ?>)
 '(nxml-processing-instruction-content
   ((t (:foreground "#9B30FF"))))                ;; ???

 ;; DOCTYPEタグ
 '(nxml-prolog-literal-delimiter
   ((t (:foreground "#AFAFB0"))))                ;; DOCTYPE内のdelimiter(")
 '(nxml-prolog-literal-content
   ((t (:foreground "#82AE46"))))                ;; DOCTYPEの内容
 '(nxml-prolog-keyword
   ((t (:foreground "#C1E4E9"))))                ;; DOCTYPE内のkeyword
 '(nxml-markup-declaration-delimiter
   ((t (:foreground "#E9DFE5"))))                ;; DOCTYPEタグのdelimiter(<! >)

 ;; htmlタグ
 '(nxml-namespace-attribute-xmlns
   ((t (:foreground "#FF8247"))))                ;; xmlns属性
 '(nxml-namespace-attribute-prefix
   ((t (:foreground "#FF8247"))))                ;; xmlns属性のprefix(xmlns:math)
;; '(nxml-namespace-attribute-colon
;;   ((t (:foreground "#FFFAFA"))))              ;; namespace属性のcolon
 '(nxml-namespace-attribute-value
   ((t (:foreground "#AFAFB0"))))                ;; namespace属性値
 '(nxml-namespace-attribute-value-delimiter
   ((t (:foreground "#AFAFB0"))))                ;; namespace属性のdelimiter(")

 ;; CDATA
 '(nxml-cdata-section-delimiter
   ((t (:foreground "#D9333F"))))                ;; <![xxxx[  ]]>
 '(nxml-cdata-section-CDATA
   ((t (:foreground "#D9333F"))))                ;; CDATAの文字
 '(nxml-cdata-section-content
   ((t (:foreground "#AFAFB0"))))                ;; CDATAの内容

 
 '(nxml-tag-delimiter
   ((t (:foreground "#E9DFE5"))))                ;; tagのdelimiter(< >)
 '(nxml-tag-slash
   ((t (:foreground "#E9DFE5"))))                ;; tagのスラッシュ
 
 ;;'(nxml-element-prefix
 ;;  ((t (:foreground "#884898"))))
 ;;'(nxml-element-colon
 ;;  ((t (:foreground "#884898"))))
 '(nxml-element-local-name
   ((t (:foreground "#E6B422" :weight bold))))   ; 要素名
 
 '(nxml-attribute-prefix
  ((t (:foreground "#C97586"))))                 ;; 属性のprefix(xml:lang)
;; '(nxml-attribute-colon
;;   ((t (:foregroud "#9B30FF"))))               ;; 属性のコロン
 '(nxml-attribute-local-name
   ((t (:foreground "#C97586"))))                ;; 属性名など
 '(nxml-attribute-value
   ((t (:foreground "#82AE46"))))                ;; 属性値
 '(nxml-attribute-value-delimiter
   ((t (:foreground "#AFAFB0"))))                ;; 属性値のdelimiter(")

 '(nxml-comment-delimiter
   ((t (:foreground "#D9333F"))))                ; コメントのdelimiter()
 '(nxml-comment-content
   ((t (:foreground "#D9333F"))))                ;; コメント内容
 
 ;; 参照文字
 ;; '(nxml-entity-ref-name
 ;;   ((t (:foreground "#FF6A6A"))))          ;; entity名 (<)
 ;; '(nxml-entity-ref-delimiter
 ;;   ((t (:foreground "#FF6A6A"))))          ;; entityのdelimiter(&xx;)
 ;; '(nxml-char-ref-number
 ;;   ((t (:foreground "#FF6A6A"))))          ;; 文字実体参照の番号 (&#160;)
 ;; '(nxml-char-ref-delimiter
 ;;   ((t (:foreground "#FF6A6A"))))          ;; 文字実体参照のdelimiter(&#xxx;)

 '(nxml-hash
   ((t (:foreground "#9B30FF"))))
 '(nxml-glyph
   ((t (:foreground "#9B30FF"))))
)

下記の様な配色にしていみました。

配色