Auto-completion for C/C++ headers using Company
This library enables the completion of C/C++ header file names using Company mode for Emacs.
When you type an
#include declaration within a supported major mode (currently
objc-mode), company-c-headers will search for completion candidates within the defined include paths. There are “system” and “user” include paths, for
#include <...> and
#include "..." declarations, respectively.
During completion, the path to the current candidate can be seen in the minibuffer, such as in the screenshot above. Also during completion, you can use C-w to temporarily display the currently-selected header file.
This library is inspired by auto-complete-c-headers.
The best way to install this package is via MELPA.
With the company-c-headers library added to the
load-path, all you need to do to initialize it is:
(add-to-list 'company-backends 'company-c-headers)
Typically you would want to customize the search paths, which you can do using M-x customize-group, company-c-headers.
Alternatively, you can bind the
company-c-headers-path-user variables to functions which return the corresponding paths. For example, if you are using EDE, you can use the following:
(defun ede-object-system-include-path () "Return the system include path for the current buffer." (when ede-object (ede-system-include-path ede-object))) (setq company-c-headers-path-system 'ede-object-system-include-path)