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
c-mode
, c++-mode
and 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:
Alternatively, you can bind the company-c-headers-path-system
and
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)