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 ¶
func Markdownify(m map[string]*RawDocumentation) map[string]*Documentation
Types ¶
type Analyzer ¶
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 ¶
func (doc *Documentation) Format(metadata bool) string
func (*Documentation) FormatMarkdown ¶
func (doc *Documentation) FormatMarkdown(metadata bool) string
func (*Documentation) String ¶
func (doc *Documentation) String() string
type MergeStrategy ¶
type MergeStrategy int
MergeStrategy sets how merge mode should behave for diagnostics of an analyzer.
const ( MergeIfAny MergeStrategy = iota MergeIfAll )
type RawDocumentation ¶
type Severity ¶
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