With C++11, the keyword auto attained a new syntax and semantics. However, it seems that CC-mode has not been aware of this.

For example, if I write auto var = exp, I get var in green, in which various types are displayed. I don't like this; var should look like other variables.

How can I teach CC-mode to do this?

2 Answers 2


One option is to add "auto" to extra types recognized by c++-mode:

(require 'cc-mode)
(add-to-list 'c++-font-lock-extra-types "auto")

The downside is that now it is not highlighted as a keyword any more. (But "auto" is both a type and a keyword, in a way.)

  • I actually wanted auto to be highlighted as a type, so it is not a downside :)
    – Pteromys
    Commented Nov 27, 2014 at 20:58

Have a look at the package : "Modern C++" font-lock for Emacs. It is also available on Melpa.

Syntax highlighting support for "Modern C++" - until C++17 and Technical Specification. This package aims to provide a simple highlight of the C++ language without dependency.

It is recommended to use it in addition with the c++-mode major mode for extra highlighting (user defined types, functions, etc.) and indentation.

I am the maintainer of this minor mode. Any feedback is appreciated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.