Syntax highlighting support for "Modern C++" - until C++20 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.
With modern-c++-font-lock-mode
:
Using GNU Emacs 27.0.50
and CC Mode version 5.33.2
.
modern-cpp-font-lock
is available on the major package.el
community maintained repo - MELPA.
You can install it with the following command:
M-x package-install
[RET] modern-cpp-font-lock
[RET]
In your init Emacs file add:
(add-hook 'c++-mode-hook #'modern-c++-font-lock-mode)
or:
(modern-c++-font-lock-global-mode t)
In your init Emacs file add:
(use-package modern-cpp-font-lock
:ensure t)
Download modern-cpp-font-lock.el
into a directory of your load-path. Place the following lines in a suitable init file:
(require 'modern-cpp-font-lock)
(modern-c++-font-lock-global-mode t)
modern-c++-font-lock-mode
will be activated for buffers using the c++-mode
major-mode.
For the current buffer, the minor-mode can be turned on/off via the command:
M-x modern-c++-font-lock-mode
[RET]
You can modify the following lists to recognize more words or set it to nil
to partially disable font locking:
modern-c++-attributes
- [[deprecated]]
, [[noreturn]]
, etc.modern-c++-keywords
- if
, constexpr
, noexcept
, etc.modern-c++-operators
- ...
modern-c++-preprocessors
- #define
, __LINE__
, __cplusplus
, etc.modern-c++-types
- bool
, char
, double
, etc.Set to t
(default value) to enable the following options or otherwise to nil
:
modern-c++-literal-boolean
- false
, true
modern-c++-literal-integer
- 0b101010
, 18446744073709550592LLU
, 0XdeadBABEu
, etc.modern-c++-literal-null-pointer
- nullptr
modern-c++-literal-string
- R"xyz()")xyz"
, L"hello\ngoodbye"
, "abcd"
, etc.Configure the following list to customize font locking for literal integers:
modern-c++-literal-binary-prefix-face
modern-c++-literal-binary-infix-face
modern-c++-literal-binary-suffix-face
modern-c++-literal-octal-prefix-face
modern-c++-literal-octal-infix-face
modern-c++-literal-octal-suffix-face
modern-c++-literal-hex-prefix-face
modern-c++-literal-hex-infix-face
modern-c++-literal-hex-suffix-face
modern-c++-literal-dec-infix-face
modern-c++-literal-dec-suffix-face
Set to t
(default value) to enable the following font lock options. Otherwise use nil
:
modern-c++-stl-cstdint
- Define the header <cstdint>
When modern-c++-font-lock-mode
is activated, mc++fl
is displayed.
The Wiki is available: https://github.com/ludwigpacifici/modern-cpp-font-lock/wiki
Font-lock keywords are tested with the faceup package of Anders Lindgren.
If you find a bug, please check if you can reproduce with c++-mode
only. If it is the case, send your bug upstream to CC Mode
Do not hesitate to ask questions or share suggestions.
Happy coding!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4