lintcmd

package
Version: v0.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2022 License: MIT Imports: 40 Imported by: 0

Documentation

Overview

Package lintcmd implements the frontend of an analysis runner. It serves as the entry-point for the staticcheck command, and can also be used to implement custom linters that behave like staticcheck.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildConfig

type BuildConfig struct {
	Name  string
	Envs  []string
	Flags []string
}

type Command

type Command struct {
	// contains filtered or unexported fields
}

Command represents a linter command line tool.

func NewCommand

func NewCommand(name string) *Command

NewCommand returns a new Command.

func (*Command) AddAnalyzers

func (cmd *Command) AddAnalyzers(as ...*lint.Analyzer)

AddAnalyzers adds analyzers to the command. These are lint.Analyzer analyzers, which wrap analysis.Analyzer analyzers, bundling them with structured documentation.

To add analysis.Analyzer analyzers without providing structured documentation, use AddBareAnalyzers.

func (*Command) AddBareAnalyzers

func (cmd *Command) AddBareAnalyzers(as ...*analysis.Analyzer)

AddBareAnalyzers adds bare analyzers to the command.

func (*Command) FlagSet

func (cmd *Command) FlagSet() *flag.FlagSet

FlagSet returns the command's flag set. This can be used to add additional command line arguments.

func (*Command) ParseFlags

func (cmd *Command) ParseFlags(args []string)

ParseFlags parses command line flags. It must be called before calling Run. After calling ParseFlags, the values of flags can be accessed.

Example:

cmd.ParseFlags(os.Args[1:])

func (*Command) Run

func (cmd *Command) Run()

Run runs all registered analyzers and reports their findings. It always calls os.Exit and does not return.

func (*Command) SetVersion

func (cmd *Command) SetVersion(human, machine string)

SetVersion sets the command's version. It is divided into a human part and a machine part. For example, Staticcheck 2020.2.1 had the human version "2020.2.1" and the machine version "v0.1.1". If you only use Semver, you can set both parts to the same value.

Calling this method is optional. Both versions default to "devel", and we'll attempt to deduce more version information from the Go module.

type LintResult

type LintResult struct {
	CheckedFiles []string
	Diagnostics  []diagnostic
	Warnings     []string
}

Directories

Path Synopsis
Package cache implements a build artifact cache.
Package cache implements a build artifact cache.
Package runner implements a go/analysis runner.
Package runner implements a go/analysis runner.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL