Next: Installing Flymake, Previous: Top, Up: Top [Contents][Index]

## 1 Overview

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.

`flymake-goto-next-error` and `flymake-goto-prev-error` functions allow for easy navigation to the next/previous erroneous line, respectively.

Calling `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 error.

Syntax check is done “on-the-fly”. It is started whenever

- buffer is loaded
- a newline character is added to the buffer
- some changes were made to the buffer more than `0.5` seconds 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.

Next: Installing Flymake, Previous: Top, Up: Top [Contents][Index]