@@ -22,6 +22,7 @@ type rootT struct {
2222 Compact bool `cli:"c,compact" usage:"Compact JSON data, remove all whitespaces"`
2323 Prefix string `cli:"prefix" usage:"prefix for json string output"`
2424 Indent string `cli:"d,indent" usage:"indent for json string output" dft:" "`
25+ Protect bool `cli:"p,protect" usage:"protect {{TEMPLATE}} in JSON data"`
2526 Verbose cli.Counter `cli:"v,verbose" usage:"Verbose mode (Multiple -v options increase the verbosity.)"`
2627}
2728
@@ -37,16 +38,31 @@ var root = &cli.Command{
3738}
3839
3940// Template for main starts here
41+ ////////////////////////////////////////////////////////////////////////////
42+ // Constant and data type/structure definitions
43+
44+ // The OptsT type defines all the configurable options from cli.
45+ // type OptsT struct {
46+ // Compact bool
47+ // Prefix string
48+ // Indent string
49+ // Protect bool
50+ // Verbose cli.Counter
51+ // Verbose int
52+ // }
53+
4054////////////////////////////////////////////////////////////////////////////
4155// Global variables definitions
4256
4357// var (
4458// progname = "jsonfiddle"
4559// version = "0.1.0"
46- // date = "2017-08-14"
47- // )
60+ // date = "2017-09-09"
4861
49- // var rootArgv *rootT
62+ // rootArgv *rootT
63+ // // Opts store all the configurable options
64+ // Opts OptsT
65+ // )
5066
5167////////////////////////////////////////////////////////////////////////////
5268// Function definitions
@@ -87,6 +103,8 @@ var root = &cli.Command{
87103// rootArgv = ctx.RootArgv().(*rootT)
88104// argv := ctx.Argv().(*escT)
89105// fmt.Printf("[esc]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
106+ // Opts.Compact, Opts.Prefix, Opts.Indent, Opts.Protect, Opts.Verbose, Opts.Verbose =
107+ // rootArgv.Compact, rootArgv.Prefix, rootArgv.Indent, rootArgv.Protect, rootArgv.Verbose, rootArgv.Verbose.Value()
90108// return nil
91109// }
92110
@@ -112,6 +130,8 @@ var escDef = &cli.Command{
112130// rootArgv = ctx.RootArgv().(*rootT)
113131// argv := ctx.Argv().(*fmtT)
114132// fmt.Printf("[fmt]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
133+ // Opts.Compact, Opts.Prefix, Opts.Indent, Opts.Protect, Opts.Verbose, Opts.Verbose =
134+ // rootArgv.Compact, rootArgv.Prefix, rootArgv.Indent, rootArgv.Protect, rootArgv.Verbose, rootArgv.Verbose.Value()
115135// return nil
116136// }
117137
@@ -137,6 +157,8 @@ var fmtDef = &cli.Command{
137157// rootArgv = ctx.RootArgv().(*rootT)
138158// argv := ctx.Argv().(*sortT)
139159// fmt.Printf("[sort]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
160+ // Opts.Compact, Opts.Prefix, Opts.Indent, Opts.Protect, Opts.Verbose, Opts.Verbose =
161+ // rootArgv.Compact, rootArgv.Prefix, rootArgv.Indent, rootArgv.Protect, rootArgv.Verbose, rootArgv.Verbose.Value()
140162// return nil
141163// }
142164
@@ -162,6 +184,8 @@ var sortDef = &cli.Command{
162184// rootArgv = ctx.RootArgv().(*rootT)
163185// argv := ctx.Argv().(*j2sT)
164186// fmt.Printf("[j2s]:\n %+v\n %+v\n %v\n", rootArgv, argv, ctx.Args())
187+ // Opts.Compact, Opts.Prefix, Opts.Indent, Opts.Protect, Opts.Verbose, Opts.Verbose =
188+ // rootArgv.Compact, rootArgv.Prefix, rootArgv.Indent, rootArgv.Protect, rootArgv.Verbose, rootArgv.Verbose.Value()
165189// return nil
166190// }
167191
0 commit comments