github.com/nozzle/golangci-lint@v1.49.0-nz3/pkg/golinters/usestdlibvars.go (about) 1 package golinters 2 3 import ( 4 "github.com/sashamelentyev/usestdlibvars/pkg/analyzer" 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 NewUseStdlibVars(cfg *config.UseStdlibVarsSettings) *goanalysis.Linter { 12 a := analyzer.New() 13 14 cfgMap := make(map[string]map[string]interface{}) 15 if cfg != nil { 16 cfgMap[a.Name] = map[string]interface{}{ 17 analyzer.ConstantKindFlag: cfg.ConstantKind, 18 analyzer.CryptoHashFlag: cfg.CryptoHash, 19 analyzer.HTTPMethodFlag: cfg.HTTPMethod, 20 analyzer.HTTPStatusCodeFlag: cfg.HTTPStatusCode, 21 analyzer.OSDevNullFlag: cfg.OSDevNullFlag, 22 analyzer.RPCDefaultPathFlag: cfg.DefaultRPCPathFlag, 23 analyzer.SQLIsolationLevelFlag: cfg.SQLIsolationLevelFlag, 24 analyzer.TimeLayoutFlag: cfg.TimeLayout, 25 analyzer.TimeMonthFlag: cfg.TimeMonth, 26 analyzer.TimeWeekdayFlag: cfg.TimeWeekday, 27 analyzer.TLSSignatureSchemeFlag: cfg.TLSSignatureSchemeFlag, 28 } 29 } 30 31 return goanalysis.NewLinter( 32 a.Name, 33 a.Doc, 34 []*analysis.Analyzer{a}, 35 cfgMap, 36 ).WithLoadMode(goanalysis.LoadModeSyntax) 37 }