gcmd

package
v2.0.0-beta Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2021 License: MIT Imports: 12 Imported by: 59

Documentation

Overview

Package gcmd provides console operations, like options/arguments reading and command running.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AutoRun

func AutoRun() error

AutoRun automatically recognizes and executes the callback function by value of index 0 (the first console parameter).

func BindHandle

func BindHandle(cmd string, f func()) error

BindHandle registers callback function `f` with `cmd`.

func BindHandleMap

func BindHandleMap(m map[string]func()) error

BindHandleMap registers callback function with map `m`.

func BuildOptions

func BuildOptions(m map[string]string, prefix ...string) string

BuildOptions builds the options as string.

func ContainsOpt

func ContainsOpt(name string) bool

ContainsOpt checks whether option named `name` exist in the arguments.

func GetArg

func GetArg(index int, def ...string) *gvar.Var

GetArg returns the argument at `index` as gvar.Var.

func GetArgAll

func GetArgAll() []string

GetArgAll returns all parsed arguments.

func GetOpt

func GetOpt(name string, def ...string) *gvar.Var

GetOpt returns the option value named `name` as gvar.Var.

func GetOptAll

func GetOptAll() map[string]string

GetOptAll returns all parsed options.

func GetOptWithEnv

func GetOptWithEnv(key string, def ...interface{}) *gvar.Var

GetOptWithEnv returns the command line argument of the specified `key`. If the argument does not exist, then it returns the environment variable with specified `key`. It returns the default value `def` if none of them exists.

Fetching Rules: 1. Command line arguments are in lowercase format, eg: gf.`package name`.<variable name>; 2. Environment arguments are in uppercase format, eg: GF_`package name`_<variable name>;

func Init

func Init(args ...string)

Init does custom initialization.

func RunHandle

func RunHandle(cmd string) error

RunHandle executes the callback function registered by `cmd`.

func Scan

func Scan(info ...interface{}) string

Scan prints `info` to stdout, reads and returns user input, which stops by '\n'.

func Scanf

func Scanf(format string, info ...interface{}) string

Scanf prints `info` to stdout with `format`, reads and returns user input, which stops by '\n'.

Types

type Parser

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

Parser for arguments.

func Parse

func Parse(supportedOptions map[string]bool, strict ...bool) (*Parser, error)

Parse creates and returns a new Parser with os.Args and supported options.

Note that the parameter `supportedOptions` is as [option name: need argument], which means the value item of `supportedOptions` indicates whether corresponding option name needs argument or not.

The optional parameter `strict` specifies whether stops parsing and returns error if invalid option passed.

func ParseWithArgs

func ParseWithArgs(args []string, supportedOptions map[string]bool, strict ...bool) (*Parser, error)

ParseWithArgs creates and returns a new Parser with given arguments and supported options.

Note that the parameter `supportedOptions` is as [option name: need argument], which means the value item of `supportedOptions` indicates whether corresponding option name needs argument or not.

The optional parameter `strict` specifies whether stops parsing and returns error if invalid option passed.

func (*Parser) AutoRun

func (p *Parser) AutoRun() error

AutoRun automatically recognizes and executes the callback function by value of index 0 (the first console parameter).

func (*Parser) BindHandle

func (p *Parser) BindHandle(cmd string, f func()) error

BindHandle registers callback function `f` with `cmd`.

func (*Parser) BindHandleMap

func (p *Parser) BindHandleMap(m map[string]func()) error

BindHandleMap registers callback function with map `m`.

func (*Parser) ContainsOpt

func (p *Parser) ContainsOpt(name string) bool

ContainsOpt checks whether option named `name` exist in the arguments.

func (*Parser) GetArg

func (p *Parser) GetArg(index int, def ...string) *gvar.Var

GetArg returns the argument at `index` as gvar.Var.

func (*Parser) GetArgAll

func (p *Parser) GetArgAll() []string

GetArgAll returns all parsed arguments.

func (*Parser) GetOpt

func (p *Parser) GetOpt(name string, def ...interface{}) *gvar.Var

GetOpt returns the option value named `name` as gvar.Var.

func (*Parser) GetOptAll

func (p *Parser) GetOptAll() map[string]string

GetOptAll returns all parsed options.

func (*Parser) MarshalJSON

func (p *Parser) MarshalJSON() ([]byte, error)

MarshalJSON implements the interface MarshalJSON for json.Marshal.

func (*Parser) RunHandle

func (p *Parser) RunHandle(cmd string) error

RunHandle executes the callback function registered by `cmd`.

Jump to

Keyboard shortcuts

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