Skip to content

Releases: guonaihong/clop

v0.0.7版本

08 May 04:57
9cd12f4
Compare
Choose a tag to compare

增加usage效果截图
优化冗余代码

v0.0.6版本

03 May 08:42
8f9c7e9
Compare
Choose a tag to compare

新增全局配置,可以关闭usage信息里面的default值

issue 移步 #43

package main

import (
        "fmt"
        "github.com/guonaihong/clop"
)

type Hello struct {
        File string `clop:"-f; --file" usage:"file" default:"./my.log"`
}

func main() {

        clop.ShowUsageDefault = false // v0.0.6新加功能

        h := Hello{}
        clop.Bind(&h)
        fmt.Printf("%#v\n", h)
}

v0.0.5版本

29 Apr 14:15
71dba2a
Compare
Choose a tag to compare

#37 优化help样式
#40 修复命令行选项值不能为负数的问题

v0.0.4版本

22 Apr 05:38
b9bcf4f
Compare
Choose a tag to compare

#26 可以控制选项只能被设置一次

package main

import (
    "github.com/guonaihong/clop"
)

type Once struct {
    Debug bool `clop:"-d; --debug; once" usage:"debug mode"`
}

func main() {
    o := Once{}
    clop.Bind(&o)
}
/*
./once -debug -debug
error: The argument '-d' was provided more than once, but cannot be used multiple times
For more information try --help
*/

#35 -h; --help选项可以被重载

v0.0.3版本

31 Mar 13:34
Compare
Choose a tag to compare

#33
可以获取命令行选项优先级别

package main

import (
	"fmt"
	"github.com/guonaihong/clop"
)

type cat struct {
	NumberNonblank bool `clop:"-b;--number-nonblank"
                             usage:"number nonempty output lines, overrides"`

	ShowEnds bool `clop:"-E;--show-ends"
                       usage:"display $ at end of each line"`
}

func main() {

	c := cat{}
	clop.Bind(&c)

	if clop.GetIndex("number-nonblank") < clop.GetIndex("show-ends") {
		fmt.Printf("cat -b -E\n")
	} else {
		fmt.Printf("cat -E -b \n")
	}
}
// cat -be 
// 输出 cat -b -E
// cat -Eb
// 输出 cat -E -b

v0.0.2版本

27 Mar 13:48
0615974
Compare
Choose a tag to compare

#32 fix 使用slice变量,默认进入贪婪模式

v0.0.1版本

14 Mar 06:21
Compare
Choose a tag to compare

v0.0.1版本功能如下

#2 完成一个最简单的解析器
#3 实现收集args参数功能
#7 实现--help输出帮助信息
#14 扩展解析器,在处理slice变量时--新增贪婪模式
#11 支持环境变量
#20 about,version,usage信息补全
#19 子命令支持
#21 一个最精简的readme.md
#22 新增Usage接口
#23 help 信息里面的Usage 如设置Subcommand要显示出来
#24 help显示里面的每个子命令都要显示procName
#10 必选项标记支持
#25 测试valid里面tag写错的情况
#9 默认值支持
#8 未注册选项行为
#12 注册重复选项报错
#17 对于长选项是只能使用两个减号,短选项只能使用一个减号
#16 省略clop tag,取首字母为短远项,取全部字段为长选项
#5 短,长选项都支持=等于号
#28 bugfix,数据校验和子命令结合报错
#15 只有环境变量,没有命令行选项的在help如何体现?
#30 增加ci/cd