irony-mode is an Emacs minor-mode that aims at improving the editing experience for the C, C++ and Objective-C languages. It works by using a combination of an Emacs package and a C++ program (irony-server) exposing libclang. irony-server provides the libclang interface to irony-mode. It uses a simple protocol based on S-expression. This server, written in C++ and requires the specified packages to be installed on your system. Exactly one package manager should manage irony-mode. If using apt, but the MELPA package is desired, uninstall the version managed by apt; Likewise, installing from both MELPA and straight.el may result in a state that requires a manual workaround. The backports mechanism is the recommended and officially supported method of accessing newer versions than Debian stable provides. In order to work correctly, irony-mode needs to know the compile flags. irony-cdb aims to provide as automatic as possible compile flags discovery, with minimal user input.
Features
- Code completion
 - With Emacs' built-in completion-at-point-functions
 - With company-mode's backend: company-irony
 - Syntax checking
 - With flycheck's checker: flycheck-irony
 - eldoc integration