## 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"
    }