Formatters
Text
Text is the default output formatter.
It formats problems using the following format: file:line:col: message
.
This format is commonly used by compilers and linters,
and is understood by most editors.
Example output
go/src/fmt/print.go:1069:15: this value of afterIndex is never used (SA4006)
Stylish
Stylish is a formatter designed for human consumption. It groups results by file name and breaks up the various pieces of information into columns. Additionally, it displays a final summary.
This output format is not suited for automatic consumption by tools and may change between versions.
go/src/fmt/fmt_test.go
(43, 2) S1021 should merge variable declaration with assignment on next line
(1185, 10) SA9003 empty branch
go/src/fmt/print.go
(77, 18) ST1006 methods on the same type should have the same receiver name (seen 3x "b", 1x "bp")
(1069, 15) SA4006 this value of afterIndex is never used
go/src/fmt/scan.go
(465, 5) ST1012 error var complexError should have name of the form errFoo
(466, 5) ST1012 error var boolError should have name of the form errFoo
✖ 6 problems (6 errors, 0 warnings)
JSON
The JSON formatter emits one JSON object per problem found – that is, it is a stream of objects, not an array. Most fields should be self-explanatory.
The severity
field may be one of
"error"
, "warning"
or "ignored"
.
Whether a problem is an error or a warning is determined by the -fail
flag.
The value "ignored"
is used for problems that were ignored,
if the -show-ignored
flag was provided.
Example output
Note that actual output is not formatted nicely. The example has been formatted to improve readability.
{
"code": "SA4006",
"severity": "error",
"location": {
"file": "/usr/lib/go/src/fmt/print.go",
"line": 1082,
"column": 15
},
"end": {
"file": "/usr/lib/go/src/fmt/print.go",
"line": 1082,
"column": 25
},
"message": "this value of afterIndex is never used"
}