app

package
v0.0.0-...-4f9d474 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitFlags

func InitFlags(flags *pflag.FlagSet)

InitFlags 规范化、解析并记录命令行标志.

func PrintFlags

func PrintFlags(flags *pflag.FlagSet)

PrintFlags 打印指定 FlagSet 中的所有标记.

func PrintSections

func PrintSections(w io.Writer, fss NamedFlagSets, cols int)

PrintSections 按 cols 作为最大值打印给定名称的 FlagSets 如果 cols 为 0,则不换行打印.

func TerminalSize

func TerminalSize(w io.Writer) (int, int, error)

TerminalSize 返回用户终端的当前宽度和高度.

func WarnWordSepNormalizeFunc

func WarnWordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName

WarnWordSepNormalizeFunc 替换 "_" 分隔符并打印警告.

func WordSepNormalizeFunc

func WordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName

WordSepNormalizeFunc 规范化标志中的 "_" 和 "-" 分隔符.

Types

type App

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

App 是命令行应用程序的主体结构,建议使用 app.NewApp() 函数创建应用.

func NewApp

func NewApp(name string, basename string, opts ...Option) *App

NewApp 基于给定的应用名、二进制文件名以及一些其他选项,创建一个应用程序实例.

func (*App) Run

func (a *App) Run()

Run 用于启动应用程序.

type CliOptions

type CliOptions interface {
	Flags() (fss NamedFlagSets) // 通过命令行参数解析出的 FlagSets
	Validate() []error          // 用于校验参数是否合法
}

CliOptions 定义了从命令行读取参数的配置选项接口.

type Command

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

Command 是命令行应用程序中子命令的主体结构.

type CompletableOptions

type CompletableOptions interface {
	Complete() error
}

CompletableOptions 定义了完整选项需要实现的接口.

type NamedFlagSets

type NamedFlagSets struct {
	// Order 是 FlagSet 名称的有序列表
	Order []string
	// FlagSets 按名称存储了对应的 FlagSet
	FlagSets map[string]*pflag.FlagSet
}

NamedFlagSets 按照调用 FlagSet 的顺序来存储.

func (*NamedFlagSets) FlagSet

func (nfs *NamedFlagSets) FlagSet(name string) *pflag.FlagSet

FlagSet 返回指定名称的 FlagSet,并将其添加到已排序的名称列表中(如果它还不在列表中).

type Option

type Option func(*App)

Option 定义用于初始化 App 结构的可选参数.

func WithDefaultValidArgs

func WithDefaultValidArgs() Option

func WithDescription

func WithDescription(desc string) Option

func WithNoConfig

func WithNoConfig() Option

func WithNoVersion

func WithNoVersion() Option

func WithOptions

func WithOptions(opts CliOptions) Option

func WithRunFunc

func WithRunFunc(run RunFunc) Option

func WithSilence

func WithSilence() Option

func WithValidArgs

func WithValidArgs(args cobra.PositionalArgs) Option

type PrintableOptions

type PrintableOptions interface {
	String() string
}

PrintableOptions 定义了可被打印的选项需要实现的接口.

type RunCommandFunc

type RunCommandFunc func(args []string) error

RunCommandFunc 定义命令执行的回调函数.

type RunFunc

type RunFunc func(basename string) error

RunFunc 定义应用程序启动的回调函数.

type SubCliOptions

type SubCliOptions interface {
	AddFlags(fs *pflag.FlagSet) // 向指定 FlagSet 中添加标志
	Validate() []error          // 用于校验参数是否合法
}

SubCliOptions 定义了每个子命令行选项需要实现的接口,为 CliOptions 提供支持.

Jump to

Keyboard shortcuts

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