1
0
mirror of https://github.com/mgechev/revive.git synced 2024-11-24 08:32:22 +02:00
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint https://revive.run/
Go to file
2018-02-04 13:42:05 -08:00
assets Add logo 2017-08-27 20:59:53 -07:00
fixtures Add new rule 2018-02-02 13:32:03 -05:00
formatter Refactoring 2018-02-04 13:42:05 -08:00
lint Refactoring 2018-02-03 19:37:38 -08:00
rule Add new rule 2018-02-02 13:32:03 -05:00
testutil Add new rule 2018-02-02 13:32:03 -05:00
.gitignore Refactor 2017-08-27 21:02:59 -07:00
config.toml Add default formatter 2018-01-27 17:01:18 -08:00
defaults.toml Update the error code handling 2018-02-03 19:33:14 -08:00
Gopkg.lock Use dep instead of glide 2018-01-29 13:49:24 -08:00
Gopkg.toml Use dep instead of glide 2018-01-29 13:49:24 -08:00
lintconfig.go Fail in case of invalid input directories 2018-02-04 12:54:37 -08:00
main.go Update the error code handling 2018-02-03 19:33:14 -08:00
README.md Refactoring 2018-02-04 13:42:05 -08:00

revive

Fast, configurable, extensible, flexible, and beautiful linter for Go.

Here's how revive is different from golint:

  • Allows you to enable or disable rules using a configuration file.
  • Allows you to configure the linting rules with a configuration file.
  • Provides functionality to disable a specific rule or the entire linter for a file or a range of lines.
  • Provides more rules compared to golint.
  • Provides multiple formatters which let you customize the output.
  • Allows you to customize the return code for the entire linter or based on the failure of only some rules.
  • Open for addition of new rules or formatters.
  • Faster since it runs the rules over each file in a separate goroutine.

Usage

Revive is configurable linter which you can fit your needs. By default you can use revive with the default configuration options. This way the linter will work the same way golint does.

Command Line Flags

Revive accepts only three command line parameters:

  • config - path to config file in TOML format.
  • exclude - pattern for files/directories/packages to be excluded for linting. You can specify the files you want to exclude for linting either as package name (i.e. github.com/mgechev/revive), list them as individual files (i.e. file.go file2.go), directories (i.e. ./foo/...), or any combination of the three.
  • formatter - formatter to be used for the output. The currently available formatters are:
    • default - will output the warnings the same way that golint does.
    • json - outputs the warnings in JSON format.
    • cli - formats the warnings in a table.

Configuration

Revive can be configured with a TOML file

Default Configuration

The default configuration of revive can be found at defaults.toml. This will enable all rules available in golint and use their default configuration (i.e. the config which is hardcoded in golint).

revive -config defaults.toml github.com/mgechev/revive

This will use defaults.toml, the default formatter, and will run linting over the github.com/mgechev/revive package.

revive -config config.toml -formatter cli github.com/mgechev/revive

This will use config.toml, the cli formatter, and will run linting over the github.com/mgechev/revive package.

License

MIT