Skip to content

Latest commit

 

History

History
386 lines (228 loc) · 9.85 KB

API.md

File metadata and controls

386 lines (228 loc) · 9.85 KB

bobra

import "github.com/bobbaicloudwithpants/bobra"

bobra 是一个模仿了 github.com/spf13/cobra 的包。 bobra 中实现了精简版的 cobra 的功能, 使得命令行程序开发者能够快速的建立耦合度低,高度模块化的命令行程序。

command.go error.go utils.go

var (
    // 当找到 "help" 等命令行参数时抛出
    FoundHelp = errors.New("Found Help")
)
func LogError(e error)

打印异常的函数

type Command struct {
    // 命令的使用名称
    Use string
    // 命令的较短介绍
    Short string
    // 命令的较长介绍
    Long string
    // 命令使用介绍
    Example string

    // 运行这个命令执行的函数
    Run func(cmd *Command, args []string)
    // contains filtered or unexported fields
}

func (*Command) AddCommand

func (c *Command) AddCommand(cmds ...*Command)

添加子命令

func (*Command) CommandPath

func (c *Command) CommandPath() string

返回这条命令从根命令开始向下,直到当前命令c的命令名称组合,用 ' ' 分割

func (*Command) Commands

func (c *Command) Commands() []*Command

func (*Command) Execute

func (c *Command) Execute() error

执行命令,调用链为:Execute--->ExecuteC--->execute

func (*Command) ExecuteC

func (c *Command) ExecuteC() (err error)

找到要执行的命令,或者抛出异常

func (*Command) Find

func (c *Command) Find(args []string) (*Command, []string, error)

从参数中找到要执行的子命令, 如果没有子命令则返回这个命令本身,如果找不到则返回错误

func (*Command) Flags

func (c *Command) Flags() *flag.FlagSet

返回命令的参数列表, 如果 flags 为空则初始化这个flag

func (*Command) GlobalFlags

func (c *Command) GlobalFlags() *flag.FlagSet

获取全局的flags

func (c *Command) HasAvailableFlags() bool

判断命令是否存在有效的flags

func (c *Command) HasAvailableGlobalFlags() bool

判断命令是否存在全局有效的flags

func (c *Command) HasAvailableLocalFlags() bool

判断命令是否存在局部有效的flags

func (c *Command) HasAvailableSubCmds() bool

判断该命令是否有有效的子命令

func (*Command) HasParent

func (c *Command) HasParent() bool

判断 c 是否有父命令

func (*Command) HasSubCommands

func (c *Command) HasSubCommands() bool

判断 c 是否有子命令

func (*Command) IsAvailable

func (c *Command) IsAvailable() bool

判断该命令是否有效

func (*Command) LocalFlags

func (c *Command) LocalFlags() *flag.FlagSet

返回仅子命令可以使用的局部flags

func (c *Command) LongIntroduction() string

返回这条命令的完整介绍,应放在 Usage 的开头

func (*Command) Name

func (c *Command) Name() string

返回命令的名字

func (*Command) Parent

func (c *Command) Parent() *Command

返回当前命令的父命令

func (*Command) ParseFlags

func (c *Command) ParseFlags(args []string) error

将args参数转换为flags参数

func (*Command) Root

func (c *Command) Root() *Command

返回该命令的根命令

func (*Command) Runnable

func (c *Command) Runnable() bool

根据是否存在 Run 函数指针来判断这个命令能否运行

func (*Command) SetGlobalFlags

func (c *Command) SetGlobalFlags(flags *flag.FlagSet)

设置全局可用的flags

func (c *Command) ShortIntroduction() string

返回这条命令的简短介绍,会返回在命令Usage的子命令列表中

func (*Command) Usage

func (c *Command) Usage() error

显示命令的使用方法

func (*Command) UsageFunc

func (c *Command) UsageFunc() (f func(*Command) error)

返回能够用于输出【使用方法】的函数

func (*Command) UsageTemplate

func (c *Command) UsageTemplate() string

func (*Command) UseLine

func (c *Command) UseLine() string

输出对于这条命令的完整描述

type ObjectNotFound struct {
    Type string
    Name string
}

当命令没有找到时抛出

func (ObjectNotFound) Error

func (e ObjectNotFound) Error() string

Generated by godoc2md