Auto-completion for C/C++ headers using Company
Emacs Lisp Makefile
Latest commit 9bfdd43 Aug 29, 2016 @LoranceChen LoranceChen committed with unnecessary brackets (#13)
Thanks

readme.org

Auto-completion for C/C++ headers using Company

https://travis-ci.org/randomphrase/company-c-headers.svg?branch=master https://img.shields.io/coveralls/randomphrase/company-c-headers.svg http://melpa.org/packages/company-c-headers-badge.svg

This library enables the completion of C/C++ header file names using Company mode for Emacs.

screenshot.png

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.

Installation

The best way to install this package is via MELPA.

Setup

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-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)