Versions in this module Expand all Collapse all v2 v2.0.2 Jan 23, 2024 Changes in this version + type CmdExecutor struct + func (e *CmdExecutor) Execute(cmd string, args ...string) ([]byte, error) + func (e *CmdExecutor) Run(w io.Writer, cmd string, args ...string) error + func (e *CmdExecutor) Terminal(cmd string, args ...string) error + type Command struct + Command []string + Description string + Flags []Flag + Handler HandlerFunc + Invisible bool + Usage string + Validate Validator + func (c *Command) ExecuteContext(ctx context.Context, args []string) error + func (c *Command) FullCommand() string + func (c *Command) Match(args []string) ([]string, bool) + type CommandDefinition struct + Command string + Description string + Handler HandlerFunc + Options CommandOptions + type CommandDefinitions []CommandDefinition + func (cs *CommandDefinitions) Register(command, description string, fn HandlerFunc, opts CommandOptions) + func (cs CommandDefinitions) Apply(e *Engine) + type CommandOptions struct + Flags []Flag + Invisible bool + Usage string + Validate Validator + type Context interface + Arg func(i int) string + Args func() []string + Execute func(cmd string, args ...string) ([]byte, error) + Flags func() Flags + InfoWriter func() InfoWriter + ReadSecret func() (string, error) + Run func(cmd string, args ...string) error + Terminal func(cmd string, args ...string) error + Version func() string + Writef func(format string, args ...any) error + type Engine struct + Commands []Command + Executor Executor + Name string + Reader *Reader + Settings string + Version string + Writer *Writer + func New(name, version string) *Engine + func (e *Engine) Command(command, description string, fn HandlerFunc, opts CommandOptions) + func (e *Engine) Execute(args []string) int + func (e *Engine) ExecuteContext(ctx context.Context, args []string) int + type Executor interface + Execute func(cmd string, args ...string) ([]byte, error) + Run func(w io.Writer, cmd string, args ...string) error + Terminal func(cmd string, args ...string) error + type ExitCode struct + func Exit(code int) ExitCode + func (e ExitCode) Code() int + func (e ExitCode) Error() string + type ExitCoder interface + Code func() int + type Flag struct + Default any + Description string + Name string + Short string + Value any + func BoolFlag(name, short, description string) Flag + func DurationFlag(name, short, description string) Flag + func IntFlag(name, short, description string) Flag + func OptionFlags(opts any) []Flag + func StringFlag(name, short, description string) Flag + func (f *Flag) Set(v string) error + func (f *Flag) String() string + func (f *Flag) Type() string + func (f *Flag) Usage(v string) string + func (f *Flag) UsageLong() string + func (f *Flag) UsageShort() string + type Flags []Flag + func (fs Flags) Bool(name string) bool + func (fs Flags) Int(name string) int + func (fs Flags) String(name string) string + func (fs Flags) Value(name string) any + type HandlerFunc func(Context) error + type InfoWriter interface + Add func(header, value string) + Print func() error + type Reader struct + var DefaultReader *Reader + func (r *Reader) IsTerminal() bool + func (r *Reader) TerminalRaw() func() bool + type Renderer func(string) string + func RenderColors(colors ...int) Renderer + func RenderUnderline() Renderer + type TableWriter interface + Append func(row ...string) + Print func() error + type Validator func(ctx Context) error + func Args(num int) Validator + func ArgsBetween(min, max int) Validator + func ArgsMax(max int) Validator + func ArgsMin(min int) Validator + type Writer struct + Color bool + Stderr io.Writer + Stdout io.Writer + Tags map[string]Renderer + var DefaultWriter *Writer + func (w *Writer) Error(err error) error + func (w *Writer) Errorf(format string, args ...interface{}) error + func (w *Writer) IsTerminal() bool + func (w *Writer) Sprintf(format string, args ...interface{}) string + func (w *Writer) Write(data []byte) (int, error) + func (w *Writer) Writef(format string, args ...interface{}) (int, error) Other modules containing this package github.com/ddollar/stdcli