ccfilter1
A compiler's output filter for vim quickfix
Usage
ccfilter [<options>]
Overview
The ccfilter utility "filters" the output of several compilers and makers (make/gmake) from several platforms (see NOTES below) to a standardized format which easily fits in vim's quickfix feature. For further details, see in vim ":help quickfix".
ccfilter reads 'stdin' and outputs to 'stdout' .
The need for ccfilter is clear, as some compilers have irregular and/or multiple line error messages (with the relevant information on line 2), which makes it impossible for the errorformat to correctly display them !
When working on different platforms, and with different compilers, ccfilter eases the utilization of quickfix, due to its standardized output, allowing to have in .vimrc a plain
:set errorformat=%f:%l:%c:%t:%m
Usage
When using ccfilter, one would include the following lines in .vimrc:
:set shellpipe=\\|&ccfilter\\>
:set errorformat=%f:%l:%c:%t:%m
Options
-
-c -
Decrement column by one. This may be needed, depending on the compiler being used.
-
-r -
Decrement row by one. This may be needed, depending on the compiler being used.
-
-v -
Verbose (Outputs also invalid lines). This option makes ccfilter output also the lines that couldn't be correctly parsed. This is used mostly for ccfilter debugging.
-
-o <COMPILER> -
Treat input as <COMPILER>'s output. Even when configuring ccfilter to assume a default COMPILER, sometimes it's helpful to be able to specify the COMPILER used to generate ccfilter's input. For example, when cross-compiling on a network from a single machine.
-
-h -
Shows a brief help, describing the configured default COMPILER and the valid parameters for COMPILER.
Notes
Currently, ccfilter accepts output from several compilers, as described below:
GCC
|
GCC compiler |
|---|---|
AIX
|
AIX's C compiler |
ATT
|
AT&T/NCR's High Performance C Compiler |
IRIX
|
IRIX's MIPS/MIPSpro C compiler |
SOLARIS
|
SOLARIS's SparcWorks C compiler |
HPUX
|
HPUX's C compiler |
Releases
145 releases since Mac OS X 10.3; the text changed 1 time.