auto-complete-mode を1.0にしたよ

どうも。昨日だっけ? マジ風邪になったときには,これ何のフラグ?
とか思って,年末いやーな雰囲気になった感もありましたが,
どうやら,かなり回復した模様。風邪薬を飲んでいるせいか,眠いこと眠いこと。
そして,寝ること寝ること。
関係ないけど,明日実家に帰る予定です。

auto-complete-mode を 1.0 にしたよ。

なかなか移行しなかったのですが,ぼーっとした頭で移行しました。

  • これまでの構成
    • auto-complete.el
    • ac-dabbrev.el
    • auto-complete-etags.el
    • auto-complete-gtags.el
  • 新たな構成
    • auto-complete.el
    • auto-complete-config.el
    • ac-dabbrev.el


auto-complete-etags.el はあまり使わないので,とりあえず外した。
これに伴って .emacs をチェックインしてチェックアウトして書き換え。
なんか順番違う気がするのは気のせい。

.emacs の修正

  • (require 'auto-complete nil t) を

(and (require 'auto-complete nil t) (require 'auto-complete-config nil t)) に。

  • (defconst c++-keywords...) を削除。
  • ac-source-c++ を ac-source-c++-keywords に変更。
  • ac-sources に,ac-source-imenu を追加してみた。
  • ac-source-etags をとりあえず削除。
  • face の修正
    • ac-completion-face, ac-candidate-face, ac-selection-face かな。最低限必要なのは。
    • ac-gtags-selection-face, ac-gtags-candidate-face も。
    • yasnippet は使ってないので,パス。
    • ac-menu-face ちゅうのはなくなったみたいなのねん。
    • ac-dabbrev 関係はそのまま。

まとめるとこんな感じ

(when (and (require 'auto-complete nil t) (require 'auto-complete-config nil t))
  (require 'ac-dabbrev)
  (global-auto-complete-mode t)
  (setq ac-auto-start 2)
  (set-default 'ac-sources '(ac-source-abbrev ac-source-words-in-buffer))
  (setq ac-modes (append ac-modes '(jde-mode)))
  (define-key ac-complete-mode-map "\C-n" 'ac-next)
  (define-key ac-complete-mode-map "\C-p" 'ac-previous)
  (define-key ac-complete-mode-map "\M-/" 'ac-stop)
  (custom-set-faces  '(ac-completion-face ((t (:background "blue" :foreground "white"))))
                     '(ac-candidate-face ((t (:background "slate gray" :foreground "white"))))
                     '(ac-selection-face ((t (:background "blue" :foreground "white"))))
                     '(ac-dabbrev-menu-face ((t (:background "slate gray" :foreground "white"))))
                     '(ac-dabbrev-selection-face ((t (:background "firebrick4" :foreground "white"))))
                     '(ac-gtags-candidate-face ((t (:background "slate gray" :foreground "white"))))
                     '(ac-gtags-selection-face ((t (:background "indian red" :foreground "white"))))))

疑問点

face の設定が効いてない?
M-x apropos ^ac.*face して,各faceの状況を見たけど,きちんと意図したとおりに
設定されている。けど,実際に補完してみると,どうやら,ac-candidate-face が
デフォルトの設定になっているようだ。むむむ。わからん。
gtags 関連は大丈夫。
害はないからいいんだけど。オレオレ色に染めたいなぁ。
何か知らない設定があるのだろうか?
知っている人いたら教えてぷりーず。

まとめ

作者さんありがとう!
あなたのおかげで,Emacs ライフが快適になっています。
来年くらいに,Emacs 補完革命が起こりそうな気がして,
なんかオラ,わくわくしてきただ。
あと新しくしてからあまり使ってないため,エラーがでると思うので,出たら設定を修正していく感じ。