parent
c87c37210f
commit
f312a0fc4e
@ -10,6 +10,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/packages"
|
||||
"github.com/golangci/golangci-lint/pkg/result/processors"
|
||||
|
||||
"github.com/fatih/color"
|
||||
@ -26,7 +27,7 @@ import (
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
||||
func getDefaultExcludeHelp() string {
|
||||
func getDefaultIssueExcludeHelp() string {
|
||||
parts := []string{"Use or not use default excludes:"}
|
||||
for _, ep := range config.DefaultExcludePatterns {
|
||||
parts = append(parts,
|
||||
@ -38,6 +39,17 @@ func getDefaultExcludeHelp() string {
|
||||
return strings.Join(parts, "\n")
|
||||
}
|
||||
|
||||
func getDefaultDirectoryExcludeHelp() string {
|
||||
parts := []string{"Use or not use default excluded directories:"}
|
||||
for _, dir := range packages.StdExcludeDirRegexps {
|
||||
parts = append(parts,
|
||||
fmt.Sprintf(" - %s", color.YellowString(dir)),
|
||||
"",
|
||||
)
|
||||
}
|
||||
return strings.Join(parts, "\n")
|
||||
}
|
||||
|
||||
const welcomeMessage = "Run this tool in cloud on every github pull " +
|
||||
"request in https://golangci.com for free (public repos)"
|
||||
|
||||
@ -83,6 +95,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
|
||||
fs.StringVarP(&rc.Config, "config", "c", "", wh("Read config from file path `PATH`"))
|
||||
fs.BoolVar(&rc.NoConfig, "no-config", false, wh("Don't read config"))
|
||||
fs.StringSliceVar(&rc.SkipDirs, "skip-dirs", nil, wh("Regexps of directories to skip"))
|
||||
fs.BoolVar(&rc.UseDefaultSkipDirs, "skip-dirs-use-default", true, getDefaultDirectoryExcludeHelp())
|
||||
fs.StringSliceVar(&rc.SkipFiles, "skip-files", nil, wh("Regexps of files to skip"))
|
||||
|
||||
// Linters settings config
|
||||
@ -162,7 +175,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
|
||||
// Issues config
|
||||
ic := &cfg.Issues
|
||||
fs.StringSliceVarP(&ic.ExcludePatterns, "exclude", "e", nil, wh("Exclude issue by regexp"))
|
||||
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultExcludeHelp())
|
||||
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultIssueExcludeHelp())
|
||||
|
||||
fs.IntVar(&ic.MaxIssuesPerLinter, "max-issues-per-linter", 50,
|
||||
wh("Maximum issues count per one linter. Set to 0 to disable"))
|
||||
|
@ -118,8 +118,9 @@ type Run struct {
|
||||
Deadline time.Duration
|
||||
PrintVersion bool
|
||||
|
||||
SkipFiles []string `mapstructure:"skip-files"`
|
||||
SkipDirs []string `mapstructure:"skip-dirs"`
|
||||
SkipFiles []string `mapstructure:"skip-files"`
|
||||
SkipDirs []string `mapstructure:"skip-dirs"`
|
||||
UseDefaultSkipDirs bool `mapstructure:"skip-dirs-use-default"`
|
||||
}
|
||||
|
||||
type LintersSettings struct {
|
||||
|
@ -48,8 +48,10 @@ func NewRunner(astCache *astcache.Cache, cfg *config.Config, log logutils.Log, g
|
||||
return nil, err
|
||||
}
|
||||
|
||||
skipDirs := append([]string{}, packages.StdExcludeDirRegexps...)
|
||||
skipDirs = append(skipDirs, cfg.Run.SkipDirs...)
|
||||
skipDirs := cfg.Run.SkipDirs
|
||||
if cfg.Run.UseDefaultSkipDirs {
|
||||
skipDirs = append(skipDirs, packages.StdExcludeDirRegexps...)
|
||||
}
|
||||
skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child("skip dirs"), cfg.Run.Args)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Loading…
x
Reference in New Issue
Block a user