Documentation
¶
Overview ¶
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VendorlessPath ¶
VendorlessPath returns the devendorized version of the import path ipath. For example, VendorlessPath("foo/bar/vendor/a/b") returns "a/b".
Types ¶
type ImportFix ¶
type ImportFix struct {
// StmtInfo represents the import statement this fix will add, remove, or change.
StmtInfo ImportInfo
// IdentName is the identifier that this fix will add or remove.
IdentName string
// FixType is the type of fix this is (AddImport, DeleteImport, SetImportName).
FixType ImportFixType
}
type ImportFixType ¶
type ImportFixType int
const ( AddImport ImportFixType = iota DeleteImport SetImportName )
type ImportInfo ¶
type ImportInfo struct {
ImportPath string // import path, e.g. "crypto/rand".
Name string // import name, e.g. "crand", or "" if none.
}
An ImportInfo represents a single import statement.
type ModuleErrorJSON ¶
type ModuleErrorJSON struct {
Err string // the error itself
}
type ModuleJSON ¶
type ModuleJSON struct {
Path string // module path
Version string // module version
Versions []string // available module versions (with -versions)
Replace *ModuleJSON // replaced by this module
Time *time.Time // time version was created
Update *ModuleJSON // available update, if any (with -u)
Main bool // is this the main module?
Indirect bool // is this module only an indirect dependency of main module?
Dir string // directory holding files for this module, if any
GoMod string // path to go.mod file for this module, if any
Error *ModuleErrorJSON // error loading module
}
type ModuleResolver ¶
type ModuleResolver struct {
Initialized bool
Main *ModuleJSON
ModsByModPath []*ModuleJSON // All modules, ordered by # of path components in module Path...
ModsByDir []*ModuleJSON // ...or Dir.
// contains filtered or unexported fields
}
ModuleResolver implements resolver for modules using the go command as little as feasible.
func (*ModuleResolver) ClearForNewMod ¶
func (r *ModuleResolver) ClearForNewMod()
func (*ModuleResolver) ClearForNewScan ¶
func (r *ModuleResolver) ClearForNewScan()
type Options ¶
type Options struct {
Env *ProcessEnv // The environment to use. Note: this contains the cached module and filesystem state.
Fragment bool // Accept fragment of a source file (no package statement)
AllErrors bool // Report all errors (not just the first 10 on different lines)
Comments bool // Print comments (true if nil *Options provided)
TabIndent bool // Use tabs for indent (true if nil *Options provided)
TabWidth int // Tab width (8 if nil *Options provided)
FormatOnly bool // Disable the insertion and deletion of imports
}
Options is golang.org/x/tools/imports.Options with extra internal-only options.
type ProcessEnv ¶
type ProcessEnv struct {
LocalPrefix string
Debug bool
// If non-empty, these will be used instead of the
// process-wide values.
GOPATH, GOROOT, GO111MODULE, GOPROXY, GOFLAGS, GOSUMDB string
WorkingDir string
// If true, use go/packages regardless of the environment.
ForceGoPackages bool
// Logf is the default logger for the ProcessEnv.
Logf func(format string, args ...interface{})
// contains filtered or unexported fields
}
ProcessEnv contains environment variables and settings that affect the use of the go command, the go/build package, etc.
func (*ProcessEnv) GetResolver ¶
func (e *ProcessEnv) GetResolver() Resolver
Click to show internal directories.
Click to hide internal directories.