imports

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2024 License: BSD-3-Clause Imports: 4 Imported by: 2,659

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

View Source
var Debug = false

Debug controls verbose logging.

View Source
var LocalPrefix string

LocalPrefix is a comma-separated string of import path prefixes, which, if set, instructs Process to sort the import paths with the given prefixes into another group after 3rd-party packages.

Functions

func Process

func Process(filename string, src []byte, opt *Options) ([]byte, error)

Process formats and adjusts imports for the provided file. If opt is nil the defaults are used, and if src is nil the source is read from the filesystem.

Note that filename's directory influences which imports can be chosen, so it is important that filename be accurate. To process data “as if” it were in filename, pass the data as a non-nil src.

func VendorlessPath

func VendorlessPath(ipath string) string

VendorlessPath returns the devendorized version of the import path ipath. For example, VendorlessPath("foo/bar/vendor/a/b") returns "a/b".

Types

type Options

type Options struct {
	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 specifies options for processing files.

Jump to

Keyboard shortcuts

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