generation works

This commit is contained in:
Hazel Noack 2025-06-30 17:23:29 +02:00
parent a0826cd68d
commit 22a5b077c5
2 changed files with 74625 additions and 11 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,17 @@
package main package main
import ( import (
"bufio"
"fmt" "fmt"
"log" "log"
"os" "os"
"regexp"
"strings" "strings"
"text/template" "text/template"
"time" "time"
) )
const Directory = "/usr/shared/dictionary/words" const Directory = "/usr/share/dict"
var wordsTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT. var wordsTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT.
// This file was generated by robots at // This file was generated by robots at
@ -35,14 +37,31 @@ type templateData struct {
} }
func generateFile(name string) { func generateFile(name string) {
fmt.Println("generating file for dictionary " + name)
lowerName := strings.ToLower(name) lowerName := strings.ToLower(name)
words := []string{ words := []string{}
"foo", Path := Directory + "/" + lowerName
"bar",
"baz", file, err := os.Open(Path)
if err != nil {
die(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
w := strings.TrimSpace(scanner.Text())
if regexp.MustCompile(`^[a-zA-Z0-9]*$`).MatchString(w) {
words = append(words, w)
}
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
} }
Path := Directory + lowerName
f, err := os.Create("internal/dictionary/" + lowerName + ".go") f, err := os.Create("internal/dictionary/" + lowerName + ".go")
die(err) die(err)
@ -58,7 +77,19 @@ func generateFile(name string) {
func main() { func main() {
fmt.Println("Generate") fmt.Println("Generate")
generateFile("words")
entries, err := os.ReadDir(Directory)
if err != nil {
die(err)
}
for _, e := range entries {
if !strings.Contains(e.Name(), ".") {
generateFile(e.Name())
}
}
// generateFile("words")
} }
func die(err error) { func die(err error) {
@ -66,5 +97,3 @@ func die(err error) {
log.Fatal(err) log.Fatal(err)
} }
} }
var packageTemplate = template.Must(template.New("").Parse())