Each line of output produced by an external program is fed through several successive ErrorMatcher objects. Each ErrorMatcher corresponds to a different style of error messages, and holds onto an three regular expressions - for errors, warnings, and extra lines.
If the output of a line matches the error pattern, then file name, line number and error message are extracted from it; if not, the line is then optionally matched against another regular expression to determine if it is a warning.
If an error pattern specifies a filename of "$f", the current buffer's path is used; otherwise, the filename is resolved relative to the current directory.
It is also possible to specify an "extra" regular expression, against which lines subsequent to an error are checked and added to the error message if they match. This can be used to handle compilers which produce compiler errors and warnings that span several lines.
Parsed error and warning messages are shown in the Plugins>Error List>Error List window; this window is used to display errors from several other plugins as well.
The Console plugin includes error patterns that match errors produced by the following tools:
Generic errors matching the following format, produced by many tools, especially on Unix:
file
:line
:message
Generic errors matching the so called "Emacs" format:
file
:start line
:end line
:start column
:end column
:message
The jikes Java compiler will produce errors in this form if given if the +E command-line option. Otherwise, it will output errors in a non-standard format which cannot be parsed by the Console plugin.
Errors output by the javac compiler found in Java 2 version 1.3 and later. Earlier versions are also supported, because they output errors in the generic format documented above.
Errors output by the javac compiler when it is being run from the Ant project build tool.
Microsoft Visual C++ and Microsoft .Net compiler errors.
Perl errors.
Errors output by the Jade and OpenJade document generation tools.
Error patterns can be customized in the Console>Error Patterns pane of the Global Options dialog box; you should familiarize yourself with regular expressions first, the syntax of which is documented in the jEdit user's guide.