cmdflag

package standard library
go1.12.17 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2020 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Overview

Package cmdflag handles flag processing common to several go tools.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddKnownFlags added in go1.11

func AddKnownFlags(cmd string, defns []*Defn)

AddKnownFlags registers the flags in defns with base.AddKnownFlag.

func FindGOFLAGS added in go1.11

func FindGOFLAGS(defns []*Defn) []string

FindGOFLAGS extracts and returns the flags matching defns from GOFLAGS. Ideally the caller would mention that the flags were from GOFLAGS when reporting errors, but that's too hard for now.

func IsBool

func IsBool(v flag.Value) bool

IsBool reports whether v is a bool flag.

func SetBool

func SetBool(cmd string, flag *bool, value string)

SetBool sets the addressed boolean to the value.

func SetInt

func SetInt(cmd string, flag *int, value string)

SetInt sets the addressed integer to the value.

func SyntaxError

func SyntaxError(cmd, msg string)

SyntaxError reports an argument syntax error and exits the program.

Types

type Defn

type Defn struct {
	Name       string     // Name on command line.
	BoolVar    *bool      // If it's a boolean flag, this points to it.
	Value      flag.Value // The flag.Value represented.
	PassToTest bool       // Pass to the test binary? Used only by go test.
	Present    bool       // Flag has been seen.
}

Defn defines a flag we know about.

func Parse

func Parse(cmd string, usage func(), defns []*Defn, args []string, i int) (f *Defn, value string, extra bool)

Parse sees if argument i is present in the definitions and if so, returns its definition, value, and whether it consumed an extra word. If the flag begins (cmd.Name()+".") it is ignored for the purpose of this function.

Jump to

Keyboard shortcuts

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