Documentation ¶
Index ¶
- Constants
- Variables
- func GetDefaultExcludePatternsStrings() []string
- type Config
- type CustomLinterSettings
- type DogsledSettings
- type ErrcheckSettings
- type ExcludePattern
- type ExcludeRule
- type FileReader
- type GocognitSettings
- type GocriticCheckSettings
- type GocriticSettings
- type GodotSettings
- type GodoxSettings
- type GovetSettings
- type Issues
- type Linters
- type LintersSettings
- type LllSettings
- type NakedretSettings
- type NestifSettings
- type PreallocSettings
- type Run
- type TestpackageSettings
- type UnparamSettings
- type WSLSettings
Constants ¶
View Source
const ( OutFormatJSON = "json" OutFormatLineNumber = "line-number" OutFormatColoredLineNumber = "colored-line-number" OutFormatTab = "tab" OutFormatCheckstyle = "checkstyle" OutFormatCodeClimate = "code-climate" OutFormatJunitXML = "junit-xml" OutFormatGithubActions = "github-actions" )
Variables ¶
View Source
var DefaultExcludePatterns = []ExcludePattern{
{
Pattern: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close" +
"|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked",
Linter: "errcheck",
Why: "Almost all programs ignore errors on these functions and in most cases it's ok",
},
{
Pattern: "(comment on exported (method|function|type|const)|" +
"should have( a package)? comment|comment should be of the form)",
Linter: "golint",
Why: "Annoying issue about not having a comment. The rare codebase has such comments",
},
{
Pattern: "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this",
Linter: "golint",
Why: "False positive when tests are defined in package 'test'",
},
{
Pattern: "(possible misuse of unsafe.Pointer|should have signature)",
Linter: "govet",
Why: "Common false positives",
},
{
Pattern: "ineffective break statement. Did you mean to break out of the outer loop",
Linter: "staticcheck",
Why: "Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore",
},
{
Pattern: "Use of unsafe calls should be audited",
Linter: "gosec",
Why: "Too many false-positives on 'unsafe' usage",
},
{
Pattern: "Subprocess launch(ed with variable|ing should be audited)",
Linter: "gosec",
Why: "Too many false-positives for parametrized shell calls",
},
{
Pattern: "G104",
Linter: "gosec",
Why: "Duplicated errcheck checks",
},
{
Pattern: "(Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)",
Linter: "gosec",
Why: "Too many issues in popular repos",
},
{
Pattern: "Potential file inclusion via variable",
Linter: "gosec",
Why: "False positive is triggered by 'src, err := ioutil.ReadFile(filename)'",
},
}
Functions ¶
func GetDefaultExcludePatternsStrings ¶ added in v1.4.1
func GetDefaultExcludePatternsStrings() []string
Types ¶
type Config ¶
type Config struct { Run Run Output struct { Format string Color string PrintIssuedLine bool `mapstructure:"print-issued-lines"` PrintLinterName bool `mapstructure:"print-linter-name"` UniqByLine bool `mapstructure:"uniq-by-line"` PrintWelcomeMessage bool `mapstructure:"print-welcome"` } LintersSettings LintersSettings `mapstructure:"linters-settings"` Linters Linters Issues Issues InternalTest bool // Option is used only for testing golangci-lint code, don't use it }
func NewDefault ¶ added in v1.8.1
func NewDefault() *Config
type CustomLinterSettings ¶ added in v1.23.0
type DogsledSettings ¶ added in v1.19.0
type DogsledSettings struct {
MaxBlankIdentifiers int `mapstructure:"max-blank-identifiers"`
}
type ErrcheckSettings ¶ added in v1.11.1
type ExcludePattern ¶ added in v1.4.1
type ExcludeRule ¶ added in v1.15.0
func (ExcludeRule) Validate ¶ added in v1.15.0
func (e ExcludeRule) Validate() error
type FileReader ¶ added in v1.7.1
type FileReader struct {
// contains filtered or unexported fields
}
func NewFileReader ¶ added in v1.7.1
func NewFileReader(toCfg, commandLineCfg *Config, log logutils.Log) *FileReader
func (*FileReader) Read ¶ added in v1.7.1
func (r *FileReader) Read() error
type GocognitSettings ¶ added in v1.20.0
type GocognitSettings struct {
MinComplexity int `mapstructure:"min-complexity"`
}
type GocriticCheckSettings ¶ added in v1.12.1
type GocriticCheckSettings map[string]interface{}
type GocriticSettings ¶ added in v1.12.1
type GocriticSettings struct { EnabledChecks []string `mapstructure:"enabled-checks"` DisabledChecks []string `mapstructure:"disabled-checks"` EnabledTags []string `mapstructure:"enabled-tags"` DisabledTags []string `mapstructure:"disabled-tags"` SettingsPerCheck map[string]GocriticCheckSettings `mapstructure:"settings"` // contains filtered or unexported fields }
func (*GocriticSettings) GetLowercasedParams ¶ added in v1.13.2
func (s *GocriticSettings) GetLowercasedParams() map[string]GocriticCheckSettings
func (*GocriticSettings) InferEnabledChecks ¶ added in v1.12.1
func (s *GocriticSettings) InferEnabledChecks(log logutils.Log)
func (*GocriticSettings) IsCheckEnabled ¶ added in v1.12.1
func (s *GocriticSettings) IsCheckEnabled(name string) bool
type GodotSettings ¶ added in v1.25.0
type GodotSettings struct {
CheckAll bool `mapstructure:"check-all"`
}
type GodoxSettings ¶ added in v1.19.0
type GodoxSettings struct {
Keywords []string
}
type GovetSettings ¶ added in v1.16.0
type GovetSettings struct { CheckShadowing bool `mapstructure:"check-shadowing"` Settings map[string]map[string]interface{} Enable []string Disable []string EnableAll bool `mapstructure:"enable-all"` DisableAll bool `mapstructure:"disable-all"` }
func (GovetSettings) Validate ¶ added in v1.19.0
func (cfg GovetSettings) Validate() error
type Issues ¶
type Issues struct { ExcludePatterns []string `mapstructure:"exclude"` ExcludeRules []ExcludeRule `mapstructure:"exclude-rules"` UseDefaultExcludes bool `mapstructure:"exclude-use-default"` MaxIssuesPerLinter int `mapstructure:"max-issues-per-linter"` MaxSameIssues int `mapstructure:"max-same-issues"` DiffFromRevision string `mapstructure:"new-from-rev"` DiffPatchFilePath string `mapstructure:"new-from-patch"` Diff bool `mapstructure:"new"` NeedFix bool `mapstructure:"fix"` }
type LintersSettings ¶
type LintersSettings struct { Govet GovetSettings Golint struct { MinConfidence float64 `mapstructure:"min-confidence"` } Gofmt struct { Simplify bool } Goimports struct { LocalPrefixes string `mapstructure:"local-prefixes"` } Gocyclo struct { MinComplexity int `mapstructure:"min-complexity"` } Varcheck struct { CheckExportedFields bool `mapstructure:"exported-fields"` } Structcheck struct { CheckExportedFields bool `mapstructure:"exported-fields"` } Maligned struct { SuggestNewOrder bool `mapstructure:"suggest-new"` } Dupl struct { Threshold int } Goconst struct { MinStringLen int `mapstructure:"min-len"` MinOccurrencesCount int `mapstructure:"min-occurrences"` } Gomnd struct { Settings map[string]map[string]interface{} } Depguard struct { ListType string `mapstructure:"list-type"` Packages []string IncludeGoRoot bool `mapstructure:"include-go-root"` PackagesWithErrorMessage map[string]string `mapstructure:"packages-with-error-message"` } Misspell struct { Locale string IgnoreWords []string `mapstructure:"ignore-words"` } Unused struct { CheckExported bool `mapstructure:"check-exported"` } Funlen struct { Lines int Statements int } Whitespace struct { MultiIf bool `mapstructure:"multi-if"` MultiFunc bool `mapstructure:"multi-func"` } RowsErrCheck struct { Packages []string } Gomodguard struct { Allowed struct { Modules []string `mapstructure:"modules"` Domains []string `mapstructure:"domains"` } `mapstructure:"allowed"` Blocked struct { Modules []map[string]struct { Recommendations []string `mapstructure:"recommendations"` Reason string `mapstructure:"reason"` } `mapstructure:"modules"` } `mapstructure:"blocked"` } WSL WSLSettings Lll LllSettings Unparam UnparamSettings Nakedret NakedretSettings Prealloc PreallocSettings Errcheck ErrcheckSettings Gocritic GocriticSettings Godox GodoxSettings Dogsled DogsledSettings Gocognit GocognitSettings Godot GodotSettings Testpackage TestpackageSettings Nestif NestifSettings Custom map[string]CustomLinterSettings }
type LllSettings ¶ added in v1.8.1
type NakedretSettings ¶ added in v1.9.1
type NakedretSettings struct {
MaxFuncLines int `mapstructure:"max-func-lines"`
}
type NestifSettings ¶ added in v1.25.0
type NestifSettings struct {
MinComplexity int `mapstructure:"min-complexity"`
}
type PreallocSettings ¶ added in v1.9.1
type Run ¶
type Run struct { IsVerbose bool `mapstructure:"verbose"` Silent bool CPUProfilePath string MemProfilePath string TracePath string Concurrency int PrintResourcesUsage bool `mapstructure:"print-resources-usage"` Config string NoConfig bool Args []string BuildTags []string `mapstructure:"build-tags"` ModulesDownloadMode string `mapstructure:"modules-download-mode"` ExitCodeIfIssuesFound int `mapstructure:"issues-exit-code"` AnalyzeTests bool `mapstructure:"tests"` // Deprecated: Deadline exists for historical compatibility // and should not be used. To set run timeout use Timeout instead. Deadline time.Duration Timeout time.Duration PrintVersion bool SkipFiles []string `mapstructure:"skip-files"` SkipDirs []string `mapstructure:"skip-dirs"` UseDefaultSkipDirs bool `mapstructure:"skip-dirs-use-default"` }
type TestpackageSettings ¶ added in v1.25.0
type TestpackageSettings struct {
SkipRegexp string `mapstructure:"skip-regexp"`
}
type UnparamSettings ¶ added in v1.9.1
type WSLSettings ¶ added in v1.20.0
type WSLSettings struct { StrictAppend bool `mapstructure:"strict-append"` AllowAssignAndCallCuddle bool `mapstructure:"allow-assign-and-call"` AllowMultiLineAssignCuddle bool `mapstructure:"allow-multiline-assign"` AllowCuddleDeclaration bool `mapstructure:"allow-cuddle-declarations"` AllowTrailingComment bool `mapstructure:"allow-trailing-comment"` AllowSeparatedLeadingComment bool `mapstructure:"allow-separated-leading-comment"` ForceCuddleErrCheckAndAssign bool `mapstructure:"force-err-cuddling"` ForceCaseTrailingWhitespaceLimit int `mapstructure:"force-case-trailing-whitespace"` }
Click to show internal directories.
Click to hide internal directories.