github.com/nozzle/golangci-lint@v1.49.0-nz3/pkg/golinters/decorder.go (about) 1 package golinters 2 3 import ( 4 "strings" 5 6 "gitlab.com/bosi/decorder" 7 "golang.org/x/tools/go/analysis" 8 9 "github.com/golangci/golangci-lint/pkg/config" 10 "github.com/golangci/golangci-lint/pkg/golinters/goanalysis" 11 ) 12 13 func NewDecorder(settings *config.DecorderSettings) *goanalysis.Linter { 14 a := decorder.Analyzer 15 16 // disable all rules/checks by default 17 cfg := map[string]interface{}{ 18 "disable-dec-num-check": true, 19 "disable-dec-order-check": true, 20 "disable-init-func-first-check": true, 21 } 22 23 if settings != nil { 24 cfg["dec-order"] = strings.Join(settings.DecOrder, ",") 25 cfg["disable-dec-num-check"] = settings.DisableDecNumCheck 26 cfg["disable-dec-order-check"] = settings.DisableDecOrderCheck 27 cfg["disable-init-func-first-check"] = settings.DisableInitFuncFirstCheck 28 } 29 30 return goanalysis.NewLinter( 31 a.Name, 32 a.Doc, 33 []*analysis.Analyzer{a}, 34 map[string]map[string]interface{}{a.Name: cfg}, 35 ).WithLoadMode(goanalysis.LoadModeSyntax) 36 }