Documentation ¶
Overview ¶
Package cli provides quick start framework for command line application.
The main features of Hiboot cli application are ¶
* Dependency Injection * Struct Tag for dependency injection * Sub command handler
Index ¶
- Variables
- func Dispatch(c Command, args []string) (retVal interface{}, err error)
- func Register(c Command)
- type Application
- type BaseCommand
- func (c *BaseCommand) Add(commands ...Command) Command
- func (c *BaseCommand) Children() []Command
- func (c *BaseCommand) EmbeddedCommand() *cobra.Command
- func (c *BaseCommand) Exec() error
- func (c *BaseCommand) Find(name string) (Command, error)
- func (c *BaseCommand) FullName() string
- func (c *BaseCommand) GetName() string
- func (c *BaseCommand) HasChild() bool
- func (c *BaseCommand) Parent() Command
- func (c *BaseCommand) Run(args []string) error
- func (c *BaseCommand) SetFullName(name string) Command
- func (c *BaseCommand) SetName(name string) Command
- func (c *BaseCommand) SetParent(p Command) Command
- type Command
- type CommandNameValue
- type TestApplication
Constants ¶
This section is empty.
Variables ¶
ErrCommandHandlerNotFound
ErrCommandNotFound command not found error
Functions ¶
func Dispatch ¶ added in v0.9.0
Dispatch method with OnAction prefix
Types ¶
type Application ¶
type Application interface { app.Application Root() Command SetRoot(root Command) }
Application cli application interface
func NewApplication ¶
func NewApplication(cmd ...interface{}) Application
NewApplication create new cli application
type BaseCommand ¶
BaseCommand is the base command
func (*BaseCommand) Add ¶
func (c *BaseCommand) Add(commands ...Command) Command
Add added child command
func (*BaseCommand) EmbeddedCommand ¶
func (c *BaseCommand) EmbeddedCommand() *cobra.Command
EmbeddedCommand get embedded command
func (*BaseCommand) Find ¶
func (c *BaseCommand) Find(name string) (Command, error)
Find find child command
func (*BaseCommand) FullName ¶
func (c *BaseCommand) FullName() string
FullName get command full name
func (*BaseCommand) HasChild ¶
func (c *BaseCommand) HasChild() bool
HasChild check whether it has child or not
func (*BaseCommand) SetFullName ¶
func (c *BaseCommand) SetFullName(name string) Command
SetFullName set command full name
func (*BaseCommand) SetName ¶
func (c *BaseCommand) SetName(name string) Command
SetName set command name
func (*BaseCommand) SetParent ¶
func (c *BaseCommand) SetParent(p Command) Command
SetParent set parent command
type Command ¶
type Command interface { EmbeddedCommand() *cobra.Command Add(commands ...Command) Command HasChild() bool Children() []Command Exec() error GetName() string FullName() string SetName(name string) Command SetFullName(name string) Command Parent() Command SetParent(p Command) Command Run(args []string) error Find(name string) (Command, error) SetOutput(output io.Writer) SetArgs(a []string) ExecuteC() (cmd *cobra.Command, err error) PersistentFlags() *flag.FlagSet }
type CommandNameValue ¶
type CommandNameValue struct { Name string Command interface{} }
CommandNameValue
type TestApplication ¶
type TestApplication interface { Application RunTest(args ...string) (output string, err error) }
func NewTestApplication ¶
func NewTestApplication(t *testing.T, cmd ...interface{}) TestApplication
NewTestApplication is the test application constructor