...

Package cmdflag

import "cmd/go/internal/cmdflag"
Overview
Index

Overview ▾

Package cmdflag handles flag processing common to several go tools.

Variables

ErrFlagTerminator indicates the distinguished token "--", which causes the flag package to treat all subsequent arguments as non-flags.

var ErrFlagTerminator = errors.New("flag terminator")

func ParseOne

func ParseOne(fs *flag.FlagSet, args []string) (f *flag.Flag, remainingArgs []string, err error)

ParseOne sees if args[0] is present in the given flag set and if so, sets its value and returns the flag along with the remaining (unused) arguments.

ParseOne always returns either a non-nil Flag or a non-nil error, and always consumes at least one argument (even on error).

Unlike (*flag.FlagSet).Parse, ParseOne does not log its own errors.

type FlagNotDefinedError

A FlagNotDefinedError indicates a flag-like argument that does not correspond to any registered flag in a FlagSet.

type FlagNotDefinedError struct {
    RawArg   string // the original argument, like --foo or -foo=value
    Name     string
    HasValue bool   // is this the -foo=value or --foo=value form?
    Value    string // only provided if HasValue is true
}

func (FlagNotDefinedError) Error

func (e FlagNotDefinedError) Error() string

type NonFlagError

A NonFlagError indicates an argument that is not a syntactically-valid flag.

type NonFlagError struct {
    RawArg string
}

func (NonFlagError) Error

func (e NonFlagError) Error() string