cmd

package
v1.0.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2022 License: Apache-2.0 Imports: 60 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// populated by ldflags
	GitCommit string
	GitTag    string
	BuildDate string
)

Functions

func New

func New(opts ...Option) *command

func Register

func Register(cmds ...*cli.Command)

Register CLI commands

func Run

func Run()

Run the default command

Types

type Cmd

type Cmd interface {
	// Init initialises options
	// Note: Use Run to parse command line
	Init(opts ...Option) error
	// Options set within this command
	Options() Options
	// The cli app within this cmd
	App() *cli.App
	// Run executes the command
	Run() error
	// Implementation
	String() string
}
var (
	DefaultCmd Cmd = New()
)

type Option

type Option func(o *Options)

func Action

func Action(a func(*cli.Context) error) Option

Action to execute

func Before

func Before(f cli.BeforeFunc) Option

Before sets a function to be called before micro is setup

func Commands

func Commands(c ...*cli.Command) Option

Commands to add

func Description

func Description(d string) Option

Command line Description

func Flags

func Flags(f ...cli.Flag) Option

Flags to add

func Name

func Name(n string) Option

Command line Name

func SetupOnly

func SetupOnly() Option

SetupOnly for to execute

func Version

func Version(v string) Option

Command line Version

type Options

type Options struct {
	// Name of the application
	Name string
	// Description of the application
	Description string
	// Version of the application
	Version string
	// Action to execute when Run is called and there is no subcommand
	Action func(*cli.Context) error
	// TODO replace with built in command definition
	Commands []*cli.Command
	// TODO replace with built in flags definition
	Flags []cli.Flag
	// Other options for implementations of the interface
	// can be stored in a context
	Context context.Context
}

Directories

Path Synopsis
protoc-gen-micro is a plugin for the Google protocol buffer compiler to generate Go code.
protoc-gen-micro is a plugin for the Google protocol buffer compiler to generate Go code.
generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
Package server is the micro server which runs the whole system
Package server is the micro server which runs the whole system
Package service provides micro service commands
Package service provides micro service commands
Package usage tracks micro usage
Package usage tracks micro usage

Jump to

Keyboard shortcuts

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