Documentation ¶
Index ¶
- Constants
- Variables
- func GetDefaultExcludePatternsStrings() []string
- func IsGoGreaterThanOrEqual(current, limit string) bool
- type AsasalintSettings
- type BaseRule
- type BiDiChkSettings
- type Config
- type CopyLoopVarSettings
- type CustomLinterSettings
- type Cyclop
- type DecorderSettings
- type DepGuardDeny
- type DepGuardList
- type DepGuardSettings
- type DogsledSettings
- type DupWordSettings
- type DuplSettings
- type ErrChkJSONSettings
- type ErrcheckSettings
- type ErrorLintAllowPair
- type ErrorLintSettings
- type ExcludePattern
- type ExcludeRule
- type ExhaustiveSettings
- type ExhaustructSettings
- type ForbidigoPattern
- type ForbidigoSettings
- type FunlenSettings
- type GciSettings
- type GinkgoLinterSettings
- type GoConstSettings
- type GoCriticCheckSettings
- type GoCriticSettings
- type GoCycloSettings
- type GoFmtRewriteRule
- type GoFmtSettings
- type GoHeaderSettings
- type GoImportsSettings
- type GoMndSettingsdeprecated
- type GoModDirectivesSettings
- type GoModGuardSettings
- type GoSecSettings
- type GocognitSettings
- type GodotSettings
- type GodoxSettings
- type GofumptSettings
- type GosmopolitanSettings
- type GovetSettings
- type GrouperSettings
- type INamedParamSettings
- type ImportAsAlias
- type ImportAsSettings
- type InterfaceBloatSettings
- type IreturnSettings
- type Issues
- type Linters
- type LintersSettings
- type LllSettings
- type LoadOptions
- type Loader
- type LoaderOptions
- type LoggerCheckSettings
- type MaintIdxSettings
- type MakezeroSettings
- type MisspellExtraWords
- type MisspellSettings
- type MndSettings
- type MustTagSettings
- type NakedretSettings
- type NestifSettings
- type NilNilSettings
- type NlreturnSettings
- type NoLintLintSettings
- type NoNamedReturnsSettings
- type Output
- type OutputFormat
- type OutputFormats
- type ParallelTestSettings
- type PerfSprintSettings
- type PreallocSettings
- type PredeclaredSettings
- type PromlinterSettings
- type ProtoGetterSettings
- type ReassignSettings
- type ReviveSettings
- type RowsErrCheckSettings
- type Run
- type Severity
- type SeverityRule
- type SlogLintSettings
- type SnowyGoSettings
- type SpancheckSettings
- type StaticCheckSettings
- type TagAlignSettings
- type TagliatelleSettings
- type TenvSettings
- type TestifylintSettings
- type TestpackageSettings
- type ThelperOptions
- type ThelperSettings
- type UnconvertSettings
- type UnparamSettings
- type UnusedSettings
- type UseStdlibVarsSettings
- type VarnamelenSettings
- type Version
- type WSLSettings
- type WhitespaceSettings
- type WrapcheckSettings
Constants ¶
const ( OutFormatJSON = "json" OutFormatLineNumber = "line-number" OutFormatColoredLineNumber = "colored-line-number" OutFormatTab = "tab" OutFormatColoredTab = "colored-tab" OutFormatCheckstyle = "checkstyle" OutFormatCodeClimate = "code-climate" OutFormatHTML = "html" OutFormatJunitXML = "junit-xml" OutFormatGithubActions = "github-actions" // Deprecated OutFormatTeamCity = "teamcity" OutFormatSarif = "sarif" )
Variables ¶
var AllOutputFormats = []string{ OutFormatJSON, OutFormatLineNumber, OutFormatColoredLineNumber, OutFormatTab, OutFormatColoredTab, OutFormatCheckstyle, OutFormatCodeClimate, OutFormatHTML, OutFormatJunitXML, OutFormatGithubActions, OutFormatTeamCity, OutFormatSarif, }
var DefaultExcludePatterns = []ExcludePattern{
{
ID: "EXC0001",
Pattern: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close" +
"|.*Flush|os\\.Remove(All)?|.*print(f|ln)?|os\\.(Un)?Setenv). is not checked",
Linter: "errcheck",
Why: "Almost all programs ignore errors on these functions and in most cases it's ok.",
},
{
ID: "EXC0002",
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.",
},
{
ID: "EXC0003",
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'.",
},
{
ID: "EXC0004",
Pattern: "(possible misuse of unsafe.Pointer|should have signature)",
Linter: "govet",
Why: "Common false positives.",
},
{
ID: "EXC0005",
Pattern: "SA4011",
Linter: "staticcheck",
Why: "Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore.",
},
{
ID: "EXC0006",
Pattern: "G103: Use of unsafe calls should be audited",
Linter: "gosec",
Why: "Too many false-positives on 'unsafe' usage.",
},
{
ID: "EXC0007",
Pattern: "G204: Subprocess launched with variable",
Linter: "gosec",
Why: "Too many false-positives for parametrized shell calls.",
},
{
ID: "EXC0008",
Pattern: "G104",
Linter: "gosec",
Why: "Duplicated errcheck checks.",
},
{
ID: "EXC0009",
Pattern: "(G301|G302|G307): Expect (directory permissions to be 0750|file permissions to be 0600) or less",
Linter: "gosec",
Why: "Too many issues in popular repos.",
},
{
ID: "EXC0010",
Pattern: "G304: Potential file inclusion via variable",
Linter: "gosec",
Why: "False positive is triggered by 'src, err := ioutil.ReadFile(filename)'.",
},
{
ID: "EXC0011",
Pattern: "(ST1000|ST1020|ST1021|ST1022)",
Linter: "stylecheck",
Why: "Annoying issue about not having a comment. The rare codebase has such comments.",
},
{
ID: "EXC0012",
Pattern: `exported (.+) should have comment( \(or a comment on this block\))? or be unexported`,
Linter: "revive",
Why: "Annoying issue about not having a comment. The rare codebase has such comments.",
},
{
ID: "EXC0013",
Pattern: `package comment should be of the form "(.+)..."`,
Linter: "revive",
Why: "Annoying issue about not having a comment. The rare codebase has such comments.",
},
{
ID: "EXC0014",
Pattern: `comment on exported (.+) should be of the form "(.+)..."`,
Linter: "revive",
Why: "Annoying issue about not having a comment. The rare codebase has such comments.",
},
{
ID: "EXC0015",
Pattern: `should have a package comment`,
Linter: "revive",
Why: "Annoying issue about not having a comment. The rare codebase has such comments.",
},
}
Functions ¶
func GetDefaultExcludePatternsStrings ¶
func GetDefaultExcludePatternsStrings() []string
func IsGoGreaterThanOrEqual ¶
Types ¶
type AsasalintSettings ¶
type BaseRule ¶
type BiDiChkSettings ¶
type BiDiChkSettings struct { LeftToRightEmbedding bool `mapstructure:"left-to-right-embedding"` RightToLeftEmbedding bool `mapstructure:"right-to-left-embedding"` PopDirectionalFormatting bool `mapstructure:"pop-directional-formatting"` LeftToRightOverride bool `mapstructure:"left-to-right-override"` RightToLeftOverride bool `mapstructure:"right-to-left-override"` LeftToRightIsolate bool `mapstructure:"left-to-right-isolate"` RightToLeftIsolate bool `mapstructure:"right-to-left-isolate"` FirstStrongIsolate bool `mapstructure:"first-strong-isolate"` PopDirectionalIsolate bool `mapstructure:"pop-directional-isolate"` }
type Config ¶
type Config struct { Run Run `mapstructure:"run"` Output Output `mapstructure:"output"` LintersSettings LintersSettings `mapstructure:"linters-settings"` Linters Linters `mapstructure:"linters"` Issues Issues `mapstructure:"issues"` Severity Severity `mapstructure:"severity"` InternalCmdTest bool // Option is used only for testing golangci-lint command, don't use it InternalTest bool // Option is used only for testing golangci-lint code, don't use it // contains filtered or unexported fields }
Config encapsulates the config data specified in the golangci-lint YAML config file.
func NewDefault ¶
func NewDefault() *Config
func (*Config) GetConfigDir ¶
GetConfigDir returns the directory that contains golangci config file.
type CopyLoopVarSettings ¶
type CustomLinterSettings ¶
type CustomLinterSettings struct { // Type plugin type. // It can be `goplugin` or `module`. Type string `mapstructure:"type"` // Path to a plugin *.so file that implements the private linter. // Only for Go plugin system. Path string // Description describes the purpose of the private linter. Description string // OriginalURL The URL containing the source code for the private linter. OriginalURL string `mapstructure:"original-url"` // Settings plugin settings only work with linterdb.PluginConstructor symbol. Settings any }
CustomLinterSettings encapsulates the meta-data of a private linter.
func (*CustomLinterSettings) Validate ¶
func (s *CustomLinterSettings) Validate() error
type DecorderSettings ¶
type DecorderSettings struct { DecOrder []string `mapstructure:"dec-order"` IgnoreUnderscoreVars bool `mapstructure:"ignore-underscore-vars"` DisableDecNumCheck bool `mapstructure:"disable-dec-num-check"` DisableTypeDecNumCheck bool `mapstructure:"disable-type-dec-num-check"` DisableConstDecNumCheck bool `mapstructure:"disable-const-dec-num-check"` DisableVarDecNumCheck bool `mapstructure:"disable-var-dec-num-check"` DisableDecOrderCheck bool `mapstructure:"disable-dec-order-check"` DisableInitFuncFirstCheck bool `mapstructure:"disable-init-func-first-check"` }
type DepGuardDeny ¶
type DepGuardList ¶
type DepGuardList struct { ListMode string `mapstructure:"list-mode"` Files []string `mapstructure:"files"` Allow []string `mapstructure:"allow"` Deny []DepGuardDeny `mapstructure:"deny"` }
type DepGuardSettings ¶
type DepGuardSettings struct {
Rules map[string]*DepGuardList `mapstructure:"rules"`
}
type DogsledSettings ¶
type DogsledSettings struct {
MaxBlankIdentifiers int `mapstructure:"max-blank-identifiers"`
}
type DupWordSettings ¶
type DuplSettings ¶
type DuplSettings struct {
Threshold int
}
type ErrChkJSONSettings ¶
type ErrcheckSettings ¶
type ErrcheckSettings struct { DisableDefaultExclusions bool `mapstructure:"disable-default-exclusions"` CheckTypeAssertions bool `mapstructure:"check-type-assertions"` CheckAssignToBlank bool `mapstructure:"check-blank"` ExcludeFunctions []string `mapstructure:"exclude-functions"` // Deprecated: use ExcludeFunctions instead Exclude string `mapstructure:"exclude"` // Deprecated: use ExcludeFunctions instead Ignore string `mapstructure:"ignore"` }
type ErrorLintAllowPair ¶
type ErrorLintSettings ¶
type ErrorLintSettings struct { Errorf bool `mapstructure:"errorf"` ErrorfMulti bool `mapstructure:"errorf-multi"` Asserts bool `mapstructure:"asserts"` Comparison bool `mapstructure:"comparison"` AllowedErrors []ErrorLintAllowPair `mapstructure:"allowed-errors"` AllowedErrorsWildcard []ErrorLintAllowPair `mapstructure:"allowed-errors-wildcard"` }
type ExcludePattern ¶
func GetExcludePatterns ¶
func GetExcludePatterns(include []string) []ExcludePattern
TODO(ldez): this behavior must be changed in v2, because this is confusing.
type ExcludeRule ¶
type ExcludeRule struct {
BaseRule `mapstructure:",squash"`
}
func (*ExcludeRule) Validate ¶
func (e *ExcludeRule) Validate() error
type ExhaustiveSettings ¶
type ExhaustiveSettings struct { Check []string `mapstructure:"check"` CheckGenerated bool `mapstructure:"check-generated"` DefaultSignifiesExhaustive bool `mapstructure:"default-signifies-exhaustive"` IgnoreEnumMembers string `mapstructure:"ignore-enum-members"` IgnoreEnumTypes string `mapstructure:"ignore-enum-types"` PackageScopeOnly bool `mapstructure:"package-scope-only"` ExplicitExhaustiveMap bool `mapstructure:"explicit-exhaustive-map"` ExplicitExhaustiveSwitch bool `mapstructure:"explicit-exhaustive-switch"` DefaultCaseRequired bool `mapstructure:"default-case-required"` }
type ExhaustructSettings ¶
type ForbidigoPattern ¶
type ForbidigoPattern struct { Pattern string `yaml:"p" mapstructure:"p"` Package string `yaml:"pkg,omitempty" mapstructure:"pkg,omitempty"` Msg string `yaml:"msg,omitempty" mapstructure:"msg,omitempty"` // contains filtered or unexported fields }
ForbidigoPattern corresponds to forbidigo.pattern and adds mapstructure support. The YAML field names must match what forbidigo expects.
func (*ForbidigoPattern) MarshalString ¶
func (p *ForbidigoPattern) MarshalString() ([]byte, error)
MarshalString converts the pattern into a string as needed by forbidigo.NewLinter.
MarshalString is intentionally not called MarshalText, although it has the same signature because implementing encoding.TextMarshaler led to infinite recursion when yaml.Marshal called MarshalText.
func (*ForbidigoPattern) UnmarshalText ¶
func (p *ForbidigoPattern) UnmarshalText(text []byte) error
type ForbidigoSettings ¶
type ForbidigoSettings struct { Forbid []ForbidigoPattern `mapstructure:"forbid"` ExcludeGodocExamples bool `mapstructure:"exclude-godoc-examples"` AnalyzeTypes bool `mapstructure:"analyze-types"` }
type FunlenSettings ¶
type GciSettings ¶
type GinkgoLinterSettings ¶
type GinkgoLinterSettings struct { SuppressLenAssertion bool `mapstructure:"suppress-len-assertion"` SuppressNilAssertion bool `mapstructure:"suppress-nil-assertion"` SuppressErrAssertion bool `mapstructure:"suppress-err-assertion"` SuppressCompareAssertion bool `mapstructure:"suppress-compare-assertion"` SuppressAsyncAssertion bool `mapstructure:"suppress-async-assertion"` SuppressTypeCompareWarning bool `mapstructure:"suppress-type-compare-assertion"` ForbidFocusContainer bool `mapstructure:"forbid-focus-container"` AllowHaveLenZero bool `mapstructure:"allow-havelen-zero"` ForceExpectTo bool `mapstructure:"force-expect-to"` ValidateAsyncIntervals bool `mapstructure:"validate-async-intervals"` ForbidSpecPollution bool `mapstructure:"forbid-spec-pollution"` }
type GoConstSettings ¶
type GoConstSettings struct { IgnoreStrings string `mapstructure:"ignore-strings"` IgnoreTests bool `mapstructure:"ignore-tests"` MatchWithConstants bool `mapstructure:"match-constant"` MinStringLen int `mapstructure:"min-len"` MinOccurrencesCount int `mapstructure:"min-occurrences"` ParseNumbers bool `mapstructure:"numbers"` NumberMin int `mapstructure:"min"` NumberMax int `mapstructure:"max"` IgnoreCalls bool `mapstructure:"ignore-calls"` }
type GoCriticCheckSettings ¶
type GoCriticSettings ¶
type GoCriticSettings struct { Go string `mapstructure:"-"` DisableAll bool `mapstructure:"disable-all"` EnabledChecks []string `mapstructure:"enabled-checks"` EnableAll bool `mapstructure:"enable-all"` DisabledChecks []string `mapstructure:"disabled-checks"` EnabledTags []string `mapstructure:"enabled-tags"` DisabledTags []string `mapstructure:"disabled-tags"` SettingsPerCheck map[string]GoCriticCheckSettings `mapstructure:"settings"` }
type GoCycloSettings ¶
type GoCycloSettings struct {
MinComplexity int `mapstructure:"min-complexity"`
}
type GoFmtRewriteRule ¶
type GoFmtSettings ¶
type GoFmtSettings struct { Simplify bool RewriteRules []GoFmtRewriteRule `mapstructure:"rewrite-rules"` }
type GoHeaderSettings ¶
type GoImportsSettings ¶
type GoImportsSettings struct {
LocalPrefixes string `mapstructure:"local-prefixes"`
}
type GoMndSettings
deprecated
type GoMndSettings struct { MndSettings `mapstructure:",squash"` // Deprecated: use root level settings instead. Settings map[string]map[string]any }
Deprecated: use MndSettings.
type GoModDirectivesSettings ¶
type GoModGuardSettings ¶
type GoModGuardSettings 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"` Versions []map[string]struct { Version string `mapstructure:"version"` Reason string `mapstructure:"reason"` } `mapstructure:"versions"` LocalReplaceDirectives bool `mapstructure:"local_replace_directives"` } `mapstructure:"blocked"` }
type GoSecSettings ¶
type GoSecSettings struct { Includes []string `mapstructure:"includes"` Excludes []string `mapstructure:"excludes"` Severity string `mapstructure:"severity"` Confidence string `mapstructure:"confidence"` ExcludeGenerated bool `mapstructure:"exclude-generated"` Config map[string]any `mapstructure:"config"` Concurrency int `mapstructure:"concurrency"` }
type GocognitSettings ¶
type GocognitSettings struct {
MinComplexity int `mapstructure:"min-complexity"`
}
type GodotSettings ¶
type GodoxSettings ¶
type GodoxSettings struct {
Keywords []string
}
type GofumptSettings ¶
type GosmopolitanSettings ¶
type GovetSettings ¶
type GovetSettings struct { Go string `mapstructure:"-"` Enable []string Disable []string EnableAll bool `mapstructure:"enable-all"` DisableAll bool `mapstructure:"disable-all"` Settings map[string]map[string]any // Deprecated: the linter should be enabled inside Enable. CheckShadowing bool `mapstructure:"check-shadowing"` }
func (*GovetSettings) Validate ¶
func (cfg *GovetSettings) Validate() error
type GrouperSettings ¶
type GrouperSettings struct { ConstRequireSingleConst bool `mapstructure:"const-require-single-const"` ConstRequireGrouping bool `mapstructure:"const-require-grouping"` ImportRequireSingleImport bool `mapstructure:"import-require-single-import"` ImportRequireGrouping bool `mapstructure:"import-require-grouping"` TypeRequireSingleType bool `mapstructure:"type-require-single-type"` TypeRequireGrouping bool `mapstructure:"type-require-grouping"` VarRequireSingleVar bool `mapstructure:"var-require-single-var"` VarRequireGrouping bool `mapstructure:"var-require-grouping"` }
type INamedParamSettings ¶
type INamedParamSettings struct {
SkipSingleParam bool `mapstructure:"skip-single-param"`
}
type ImportAsAlias ¶
type ImportAsSettings ¶
type ImportAsSettings struct { Alias []ImportAsAlias NoUnaliased bool `mapstructure:"no-unaliased"` NoExtraAliases bool `mapstructure:"no-extra-aliases"` }
type InterfaceBloatSettings ¶
type InterfaceBloatSettings struct {
Max int `mapstructure:"max"`
}
type IreturnSettings ¶
type Issues ¶
type Issues struct { IncludeDefaultExcludes []string `mapstructure:"include"` ExcludeCaseSensitive bool `mapstructure:"exclude-case-sensitive"` ExcludePatterns []string `mapstructure:"exclude"` ExcludeRules []ExcludeRule `mapstructure:"exclude-rules"` UseDefaultExcludes bool `mapstructure:"exclude-use-default"` ExcludeGenerated string `mapstructure:"exclude-generated"` ExcludeFiles []string `mapstructure:"exclude-files"` ExcludeDirs []string `mapstructure:"exclude-dirs"` UseDefaultExcludeDirs bool `mapstructure:"exclude-dirs-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"` WholeFiles bool `mapstructure:"whole-files"` Diff bool `mapstructure:"new"` NeedFix bool `mapstructure:"fix"` ExcludeGeneratedStrict bool `mapstructure:"exclude-generated-strict"` // Deprecated: use ExcludeGenerated instead. }
type Linters ¶
type LintersSettings ¶
type LintersSettings struct { Asasalint AsasalintSettings BiDiChk BiDiChkSettings CopyLoopVar CopyLoopVarSettings Cyclop Cyclop Decorder DecorderSettings Depguard DepGuardSettings Dogsled DogsledSettings Dupl DuplSettings DupWord DupWordSettings Errcheck ErrcheckSettings ErrChkJSON ErrChkJSONSettings ErrorLint ErrorLintSettings Exhaustive ExhaustiveSettings Exhaustruct ExhaustructSettings Forbidigo ForbidigoSettings Funlen FunlenSettings Gci GciSettings GinkgoLinter GinkgoLinterSettings Gocognit GocognitSettings Goconst GoConstSettings Gocritic GoCriticSettings Gocyclo GoCycloSettings Godot GodotSettings Godox GodoxSettings Gofmt GoFmtSettings Gofumpt GofumptSettings Goheader GoHeaderSettings Goimports GoImportsSettings Gomnd GoMndSettings GoModDirectives GoModDirectivesSettings Gomodguard GoModGuardSettings Gosec GoSecSettings Gosimple StaticCheckSettings Gosmopolitan GosmopolitanSettings Govet GovetSettings Grouper GrouperSettings ImportAs ImportAsSettings Inamedparam INamedParamSettings InterfaceBloat InterfaceBloatSettings Ireturn IreturnSettings Lll LllSettings LoggerCheck LoggerCheckSettings MaintIdx MaintIdxSettings Makezero MakezeroSettings Misspell MisspellSettings Mnd MndSettings MustTag MustTagSettings Nakedret NakedretSettings Nestif NestifSettings NilNil NilNilSettings Nlreturn NlreturnSettings NoLintLint NoLintLintSettings NoNamedReturns NoNamedReturnsSettings ParallelTest ParallelTestSettings PerfSprint PerfSprintSettings Prealloc PreallocSettings Predeclared PredeclaredSettings Promlinter PromlinterSettings ProtoGetter ProtoGetterSettings Reassign ReassignSettings Revive ReviveSettings RowsErrCheck RowsErrCheckSettings SlogLint SlogLintSettings SnowyGo SnowyGoSettings Spancheck SpancheckSettings Staticcheck StaticCheckSettings Stylecheck StaticCheckSettings TagAlign TagAlignSettings Tagliatelle TagliatelleSettings Tenv TenvSettings Testifylint TestifylintSettings Testpackage TestpackageSettings Thelper ThelperSettings Unconvert UnconvertSettings Unparam UnparamSettings Unused UnusedSettings UseStdlibVars UseStdlibVarsSettings Varnamelen VarnamelenSettings Whitespace WhitespaceSettings Wrapcheck WrapcheckSettings WSL WSLSettings Custom map[string]CustomLinterSettings }
func (*LintersSettings) Validate ¶
func (s *LintersSettings) Validate() error
type LllSettings ¶
type LoadOptions ¶
type Loader ¶
type Loader struct {
// contains filtered or unexported fields
}
func (*Loader) Load ¶
func (l *Loader) Load(opts LoadOptions) error
type LoaderOptions ¶
type LoggerCheckSettings ¶
type LoggerCheckSettings struct { Kitlog bool `mapstructure:"kitlog"` Klog bool `mapstructure:"klog"` Logr bool `mapstructure:"logr"` Zap bool `mapstructure:"zap"` RequireStringKey bool `mapstructure:"require-string-key"` NoPrintfLike bool `mapstructure:"no-printf-like"` Rules []string `mapstructure:"rules"` }
type MaintIdxSettings ¶
type MaintIdxSettings struct {
Under int `mapstructure:"under"`
}
type MakezeroSettings ¶
type MakezeroSettings struct {
Always bool
}
type MisspellExtraWords ¶
type MisspellSettings ¶
type MisspellSettings struct { Mode string `mapstructure:"mode"` Locale string `mapstructure:"locale"` ExtraWords []MisspellExtraWords `mapstructure:"extra-words"` // TODO(ldez): v2 the option must be renamed to `IgnoredRules`. IgnoreWords []string `mapstructure:"ignore-words"` }
type MndSettings ¶
type MustTagSettings ¶
type NakedretSettings ¶
type NakedretSettings struct {
MaxFuncLines int `mapstructure:"max-func-lines"`
}
type NestifSettings ¶
type NestifSettings struct {
MinComplexity int `mapstructure:"min-complexity"`
}
type NilNilSettings ¶
type NilNilSettings struct {
CheckedTypes []string `mapstructure:"checked-types"`
}
type NlreturnSettings ¶
type NlreturnSettings struct {
BlockSize int `mapstructure:"block-size"`
}
type NoLintLintSettings ¶
type NoNamedReturnsSettings ¶
type NoNamedReturnsSettings struct {
ReportErrorInDefer bool `mapstructure:"report-error-in-defer"`
}
type Output ¶
type Output struct { Formats OutputFormats `mapstructure:"formats"` PrintIssuedLine bool `mapstructure:"print-issued-lines"` PrintLinterName bool `mapstructure:"print-linter-name"` UniqByLine bool `mapstructure:"uniq-by-line"` SortResults bool `mapstructure:"sort-results"` SortOrder []string `mapstructure:"sort-order"` PathPrefix string `mapstructure:"path-prefix"` ShowStats bool `mapstructure:"show-stats"` // Deprecated: use Formats instead. Format string `mapstructure:"format"` }
type OutputFormat ¶
type OutputFormat struct { Format string `mapstructure:"format"` Path string `mapstructure:"path"` }
func (*OutputFormat) Validate ¶
func (o *OutputFormat) Validate() error
type OutputFormats ¶
type OutputFormats []OutputFormat
func (*OutputFormats) UnmarshalText ¶
func (p *OutputFormats) UnmarshalText(text []byte) error
type ParallelTestSettings ¶
type PerfSprintSettings ¶
type PreallocSettings ¶
type PredeclaredSettings ¶
type PromlinterSettings ¶
type ProtoGetterSettings ¶
type ReassignSettings ¶
type ReassignSettings struct {
Patterns []string `mapstructure:"patterns"`
}
type ReviveSettings ¶
type ReviveSettings struct { MaxOpenFiles int `mapstructure:"max-open-files"` IgnoreGeneratedHeader bool `mapstructure:"ignore-generated-header"` Confidence float64 Severity string EnableAllRules bool `mapstructure:"enable-all-rules"` Rules []struct { Name string Arguments []any Severity string Disabled bool Exclude []string } ErrorCode int `mapstructure:"error-code"` WarningCode int `mapstructure:"warning-code"` Directives []struct { Name string Severity string } }
type RowsErrCheckSettings ¶
type RowsErrCheckSettings struct {
Packages []string
}
type Run ¶
type Run struct { Timeout time.Duration `mapstructure:"timeout"` Concurrency int `mapstructure:"concurrency"` Go string `mapstructure:"go"` BuildTags []string `mapstructure:"build-tags"` ModulesDownloadMode string `mapstructure:"modules-download-mode"` ExitCodeIfIssuesFound int `mapstructure:"issues-exit-code"` AnalyzeTests bool `mapstructure:"tests"` AllowParallelRunners bool `mapstructure:"allow-parallel-runners"` AllowSerialRunners bool `mapstructure:"allow-serial-runners"` // Deprecated: use Issues.ExcludeFiles instead. SkipFiles []string `mapstructure:"skip-files"` // Deprecated: use Issues.ExcludeDirs instead. SkipDirs []string `mapstructure:"skip-dirs"` // Deprecated: use Issues.UseDefaultExcludeDirs instead. UseDefaultSkipDirs bool `mapstructure:"skip-dirs-use-default"` // Deprecated: use Output.ShowStats instead. ShowStats bool `mapstructure:"show-stats"` }
Run encapsulates the config options for running the linter analysis.
type Severity ¶
type Severity struct { Default string `mapstructure:"default-severity"` CaseSensitive bool `mapstructure:"case-sensitive"` Rules []SeverityRule `mapstructure:"rules"` }
type SeverityRule ¶
func (*SeverityRule) Validate ¶
func (s *SeverityRule) Validate() error
type SlogLintSettings ¶
type SlogLintSettings struct { NoMixedArgs bool `mapstructure:"no-mixed-args"` KVOnly bool `mapstructure:"kv-only"` AttrOnly bool `mapstructure:"attr-only"` NoGlobal string `mapstructure:"no-global"` Context string `mapstructure:"context"` StaticMsg bool `mapstructure:"static-msg"` NoRawKeys bool `mapstructure:"no-raw-keys"` KeyNamingCase string `mapstructure:"key-naming-case"` ForbiddenKeys []string `mapstructure:"forbidden-keys"` ArgsOnSepLines bool `mapstructure:"args-on-sep-lines"` // Deprecated: use Context instead. ContextOnly bool `mapstructure:"context-only"` }
type SnowyGoSettings ¶
type SnowyGoSettings struct { }
type SpancheckSettings ¶
type StaticCheckSettings ¶
type StaticCheckSettings struct { Checks []string `mapstructure:"checks"` Initialisms []string `mapstructure:"initialisms"` // only for stylecheck DotImportWhitelist []string `mapstructure:"dot-import-whitelist"` // only for stylecheck HTTPStatusCodeWhitelist []string `mapstructure:"http-status-code-whitelist"` // only for stylecheck // Deprecated: use the global `run.go` instead. GoVersion string `mapstructure:"go"` }
func (*StaticCheckSettings) HasConfiguration ¶
func (s *StaticCheckSettings) HasConfiguration() bool
type TagAlignSettings ¶
type TagliatelleSettings ¶
type TenvSettings ¶
type TenvSettings struct {
All bool `mapstructure:"all"`
}
type TestifylintSettings ¶
type TestifylintSettings struct { EnableAll bool `mapstructure:"enable-all"` DisableAll bool `mapstructure:"disable-all"` EnabledCheckers []string `mapstructure:"enable"` DisabledCheckers []string `mapstructure:"disable"` BoolCompare struct { IgnoreCustomTypes bool `mapstructure:"ignore-custom-types"` } `mapstructure:"bool-compare"` ExpectedActual struct { ExpVarPattern string `mapstructure:"pattern"` } `mapstructure:"expected-actual"` Formatter struct { CheckFormatString *bool `mapstructure:"check-format-string"` RequireFFuncs bool `mapstructure:"require-f-funcs"` } `mapstructure:"formatter"` GoRequire struct { IgnoreHTTPHandlers bool `mapstructure:"ignore-http-handlers"` } `mapstructure:"go-require"` RequireError struct { FnPattern string `mapstructure:"fn-pattern"` } `mapstructure:"require-error"` SuiteExtraAssertCall struct { Mode string `mapstructure:"mode"` } `mapstructure:"suite-extra-assert-call"` }
type TestpackageSettings ¶
type ThelperOptions ¶
type ThelperSettings ¶
type ThelperSettings struct { Test ThelperOptions `mapstructure:"test"` Fuzz ThelperOptions `mapstructure:"fuzz"` Benchmark ThelperOptions `mapstructure:"benchmark"` TB ThelperOptions `mapstructure:"tb"` }
type UnconvertSettings ¶
type UnparamSettings ¶
type UnusedSettings ¶
type UnusedSettings struct { FieldWritesAreUses bool `mapstructure:"field-writes-are-uses"` PostStatementsAreReads bool `mapstructure:"post-statements-are-reads"` ExportedIsUsed bool `mapstructure:"exported-is-used"` ExportedFieldsAreUsed bool `mapstructure:"exported-fields-are-used"` ParametersAreUsed bool `mapstructure:"parameters-are-used"` LocalVariablesAreUsed bool `mapstructure:"local-variables-are-used"` GeneratedIsUsed bool `mapstructure:"generated-is-used"` }
type UseStdlibVarsSettings ¶
type UseStdlibVarsSettings struct { HTTPMethod bool `mapstructure:"http-method"` HTTPStatusCode bool `mapstructure:"http-status-code"` TimeWeekday bool `mapstructure:"time-weekday"` TimeMonth bool `mapstructure:"time-month"` TimeLayout bool `mapstructure:"time-layout"` CryptoHash bool `mapstructure:"crypto-hash"` DefaultRPCPath bool `mapstructure:"default-rpc-path"` OSDevNull bool `mapstructure:"os-dev-null"` // Deprecated SQLIsolationLevel bool `mapstructure:"sql-isolation-level"` TLSSignatureScheme bool `mapstructure:"tls-signature-scheme"` ConstantKind bool `mapstructure:"constant-kind"` SyslogPriority bool `mapstructure:"syslog-priority"` // Deprecated }
type VarnamelenSettings ¶
type VarnamelenSettings struct { MaxDistance int `mapstructure:"max-distance"` MinNameLength int `mapstructure:"min-name-length"` CheckReceiver bool `mapstructure:"check-receiver"` CheckReturn bool `mapstructure:"check-return"` CheckTypeParam bool `mapstructure:"check-type-param"` IgnoreNames []string `mapstructure:"ignore-names"` IgnoreTypeAssertOk bool `mapstructure:"ignore-type-assert-ok"` IgnoreMapIndexOk bool `mapstructure:"ignore-map-index-ok"` IgnoreChanRecvOk bool `mapstructure:"ignore-chan-recv-ok"` IgnoreDecls []string `mapstructure:"ignore-decls"` }
type WSLSettings ¶
type WSLSettings struct { StrictAppend bool `mapstructure:"strict-append"` AllowAssignAndCallCuddle bool `mapstructure:"allow-assign-and-call"` AllowAssignAndAnythingCuddle bool `mapstructure:"allow-assign-and-anything"` AllowMultiLineAssignCuddle bool `mapstructure:"allow-multiline-assign"` ForceCaseTrailingWhitespaceLimit int `mapstructure:"force-case-trailing-whitespace"` AllowTrailingComment bool `mapstructure:"allow-trailing-comment"` AllowSeparatedLeadingComment bool `mapstructure:"allow-separated-leading-comment"` AllowCuddleDeclaration bool `mapstructure:"allow-cuddle-declarations"` AllowCuddleWithCalls []string `mapstructure:"allow-cuddle-with-calls"` AllowCuddleWithRHS []string `mapstructure:"allow-cuddle-with-rhs"` ForceCuddleErrCheckAndAssign bool `mapstructure:"force-err-cuddling"` ErrorVariableNames []string `mapstructure:"error-variable-names"` ForceExclusiveShortDeclarations bool `mapstructure:"force-short-decl-cuddling"` }
type WhitespaceSettings ¶
type WrapcheckSettings ¶
type WrapcheckSettings struct { // TODO(ldez): v2 the options must be renamed to use hyphen. IgnoreSigs []string `mapstructure:"ignoreSigs"` IgnoreSigRegexps []string `mapstructure:"ignoreSigRegexps"` IgnorePackageGlobs []string `mapstructure:"ignorePackageGlobs"` IgnoreInterfaceRegexps []string `mapstructure:"ignoreInterfaceRegexps"` }