mirror of https://gitee.com/bigwinds/arangodb
69 lines
1.0 KiB
Go
69 lines
1.0 KiB
Go
// +build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"io"
|
|
"io/ioutil"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
// tool to register all algorithms built with the stemwords tool
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
if flag.NArg() < 1 {
|
|
log.Fatal("must specify algorithms directory")
|
|
}
|
|
|
|
var w io.Writer
|
|
if flag.NArg() > 1 {
|
|
var err error
|
|
w, err = os.Create(flag.Arg(1))
|
|
if err != nil {
|
|
log.Fatalf("error creating output file %v", err)
|
|
}
|
|
} else {
|
|
w = os.Stdout
|
|
}
|
|
|
|
fmt.Fprintf(w, "%s", header)
|
|
|
|
files, err := ioutil.ReadDir(flag.Arg(0))
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, file := range files {
|
|
fmt.Fprintf(w, " %s \"github.com/snowballstem/snowball/go/algorithms/%s\"\n",
|
|
file.Name(), file.Name())
|
|
}
|
|
|
|
fmt.Fprintf(w, closeImportStartInit)
|
|
|
|
for _, file := range files {
|
|
fmt.Fprintf(w, " languages[\"%s\"] = %s.Stem\n",
|
|
file.Name(), file.Name())
|
|
}
|
|
|
|
fmt.Fprintf(w, "%s", footer)
|
|
}
|
|
|
|
var header = `// generated list of supported algorithms, DO NOT EDIT
|
|
|
|
package main
|
|
|
|
import (
|
|
`
|
|
|
|
var closeImportStartInit = `)
|
|
|
|
func init() {`
|
|
|
|
var footer = `}
|
|
`
|