github.com/nozzle/golangci-lint@v1.49.0-nz3/pkg/golinters/errorlint.go (about) 1 package golinters 2 3 import ( 4 "github.com/polyfloyd/go-errorlint/errorlint" 5 "golang.org/x/tools/go/analysis" 6 7 "github.com/golangci/golangci-lint/pkg/config" 8 "github.com/golangci/golangci-lint/pkg/golinters/goanalysis" 9 ) 10 11 func NewErrorLint(cfg *config.ErrorLintSettings) *goanalysis.Linter { 12 a := errorlint.NewAnalyzer() 13 14 cfgMap := map[string]map[string]interface{}{} 15 16 if cfg != nil { 17 cfgMap[a.Name] = map[string]interface{}{ 18 "errorf": cfg.Errorf, 19 "asserts": cfg.Asserts, 20 "comparison": cfg.Comparison, 21 } 22 } 23 24 return goanalysis.NewLinter( 25 a.Name, 26 "errorlint is a linter for that can be used to find code "+ 27 "that will cause problems with the error wrapping scheme introduced in Go 1.13.", 28 []*analysis.Analyzer{a}, 29 cfgMap, 30 ).WithLoadMode(goanalysis.LoadModeTypesInfo) 31 }