cli

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2018 License: Apache-2.0 Imports: 19 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
var ErrCommandNotFound = errors.New("command not found")

ErrCommandNotFound command not found error

Functions

func Register

func Register(c Command)

Types

type Application

type Application interface {
	app.Application
	Root() Command
	SetRoot(root Command)
}

Application cli application interface

func NewApplication

func NewApplication(cmd ...Command) Application

NewApplication create new cli application

type BaseCommand

type BaseCommand struct {
	cobra.Command
	// contains filtered or unexported fields
}

func (*BaseCommand) Add

func (c *BaseCommand) Add(commands ...Command) Command

func (*BaseCommand) Children

func (c *BaseCommand) Children() []Command

func (*BaseCommand) EmbeddedCommand

func (c *BaseCommand) EmbeddedCommand() *cobra.Command

func (*BaseCommand) Exec

func (c *BaseCommand) Exec() error

func (*BaseCommand) Find

func (c *BaseCommand) Find(name string) (Command, error)

func (*BaseCommand) FullName

func (c *BaseCommand) FullName() string

func (*BaseCommand) GetName

func (c *BaseCommand) GetName() string

func (*BaseCommand) HasChild

func (c *BaseCommand) HasChild() bool

func (*BaseCommand) Parent

func (c *BaseCommand) Parent() Command

func (*BaseCommand) Run

func (c *BaseCommand) Run(args []string) error

func (*BaseCommand) SetFullName

func (c *BaseCommand) SetFullName(name string) Command

func (*BaseCommand) SetName

func (c *BaseCommand) SetName(name string) Command

func (*BaseCommand) SetParent

func (c *BaseCommand) SetParent(p Command) 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 ...Command) TestApplication

Jump to

Keyboard shortcuts

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