github.com/nozzle/golangci-lint@v1.49.0-nz3/pkg/golinters/maintidx.go (about)

     1  package golinters
     2  
     3  import (
     4  	"github.com/yagipy/maintidx"
     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 NewMaintIdx(cfg *config.MaintIdxSettings) *goanalysis.Linter {
    12  	analyzer := maintidx.Analyzer
    13  
    14  	cfgMap := map[string]map[string]interface{}{
    15  		analyzer.Name: {"under": 20},
    16  	}
    17  
    18  	if cfg != nil {
    19  		cfgMap[analyzer.Name] = map[string]interface{}{
    20  			"under": cfg.Under,
    21  		}
    22  	}
    23  
    24  	return goanalysis.NewLinter(
    25  		analyzer.Name,
    26  		analyzer.Doc,
    27  		[]*analysis.Analyzer{analyzer},
    28  		cfgMap,
    29  	).WithLoadMode(goanalysis.LoadModeSyntax)
    30  }