view src/gogemo/main.go @ 27:3d6709f41037

gogemo.
author pyon@macmini
date Sun, 03 Feb 2019 20:31:02 +0900
parents
children 8e3f320396b8
line wrap: on
line source

/*
 Gogemo: Command-line Migemo program by go.
 Last Change: 2019-02-03 Sun 19:45:42.

 Written by T.Mutoh
*/
package main

import (
    "flag"
    "fmt"
    "os"

    "./gogemo"
)

const ver string = "1.0"

func main() {
    inv  := flag.Bool("v", false, "inverse")
    wfn  := flag.Bool("f", false, "with filename")
    look := flag.Bool("l", false, "lookup dictionary")
    // cnt := flag.Bool("c", false, "count matched")
    // iu  := flag.Bool("w", false, "input  encoding: utf-8")
    // ou  := flag.Bool("W", false, "output encoding: utf-8")
    // is  := flag.Bool("s", false, "output encoding: shift-jis")
    // os  := flag.Bool("S", false, "output encoding: shift-jis")
    flag.Parse()

    var g gogemo.Gogemo
    g.SetOptions(*inv, *wfn)

    switch flag.NArg() {
    case 0:
        fmt.Fprint( os.Stderr, "[ gogemo v" + ver + " ]\n")
        flag.PrintDefaults()
        os.Exit(0)
    case 1: // from stdin or look dict
        g.Prepare(flag.Arg(0), nil)
        if *look {
            g.Look()
            os.Exit(0)
        }
    default:
        g.Prepare(flag.Arg(0), flag.Args()[1:])
    }

    g.Search()
}