cmdx

package
v0.0.284 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2021 License: Apache-2.0 Imports: 18 Imported by: 59

Documentation

Index

Constants

View Source
const (
	FormatQuiet      format = "quiet"
	FormatTable      format = "table"
	FormatJSON       format = "json"
	FormatJSONPretty format = "json-pretty"
	FormatDefault    format = "default"

	FlagFormat = "format"

	None = "<none>"
)
View Source
const (
	FlagQuiet = "quiet"
)

Variables

View Source
var (
	// ErrNilDependency is returned if a dependency is missing.
	ErrNilDependency = errors.New("a dependency was expected to be defined but is nil. Please open an issue with the stack trace")
	// ErrNoPrintButFail is returned to detect a failure state that was already reported to the user in some way
	ErrNoPrintButFail = errors.New("this error should never be printed")
)

Functions

func AskForConfirmation added in v0.0.119

func AskForConfirmation(s string, stdin io.Reader, stdout io.Writer) bool

asks for confirmation with the question string s and reads the answer pass nil to use os.Stdin and os.Stdout

func CheckResponse

func CheckResponse(err error, expectedStatusCode int, response *http.Response)

CheckResponse fatals if err is nil or the response.StatusCode does not match the expectedStatusCode

func EnvVarExamplesHelpMessage

func EnvVarExamplesHelpMessage(name string) string

EnvVarExamplesHelpMessage returns a string containing documentation on how to use environment variables.

func ExactArgs added in v0.0.6

func ExactArgs(cmd *cobra.Command, args []string, l int)

ExactArgs fatals if args does not equal l.

func Exec added in v0.0.154

func Exec(t testing.TB, cmd *cobra.Command, stdIn io.Reader, args ...string) (string, string, error)

Exec runs the provided cobra command with the given reader as STD_IN and the given args. Returns STD_OUT, STD_ERR and the error from the execution.

func ExecBackgroundCtx added in v0.0.256

func ExecBackgroundCtx(ctx context.Context, cmd *cobra.Command, stdIn io.Reader, stdOut, stdErr io.Writer, args ...string) *errgroup.Group

ExecBackgroundCtx runs the cobra command in the background.

func ExecCtx added in v0.0.171

func ExecCtx(ctx context.Context, cmd *cobra.Command, stdIn io.Reader, args ...string) (string, string, error)

func ExecExpectedErr added in v0.0.154

func ExecExpectedErr(t testing.TB, cmd *cobra.Command, args ...string) string

ExecExpectedErr is a helper that assumes a failing run from Exec returning ErrNoPrintButFail Returns STD_ERR.

func ExecExpectedErrCtx added in v0.0.171

func ExecExpectedErrCtx(ctx context.Context, t require.TestingT, cmd *cobra.Command, args ...string) string

func ExecNoErr added in v0.0.154

func ExecNoErr(t testing.TB, cmd *cobra.Command, args ...string) string

ExecNoErr is a helper that assumes a successful run from Exec. Returns STD_OUT.

func ExecNoErrCtx added in v0.0.171

func ExecNoErrCtx(ctx context.Context, t require.TestingT, cmd *cobra.Command, args ...string) string

func ExpectDependency added in v0.0.37

func ExpectDependency(logger *logrusx.Logger, dependencies ...interface{})

ExpectDependency expects every dependency to be not nil or it fatals.

func FailSilently added in v0.0.152

func FailSilently(cmd *cobra.Command) error

FailSilently is supposed to be used within a commands RunE function. It silences cobras error handling and returns the ErrNoPrintButFail error.

func Fatalf

func Fatalf(message string, args ...interface{})

Fatalf prints to os.Stderr and exists with code 1.

func FormatResponse

func FormatResponse(o interface{}) string

FormatResponse takes an object and prints a json.MarshalIdent version of it or fatals.

func MinArgs

func MinArgs(cmd *cobra.Command, args []string, min int)

MinArgs fatals if args does not satisfy min.

func Must

func Must(err error, message string, args ...interface{})

Must fatals with the optional message if err is not nil.

func PrintErrors added in v0.0.152

func PrintErrors(cmd *cobra.Command, errs map[string]error)

func PrintJSONAble added in v0.0.172

func PrintJSONAble(cmd *cobra.Command, d interface{ String() string })

func PrintRow added in v0.0.152

func PrintRow(cmd *cobra.Command, row TableRow)

func PrintTable added in v0.0.172

func PrintTable(cmd *cobra.Command, table Table)

func RangeArgs added in v0.0.6

func RangeArgs(cmd *cobra.Command, args []string, r []int)

RangeArgs fatals if args does not satisfy any of the lengths set in r.

func RegisterFormatFlags added in v0.0.152

func RegisterFormatFlags(flags *pflag.FlagSet)

func RegisterJSONFormatFlags added in v0.0.172

func RegisterJSONFormatFlags(flags *pflag.FlagSet)

func RegisterNoiseFlags added in v0.0.173

func RegisterNoiseFlags(flags *pflag.FlagSet)

func Version

func Version(gitTag, gitHash, buildTime *string) *cobra.Command

Version returns a *cobra.Command that handles the `version` command.

Types

type CallbackWriter added in v0.0.256

type CallbackWriter struct {
	Callbacks map[string]func([]byte) error
	// contains filtered or unexported fields
}

CallbackWriter will execute each callback once the message is received. The full matched message is passed to the callback. An error returned from the callback is returned by Write.

func (*CallbackWriter) String added in v0.0.256

func (c *CallbackWriter) String() string

func (*CallbackWriter) Write added in v0.0.256

func (c *CallbackWriter) Write(msg []byte) (int, error)

type CommandExecuter added in v0.0.171

type CommandExecuter struct {
	New            func() *cobra.Command
	Ctx            context.Context
	PersistentArgs []string
}

func (*CommandExecuter) Exec added in v0.0.171

func (c *CommandExecuter) Exec(stdin io.Reader, args ...string) (string, string, error)

func (*CommandExecuter) ExecBackground added in v0.0.256

func (c *CommandExecuter) ExecBackground(stdin io.Reader, stdOut, stdErr io.Writer, args ...string) *errgroup.Group

func (*CommandExecuter) ExecExpectedErr added in v0.0.171

func (c *CommandExecuter) ExecExpectedErr(t require.TestingT, args ...string) string

func (*CommandExecuter) ExecNoErr added in v0.0.171

func (c *CommandExecuter) ExecNoErr(t require.TestingT, args ...string) string

type ConditionalPrinter added in v0.0.173

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

func NewConditionalPrinter added in v0.0.173

func NewConditionalPrinter(w io.Writer, print bool) *ConditionalPrinter

func NewLoudErrPrinter added in v0.0.173

func NewLoudErrPrinter(cmd *cobra.Command) *ConditionalPrinter

NewLoudErrPrinter returns a ConditionalPrinter that only prints to cmd.ErrOrStderr when --quiet is not set

func NewLoudOutPrinter added in v0.0.173

func NewLoudOutPrinter(cmd *cobra.Command) *ConditionalPrinter

NewLoudOutPrinter returns a ConditionalPrinter that only prints to cmd.OutOrStdout when --quiet is not set

func NewLoudPrinter added in v0.0.173

func NewLoudPrinter(cmd *cobra.Command, w io.Writer) *ConditionalPrinter

NewLoudPrinter returns a ConditionalPrinter that only prints to w when --quiet is not set

func NewQuietErrPrinter added in v0.0.173

func NewQuietErrPrinter(cmd *cobra.Command) *ConditionalPrinter

NewQuietErrPrinter returns a ConditionalPrinter that only prints to cmd.ErrOrStderr when --quiet is set

func NewQuietOutPrinter added in v0.0.173

func NewQuietOutPrinter(cmd *cobra.Command) *ConditionalPrinter

NewQuietOutPrinter returns a ConditionalPrinter that only prints to cmd.OutOrStdout when --quiet is set

func NewQuietPrinter added in v0.0.173

func NewQuietPrinter(cmd *cobra.Command, w io.Writer) *ConditionalPrinter

NewQuietPrinter returns a ConditionalPrinter that only prints to w when --quiet is set

func (*ConditionalPrinter) Print added in v0.0.173

func (p *ConditionalPrinter) Print(a ...interface{}) (n int, err error)

func (*ConditionalPrinter) Printf added in v0.0.173

func (p *ConditionalPrinter) Printf(format string, a ...interface{}) (n int, err error)

func (*ConditionalPrinter) Println added in v0.0.173

func (p *ConditionalPrinter) Println(a ...interface{}) (n int, err error)

type Nil added in v0.0.218

type Nil struct{}

func (Nil) Interface added in v0.0.218

func (Nil) Interface() interface{}

func (Nil) String added in v0.0.218

func (Nil) String() string

type Table added in v0.0.172

type Table interface {
	TableHeader
	Table() [][]string
	Interface() interface{}
	Len() int
}

type TableHeader added in v0.0.172

type TableHeader interface {
	Header() []string
}

type TableRow added in v0.0.172

type TableRow interface {
	TableHeader
	Columns() []string
	Interface() interface{}
}

Jump to

Keyboard shortcuts

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