github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/pkg/golinters/rowerrcheck.go (about)

     1  package golinters
     2  
     3  import (
     4  	"github.com/jingyugao/rowserrcheck/passes/rowserr"
     5  	"golang.org/x/tools/go/analysis"
     6  
     7  	"github.com/elek/golangci-lint/pkg/golinters/goanalysis"
     8  	"github.com/elek/golangci-lint/pkg/lint/linter"
     9  )
    10  
    11  func NewRowsErrCheck() *goanalysis.Linter {
    12  	analyzer := rowserr.NewAnalyzer()
    13  	return goanalysis.NewLinter(
    14  		"rowserrcheck",
    15  		"checks whether Err of rows is checked successfully",
    16  		[]*analysis.Analyzer{analyzer},
    17  		nil,
    18  	).WithLoadMode(goanalysis.LoadModeTypesInfo).
    19  		WithContextSetter(func(lintCtx *linter.Context) {
    20  			pkgs := lintCtx.Settings().RowsErrCheck.Packages
    21  			analyzer.Run = rowserr.NewRun(pkgs...)
    22  		})
    23  }