Emacs で auto-complete の色を変更する

Emacsauto-complete で色を変更するのには下記のオプションが使用できる。

(set-face-background 'ac-completion-face "#333333")                  
(set-face-foreground 'ac-candidate-face "#666666")
(set-face-background 'ac-selection-face "#666666")

しかし、これだけでは一部しか変更できない。変更できない部分の色が8色だけの環境で作業するときおかしくなってしまって困っていたが、popup のオプションで変更できた。

(set-face-background 'ac-completion-face "#333333")               
(set-face-foreground 'ac-candidate-face "#666666")
(set-face-background 'ac-selection-face "#666666")  
(set-face-foreground 'popup-summary-face "white")  ;; 候補のサマリー部分
(set-face-background 'popup-tip-face "cyan")  ;; ドキュメント部分
(set-face-foreground 'popup-tip-face "white")

Before:
f:id:torotoki:20130605030413p:plain
After:
f:id:torotoki:20130605030410p:plain

ちなみにこの関数は auto-complete 自体の絞り込み機能で見つけた。auto-complete 中に C-s を押すとできる。この機能について言及されているのをあまり見ないが、かなり使える。
f:id:torotoki:20130605031832p:plain

この機能は次期バージョンでさらに強化され、ドキュメント部分も検索できるようになるらしい。うまく活用すればライブラリのソースコードを直接開く機会が減りそうだ。