Mercurial > hg > Members > anatofuz > lectable
comparison lectable.go @ 3:e4088b031eba
add cmd
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 31 Mar 2020 12:17:52 +0900 |
parents | |
children | 8bc574052fcb |
comparison
equal
deleted
inserted
replaced
2:dccd0dd6cfbc | 3:e4088b031eba |
---|---|
1 package lectable | |
2 | |
3 import ( | |
4 "context" | |
5 "flag" | |
6 "fmt" | |
7 "io" | |
8 "log" | |
9 ) | |
10 | |
11 const cmdName = "lectable" | |
12 | |
13 // Run the lectable | |
14 func Run(ctx context.Context, argv []string, outStream, errStream io.Writer) error { | |
15 log.SetOutput(errStream) | |
16 fs := flag.NewFlagSet( | |
17 fmt.Sprintf("%s (v%s rev:%s)", cmdName, version, revision), flag.ContinueOnError) | |
18 fs.SetOutput(errStream) | |
19 ver := fs.Bool("version", false, "display version") | |
20 if err := fs.Parse(argv); err != nil { | |
21 return err | |
22 } | |
23 if *ver { | |
24 return printVersion(outStream) | |
25 } | |
26 return nil | |
27 } | |
28 | |
29 func printVersion(out io.Writer) error { | |
30 _, err := fmt.Fprintf(out, "%s v%s (rev:%s)\n", cmdName, version, revision) | |
31 return err | |
32 } |