annotate src/gogemo/main.go @ 40:c6df3bae683e

magicpacket.go: add port option.
author pyon@macmini
date Thu, 06 Feb 2020 20:19:20 +0900
parents a273d4792e48
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
1 /*
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
2 Gogemo: Command-line Migemo program by go.
30
a273d4792e48 gogemo: small fix.
pyon@macmini
parents: 29
diff changeset
3 Last Change: 2019-02-25 Mon 22:49:03.
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
4
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
5 Written by T.Mutoh
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
6 */
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
7 package main
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
8
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
9 import (
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
10 "flag"
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
11 "fmt"
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
12 "os"
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
13
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
14 "./gogemo"
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
15 )
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
16
30
a273d4792e48 gogemo: small fix.
pyon@macmini
parents: 29
diff changeset
17 const ver string = "1.2a"
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
18
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
19 func main() {
28
8e3f320396b8 compress dictionary.
pyon@macmini
parents: 27
diff changeset
20 inv := flag.Bool("v", false, "inverse (not implement)")
29
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
21 wfn := flag.Bool("f", false, "print with filename")
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
22 look := flag.Bool("l", false, "lookup dictionary")
29
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
23 dout := flag.Bool("d", false, "dump dictionary (all words)")
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
24 // cnt := flag.Bool("c", false, "count matched")
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
25 // iu := flag.Bool("w", false, "input encoding: utf-8")
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
26 // ou := flag.Bool("W", false, "output encoding: utf-8")
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
27 // is := flag.Bool("s", false, "output encoding: shift-jis")
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
28 // os := flag.Bool("S", false, "output encoding: shift-jis")
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
29 flag.Parse()
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
30
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
31 var g gogemo.Gogemo
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
32 g.SetOptions(*inv, *wfn)
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
33
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
34 switch flag.NArg() {
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
35 case 0:
29
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
36 if *dout {
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
37 g.PrintDictionary()
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
38 os.Exit(0)
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
39 }
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
40 print_help()
27
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
41 os.Exit(0)
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
42 case 1: // from stdin or look dict
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
43 g.Prepare(flag.Arg(0), nil)
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
44 if *look {
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
45 g.Look()
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
46 os.Exit(0)
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
47 }
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
48 default:
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
49 g.Prepare(flag.Arg(0), flag.Args()[1:])
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
50 }
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
51
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
52 g.Search()
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
53 }
3d6709f41037 gogemo.
pyon@macmini
parents:
diff changeset
54
29
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
55 func print_help() {
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
56 fmt.Fprint(os.Stderr, "[ gogemo v" + ver + " ]\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
57 flag.PrintDefaults()
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
58 fmt.Fprint(os.Stderr, "\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
59 fmt.Fprint(os.Stderr, " $ gogemo roma file\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
60 fmt.Fprint(os.Stderr, " $ cat file1 file2 | gogemo roma\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
61 fmt.Fprint(os.Stderr, " $ gogemo -f roma file1 file2...\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
62 fmt.Fprint(os.Stderr, " $ gogemo -l roma\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
63 fmt.Fprint(os.Stderr, " $ gogemo -d > dict.csv\n")
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
64 }
0f05c342fde1 gogemo v1.2 ( compress by bzip2 & English dictionary )
pyon@macmini
parents: 28
diff changeset
65