shtaxxx日記

コンピュータアーキテクチャについて研究している研究者の日記や技術紹介

Mac上のemacsでauto-complete-clang-asyncを使う

Emacsc/c++の補完をするためにauto-complete-clang-asyncを使うことにしました. 以下はその設定時のメモ.

Homebrewでemacs-clang-complete-asyncをインストールする

brew install emacs-clang-complete-async 

emacsでauto-complete-clang-asyncをインストールする

僕はpackage.elで自動インストールするように管理しています. 手動の場合には,"M-x package-list-packages" でpackage一覧を表示してからauto-complete-clang-asyncを指定すればインストールできるのでしょうか. 自動でパッケージをインストールする方法はコードを参照.

github.com

emacsのinit.elとかに設定を書く

僕はinit-loaderで設定を分けて管理しています.

20-auto-complete.el

(require 'auto-complete)
(require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)

70-cc-mode.el

(autoload 'google-c-style "google-c-style" nil t)
(add-hook 'c-mode-common-hook 'google-set-c-style)
(add-hook 'c++-mode-common-hook 'google-set-c-style)
(add-hook 'c-mode-common-hook 'google-make-newline-indent)

(add-hook 'c-mode-common-hook
          '(lambda()
             (setq ac-clang-complete-executable "clang-complete")
             (when (executable-find ac-clang-complete-executable)
               (require 'auto-complete-clang-async)
               (setq ac-sources '(ac-source-clang-async))
               (ac-clang-launch-completion-process))))

設定一式

GitHubにアップロードしてあるのでそちらを参照してください.

github.com