-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathccjfCLIDef.go
98 lines (79 loc) · 2.38 KB
/
ccjfCLIDef.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
////////////////////////////////////////////////////////////////////////////
// Program: ccjfC
// Purpose: Chinese-Character Jian<=>Fan converter
// Authors: Tong Sun (c) 2016-2017, All rights reserved
////////////////////////////////////////////////////////////////////////////
package main
import (
"github.com/mkideal/cli"
clix "github.com/mkideal/cli/ext"
)
////////////////////////////////////////////////////////////////////////////
// ccjfC
type rootT struct {
cli.Helper
Filei *clix.Reader `cli:"i,in" usage:"The Chinese text file to read from (or stdin)"`
Verbose int `cli:"v,verbose" usage:"Be verbose (with level 1 & 2)"`
}
var root = &cli.Command{
Name: "ccjfC",
Desc: "Chinese-Character Jian<=>Fan converter\nbuilt on " + buildTime,
Text: "Command line tool to convert between Chinese jian/fan characters",
Global: true,
Argv: func() interface{} { return new(rootT) },
Fn: ccjfC,
NumArg: cli.AtLeast(1),
}
// func main() {
// cli.SetUsageStyle(cli.ManualStyle) // up-down, for left-right, use NormalStyle
// //NOTE: You can set any writer implements io.Writer
// // default writer is os.Stdout
// if err := cli.Root(root,
// cli.Tree(jfDef),
// cli.Tree(fjDef)).Run(os.Args[1:]); err != nil {
// fmt.Fprintln(os.Stderr, err)
// }
// fmt.Println("")
// }
// func ccjfC(ctx *cli.Context) error {
// ctx.JSON(ctx.RootArgv())
// ctx.JSON(ctx.Argv())
// fmt.Println()
// return nil
// }
////////////////////////////////////////////////////////////////////////////
// jf
// func jfCLI(ctx *cli.Context) error {
// rootArgv = ctx.RootArgv().(*rootT)
// argv := ctx.Argv().(*jfT)
// fmt.Printf("[jf]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
// return nil
// }
type jfT struct {
}
var jfDef = &cli.Command{
Name: "jf",
Desc: "jian => fan",
Text: "convert from jian to fan",
Argv: func() interface{} { return new(jfT) },
Fn: jfCLI,
CanSubRoute: true,
}
////////////////////////////////////////////////////////////////////////////
// fj
// func fjCLI(ctx *cli.Context) error {
// rootArgv = ctx.RootArgv().(*rootT)
// argv := ctx.Argv().(*fjT)
// fmt.Printf("[fj]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
// return nil
// }
type fjT struct {
}
var fjDef = &cli.Command{
Name: "fj",
Desc: "fan => jian",
Text: "convert from fan to jian",
Argv: func() interface{} { return new(fjT) },
Fn: fjCLI,
CanSubRoute: true,
}