Documentation ¶
Overview ¶
Package lint provides abstractions on top of go/analysis. These abstractions add extra information to analyzes, such as structured documentation and severities.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExhaustiveTypeSwitch ¶
func ExhaustiveTypeSwitch(v interface{})
ExhaustiveTypeSwitch panics when called. It can be used to ensure that type switches are exhaustive.
func Markdownify ¶ added in v0.2.0
func Markdownify(m map[string]*RawDocumentation) map[string]*Documentation
func ParseGoVersion ¶ added in v0.4.4
ParseGoVersion parses Go versions of the form 1.M, 1.M.N, or 1.M.NrcR, with an optional "go" prefix. It assumes that versions have already been verified and are valid.
Types ¶
type Analyzer ¶ added in v0.2.0
type Analyzer struct { // The analyzer's documentation. Unlike go/analysis.Analyzer.Doc, // this field is structured, providing access to severity, options // etc. Doc *Documentation Analyzer *analysis.Analyzer }
Analyzer wraps a go/analysis.Analyzer and provides structured documentation.
func InitializeAnalyzers ¶
func InitializeAnalyzers(docs map[string]*Documentation, analyzers map[string]*analysis.Analyzer) []*Analyzer
InitializeAnalyzers takes a map of documentation and a map of go/analysis.Analyzers and returns a slice of Analyzers. The map keys are the analyzer names.
type Directive ¶
A directive is a comment of the form '//lint:<command> [arguments...]'. It represents instructions to the static analysis tool.
type Documentation ¶
type Documentation struct { Title string Text string TitleMarkdown string TextMarkdown string Before string After string Since string NonDefault bool Options []string Severity Severity MergeIf MergeStrategy }
func (*Documentation) Format ¶ added in v0.3.0
func (doc *Documentation) Format(metadata bool) string
func (*Documentation) FormatMarkdown ¶ added in v0.3.0
func (doc *Documentation) FormatMarkdown(metadata bool) string
func (*Documentation) String ¶
func (doc *Documentation) String() string
type MergeStrategy ¶ added in v0.3.0
type MergeStrategy int
MergeStrategy sets how merge mode should behave for diagnostics of an analyzer.
const ( MergeIfAny MergeStrategy = iota MergeIfAll )
type RawDocumentation ¶ added in v0.3.0
type Severity ¶ added in v0.2.0
type Severity int
Severity describes the severity of diagnostics reported by an analyzer.
type VersionFlag ¶
type VersionFlag int
func (*VersionFlag) Get ¶
func (v *VersionFlag) Get() interface{}
func (*VersionFlag) Set ¶
func (v *VersionFlag) Set(s string) error
func (*VersionFlag) String ¶
func (v *VersionFlag) String() string