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 }