kmgConsole

package
v0.0.0-...-05317bf Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2015 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultCommandGroup = NewCommandGroup()
View Source
var VERSION = ""

Functions

func AddAction

func AddAction(action Command)

@deprecated

func AddExitAction

func AddExitAction(f func())

如果你使用了这个命令,主线程不会退出,而是会等到用户或者系统发送退出命令才会退出. 使用命令调用时,注册退出动作, 如果你使用了这个东西,请不要再使用WaitForExit了 TODO 这个地方过于不直观

func AddExitActionWithError

func AddExitActionWithError(f func() error)

func ExitOnErr

func ExitOnErr(err error)

仅限于命令使用

func ExitOnStderr

func ExitOnStderr(err error)

仅限于命令使用

func ExitOnStderrString

func ExitOnStderrString(err string)

func Main

func Main()

mac上 能正常传递signle

func MustStdoutErrAppendToFile

func MustStdoutErrAppendToFile(path string)

把stderr和stdout重定向到文件里面

func MustStdoutErrTeeToFile

func MustStdoutErrTeeToFile(path string)

把stderr和stdout使用tee的方法,重定向到文件,并且也输出到原始的stdout,(原始的stderr被忽略) 该方案目前无法在当前进程实现. 大概相当于 xxx 2>&1 | tee path.log 当出现 panic时 会掉一些数据. 在很低的复杂度下不能解决这个问题.

func MustWriteGolangVersion

func MustWriteGolangVersion(versionFilePath string, version string)

func ProxyCommand

func ProxyCommand(args ...string) func()

func UseExitActionRegister

func UseExitActionRegister()

调用这个函数来保证使用AddExitAction方法来注册进程退出请求. 使用这个来保证kmgConsole.Main一定会等待进程结束

func WaitForExit

func WaitForExit()

wait for the system sign or ctrl-c or command kill. 等用户按CTRL+c退出,或者等到被kill掉,接受到这个信号之后还可以运行一些代码. darwin

		CTRL+c 会发出 os.Interrupt 也是 syscall.SIGINT
     kill 命令 会发出 syscall.SIGTERM

Types

type Command

type Command struct {
	Name   string //名称,不区分大小写
	Desc   string //暂时没有用到
	Runner func() //运行这个命令的函数
	Hidden bool   //隐藏这个命令,使其在帮助列表里面不显示
}

保证在Command里面第一个是这个Command传入的名字,第二个及后面的是这个Command传入参数. 保证 os.Args 长度至少1个.

type CommandGroup

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

一组命令

func AddCommand

func AddCommand(action Command) *CommandGroup

func AddCommandWithName

func AddCommandWithName(name string, runner func()) *CommandGroup

func NewCommandGroup

func NewCommandGroup() *CommandGroup

func (*CommandGroup) AddCommand

func (g *CommandGroup) AddCommand(action Command) *CommandGroup

func (*CommandGroup) AddCommandWithName

func (g *CommandGroup) AddCommandWithName(name string, runner func()) *CommandGroup

func (*CommandGroup) Help

func (g *CommandGroup) Help()

func (*CommandGroup) Main

func (g *CommandGroup) Main()

Jump to

Keyboard shortcuts

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