Refactor repository layout and convert build system to Mage.
This commit implements a massive refactor of the repository, and moves the build system over to use Mage (magefile.org) which should allow seamless building across multiple platforms.
This commit is contained in:
54
tools/vendor/github.com/alecthomas/gometalinter/README.md
generated
vendored
54
tools/vendor/github.com/alecthomas/gometalinter/README.md
generated
vendored
@@ -3,10 +3,13 @@
|
||||
|
||||
<!-- MarkdownTOC -->
|
||||
|
||||
- [Installing](#installing)
|
||||
- [Editor integration](#editor-integration)
|
||||
- [Supported linters](#supported-linters)
|
||||
- [Configuration file](#configuration-file)
|
||||
- [Installing](#installing)
|
||||
- [`Format` key](#format-key)
|
||||
- [Format Methods](#format-methods)
|
||||
- [Adding Custom linters](#adding-custom-linters)
|
||||
- [Comment directives](#comment-directives)
|
||||
- [Quickstart](#quickstart)
|
||||
- [FAQ](#faq)
|
||||
@@ -39,6 +42,16 @@ eg.
|
||||
|
||||
It is intended for use with editor/IDE integration.
|
||||
|
||||
## Installing
|
||||
|
||||
There are two options for installing gometalinter.
|
||||
|
||||
1. Install a stable version, eg. `go get -u gopkg.in/alecthomas/gometalinter.v2`.
|
||||
I will generally only tag a new stable version when it has passed the Travis
|
||||
regression tests. The downside is that the binary will be called `gometalinter.v2`.
|
||||
2. Install from HEAD with: `go get -u github.com/alecthomas/gometalinter`.
|
||||
This has the downside that changes to gometalinter may break.
|
||||
|
||||
## Editor integration
|
||||
|
||||
- [SublimeLinter plugin](https://github.com/alecthomas/SublimeLinter-contrib-gometalinter).
|
||||
@@ -91,9 +104,11 @@ Additional linters can be added through the command line with `--linter=NAME:COM
|
||||
|
||||
## Configuration file
|
||||
|
||||
gometalinter now supports a JSON configuration file which can be loaded via
|
||||
`--config=<file>`. The format of this file is determined by the `Config` struct
|
||||
in [config.go](https://github.com/alecthomas/gometalinter/blob/master/config.go).
|
||||
gometalinter now supports a JSON configuration file called `.gometalinter.json` that can
|
||||
be placed at the root of your project. The configuration file will be automatically loaded
|
||||
from the working directory or any parent directory and can be overridden by passing
|
||||
`--config=<file>` or ignored with `--no-config`. The format of this file is determined by
|
||||
the `Config` struct in [config.go](https://github.com/alecthomas/gometalinter/blob/master/config.go).
|
||||
|
||||
The configuration file mostly corresponds to command-line flags, with the following exceptions:
|
||||
|
||||
@@ -110,6 +125,27 @@ Here is an example configuration file:
|
||||
}
|
||||
```
|
||||
|
||||
If a `.gometalinter.json` file is loaded, individual options can still be overridden by
|
||||
passing command-line flags. All flags are parsed in order, meaning configuration passed
|
||||
with the `--config` flag will override any command-line flags passed before and be
|
||||
overridden by flags passed after.
|
||||
|
||||
|
||||
#### `Format` key
|
||||
|
||||
The default `Format` key places the different fields of an `Issue` into a template. this
|
||||
corresponds to the `--format` option command-line flag.
|
||||
|
||||
Default `Format`:
|
||||
```
|
||||
Format: "{{.Path}}:{{.Line}}:{{if .Col}}{{.Col}}{{end}}:{{.Severity}}: {{.Message}} ({{.Linter}})"
|
||||
```
|
||||
|
||||
#### Format Methods
|
||||
|
||||
* `{{.Path.Relative}}` - equivalent to `{{.Path}}` which outputs a relative path to the file
|
||||
* `{{.Path.Abs}}` - outputs an absolute path to the file
|
||||
|
||||
### Adding Custom linters
|
||||
|
||||
Linters can be added and customized from the config file using the `Linters` field.
|
||||
@@ -138,16 +174,6 @@ Example:
|
||||
$ gometalinter --linter='vet:go tool vet -printfuncs=Infof,Debugf,Warningf,Errorf:PATH:LINE:MESSAGE' .
|
||||
```
|
||||
|
||||
## Installing
|
||||
|
||||
There are two options for installing gometalinter.
|
||||
|
||||
1. Install a stable version, eg. `go get -u gopkg.in/alecthomas/gometalinter.v1`.
|
||||
I will generally only tag a new stable version when it has passed the Travis
|
||||
regression tests. The downside is that the binary will be called `gometalinter.v1`.
|
||||
2. Install from HEAD with: `go get -u github.com/alecthomas/gometalinter`.
|
||||
This has the downside that changes to gometalinter may break.
|
||||
|
||||
## Comment directives
|
||||
|
||||
gometalinter supports suppression of linter messages via comment directives. The
|
||||
|
||||
Reference in New Issue
Block a user