Codebase list golang-github-jdkato-prose / 9f234f4
Drop `cmd` Signed-off-by: Joseph Kato <joseph@jdkato.io> Joseph Kato 3 years ago
3 changed file(s) with 4 addition(s) and 81 deletion(s). Raw diff Collapse all Expand all
+0
-70
cmd/prose/main.go less more
0 package main
1
2 import (
3 "bufio"
4 "encoding/json"
5 "fmt"
6 "io/ioutil"
7 "os"
8 "strings"
9
10 "github.com/jdkato/prose/tag"
11 "github.com/urfave/cli"
12 )
13
14 // Version is the semantic version number
15 var Version string
16
17 func main() {
18 var file string
19 var text []byte
20 var err error
21
22 app := cli.NewApp()
23 app.Name = "aptag"
24 app.Usage = "A command-line POS tagger (for testing purposes only!)"
25 app.Version = Version
26 app.Flags = []cli.Flag{
27 &cli.StringFlag{
28 Name: "path",
29 Usage: "read `path` as source input instead of stdin",
30 Destination: &file,
31 },
32 }
33
34 app.Action = func(c *cli.Context) error {
35 if file != "" {
36 text, err = ioutil.ReadFile(file)
37 if err != nil {
38 panic(err)
39 }
40 } else {
41 stat, serr := os.Stdin.Stat()
42 if serr != nil {
43 panic(err)
44 } else if (stat.Mode() & os.ModeCharDevice) == 0 {
45 reader := bufio.NewReader(os.Stdin)
46 text, err = ioutil.ReadAll(reader)
47 if err != nil {
48 panic(err)
49 }
50 }
51 }
52 if len(text) > 0 {
53 tagger := tag.NewPerceptronTagger()
54 tags := tagger.Tag(strings.Split(string(text), " "))
55 b, jerr := json.Marshal(tags)
56 if jerr != nil {
57 return jerr
58 }
59 fmt.Println(string(b))
60 }
61 return err
62 }
63
64 if app.Run(os.Args) != nil {
65 os.Exit(1)
66 } else {
67 os.Exit(0)
68 }
69 }
33
44 require (
55 github.com/montanaflynn/stats v0.6.3
6 github.com/neurosnap/sentences v1.0.6 // indirect
67 github.com/shogo82148/go-shuffle v0.0.0-20180218125048-27e6095f230d
78 github.com/stretchr/testify v1.6.1
8 github.com/urfave/cli v1.22.4
99 gopkg.in/neurosnap/sentences.v1 v1.0.6
1010 )
0 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
1 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
2 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
30 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
41 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
52 github.com/montanaflynn/stats v0.6.3 h1:F8446DrvIF5V5smZfZ8K9nrmmix0AFgevPdLruGOmzk=
63 github.com/montanaflynn/stats v0.6.3/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
4 github.com/neurosnap/sentences v1.0.6 h1:iBVUivNtlwGkYsJblWV8GGVFmXzZzak907Ci8aA0VTE=
5 github.com/neurosnap/sentences v1.0.6/go.mod h1:pg1IapvYpWCJJm/Etxeh0+gtMf1rI1STY9S7eUCPbDc=
76 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
87 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
9 github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
10 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
118 github.com/shogo82148/go-shuffle v0.0.0-20180218125048-27e6095f230d h1:rUbV6LJa5RXK3jT/4jnJUz3UkrXzW6cqB+n9Fkbv9jY=
129 github.com/shogo82148/go-shuffle v0.0.0-20180218125048-27e6095f230d/go.mod h1:2htx6lmL0NGLHlO8ZCf+lQBGBHIbEujyywxJArf+2Yc=
13 github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
14 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
1510 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
1611 github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
1712 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
18 github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA=
19 github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
13 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2014 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2115 gopkg.in/neurosnap/sentences.v1 v1.0.6 h1:v7ElyP020iEZQONyLld3fHILHWOPs+ntzuQTNPkul8E=
2216 gopkg.in/neurosnap/sentences.v1 v1.0.6/go.mod h1:YlK+SN+fLQZj+kY3r8DkGDhDr91+S3JmTb5LSxFRQo0=
23 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
2417 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
2518 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=