Flymake is a universal on-the-fly syntax checker implemented as an
Emacs minor mode. Flymake runs the pre-configured syntax check tool
(compiler for C++ files,
perl for perl files, etc.) in the
background, passing it a temporary copy of the current buffer, and
parses the output for known error/warning message patterns. Flymake
then highlights erroneous lines (i.e., lines for which at least one
error or warning has been reported by the syntax check tool), and
displays an overall buffer status in the mode line. Status information
displayed by Flymake contains total number of errors and warnings
reported for the buffer during the last syntax check.
functions allow for easy navigation to the next/previous erroneous
flymake-display-err-menu-for-current-line will popup a
menu containing error messages reported by the syntax check tool for
the current line. Errors/warnings belonging to another file, such as a
.h header file included by a
.c file, are shown in the
current buffer as belonging to the first line. Menu items for such
messages also contain a filename and a line number. Selecting such a
menu item will automatically open the file and jump to the line with
Syntax check is done “on-the-fly”. It is started whenever
0.5seconds ago (the delay is configurable).
Flymake is a universal syntax checker in the sense that it's easily extended to support new syntax check tools and error message patterns. See Configuring Flymake.