Skip to content

Commit

Permalink
fix #416: Add skip-dirs-use-default (#630)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean-Der authored and jirfag committed Sep 10, 2019
1 parent c87c372 commit f312a0f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 6 deletions.
17 changes: 15 additions & 2 deletions pkg/commands/run.go
Expand Up @@ -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"
Expand All @@ -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,
Expand All @@ -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)"

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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"))
Expand Down
5 changes: 3 additions & 2 deletions pkg/config/config.go
Expand Up @@ -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 {
Expand Down
6 changes: 4 additions & 2 deletions pkg/lint/runner.go
Expand Up @@ -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
Expand Down

0 comments on commit f312a0f

Please sign in to comment.