File: commandlineCLI-024.tmpl

package info (click to toggle)
easygen 5.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 848 kB
  • sloc: sh: 14; makefile: 13
file content (71 lines) | stat: -rw-r--r-- 1,783 bytes parent folder | download | duplicates (3)
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
// -*- go -*-
////////////////////////////////////////////////////////////////////////////
// Program: {{.Name}}
// Purpose: {{.Desc}}
////////////////////////////////////////////////////////////////////////////

package {{$.PackageName}}

import (
	"github.com/mkideal/cli"
)

var {{.Var}} = &cli.Register(&cli.Command{
	Name: "{{.Name}}",
	Desc: "{{.Desc}}",
{{if .Text}}	Text: "{{.Text}}",
{{end}}	Argv: func() interface{} { return new({{.Name}}T) },
	Fn:   {{.Name}},
{{if .NumArg}}
	NumArg:      {{.NumArg}},
{{end}}})

type {{.Name}}T struct {
	cli.Helper{{range .Options}}
	{{.Name}}	{{.Type}}	`cli:"{{.Flag}}" usage:"{{.Usage}}"{{if .Value}} dft:{{.Value}}{{end}}`{{end}}
}

func {{.Name}}(ctx *cli.Context) error {
	argv := ctx.Argv().(*{{.Name}}T)
	ctx.String("%s: %v", ctx.Path(), jsonIndent(argv))
	ctx.String("[{{.Name}}]: %v\n", ctx.Args())

	return nil
}

{{range .Command}}
////////////////////////////////////////////////////////////////////////////
// Program: {{.Name}}
// Purpose: {{.Desc}}
////////////////////////////////////////////////////////////////////////////

package {{$.PackageName}}

import (
	"github.com/mkideal/cli"
)

var {{.Name}}Cmd = {{$.Var}}.Register(&cli.Command{
	Name: "{{.Name}}",
	Desc: "{{.Desc}}",
{{if .Text}}	Text: "{{.Text}}",
{{end}}	Argv: func() interface{} { return new({{.Name}}T) },
	Fn:   {{.Name}},
{{if .NumArg}}
	NumArg:      {{.NumArg}},
	CanSubRoute: true,
{{end}}})

type {{.Name}}T struct {
	cli.Helper{{range .Options}}
	{{.Name}}	{{.Type}}	`cli:"{{.Flag}}" usage:"{{.Usage}}"{{if .Value}} dft:{{.Value}}{{end}}`{{end}}
}

func {{.Name}}(ctx *cli.Context) error {
	argv := ctx.Argv().(*{{.Name}}T)
	ctx.String("%s: %v", ctx.Path(), jsonIndent(argv))
	ctx.String("[{{.Name}}]: %v\n", ctx.Args())

	return nil
}
{{end}}