view src/gogemo/main.go @ 28:8e3f320396b8

compress dictionary.
author pyon@macmini
date Sat, 09 Feb 2019 15:56:49 +0900
parents 3d6709f41037
children 0f05c342fde1
line wrap: on
line source

/*
 Gogemo: Command-line Migemo program by go.
 Last Change: 2019-02-09 Sat 15:46:37.

 Written by T.Mutoh
*/
package main

import (
    "flag"
    "fmt"
    "os"

    "./gogemo"
)

const ver string = "1.1"

func main() {
    inv  := flag.Bool("v", false, "inverse (not implement)")
    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()
        fmt.Fprint(os.Stderr, "\n")
        fmt.Fprint(os.Stderr, "> gogemo roma file1 file2...\n")
        fmt.Fprint(os.Stderr, "> cat file | gogemo roma\n")
        fmt.Fprint(os.Stderr, "> gogemo -l roma\n")
        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()
}