Releases: guonaihong/clop
Releases · guonaihong/clop
v0.2.12版本
v0.2.11版本
bugfix
v0.2.10
新增GeIndexEx接口
v0.2.9版本
调整了一下版本信息显示功能
- 不设置默认版本,用户不主动设置版本信息的话不再占用-V和--version选项
- 增加了SetVersionOption函数用来修改默认的-V和--version选项,修改后,这两个选项可以在其他地方使用。之前我看是隐式覆盖,假设用户设置了SetVersion,同时又在结构体里配置了-V参数的情况下,有歧义,现在可以通过显式设置来释放这两个参数
现在可以这样用
clop.SetVersion("1.0.0")
clop.SetVersionOption("v", "version") // 修改短选项和长选项
clop.SetVersionOption("", "version") // 禁用短选项
v0.2.8
优化出错提示信息
v0.2.7版本
支持设置回调函数, 让clop支持任意类型的数据绑定。
type TestCallback struct {
Size int `clop:"short;long;callback=ParseSize" usage:"parse size"`
Max int `clop:"short;long"`
}
func (t *TestCallback) ParseSize(val string) {
// 做些解析工作
// t.Size = 解析之后的值
}
func main() {
t := TestCallback{}
err := clop.Bind(&t)
fmt.Printf("%#v, %s\n", t, err)
}
v0.2.6版本
详情可看 #93
对子命令的用法进行优化. @Greyh4t
package main
import (
"fmt"
"github.com/guonaihong/clop"
)
type add struct {
All bool `clop:"-A; --all" usage:"add changes from all tracked and untracked files"`
Force bool `clop:"-f; --force" usage:"allow adding otherwise ignored files"`
Pathspec []string `clop:"args=pathspec"`
}
func (a *add) SubMain() {
// 当add子命令被设置时
// clop会自动调用这个函数
}
type mv struct {
Force bool `clop:"-f; --force" usage:"allow adding otherwise ignored files"`
}
func (m *mv) SubMain() {
// 当mv 子命令被设置时
// clop会自动调用这个函数
}
type git struct {
Add add `clop:"subcommand" usage:"Add file contents to the index"`
Mv mv `clop:"subcommand" usage:"Move or rename a file, a directory, or a symlink"`
}
func main() {
g := git{}
clop.Bind(&g)
}
v0.2.5版本
- SetVersion新增换行
- 新增issues模板