diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..eda257c --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module gitea.elara.ws/Hazel/go-words + +go 1.24.2 diff --git a/internal/dictionary/words.go b/internal/dictionary/words.go new file mode 100644 index 0000000..2443eb1 --- /dev/null +++ b/internal/dictionary/words.go @@ -0,0 +1,12 @@ +// Code generated by go generate; DO NOT EDIT. +// This file was generated by robots at +// 2025-06-30 15:25:49.978118211 +0200 CEST m=+0.000535670 +// using data from +// /usr/shared/dictionary/words +package dictionary + +var Words = []string{ + "foo", + "bar", + "baz", +} diff --git a/internal/gen.go b/internal/gen.go new file mode 100644 index 0000000..50e3bb7 --- /dev/null +++ b/internal/gen.go @@ -0,0 +1,56 @@ +//go:build ignore + +package main + +import ( + "fmt" + "log" + "os" + "text/template" + "time" +) + +const Path = "/usr/shared/dictionary/words" + +func main() { + fmt.Println("Generate") + + f, err := os.Create("internal/dictionary/words.go") + die(err) + defer f.Close() + + packageTemplate.Execute(f, struct { + Timestamp time.Time + Path string + Words []string + }{ + Timestamp: time.Now(), + Path: Path, + Words: []string{ + "foo", + "bar", + "baz", + }, + }) + +} + +func die(err error) { + if err != nil { + log.Fatal(err) + } +} + +var packageTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT. +// This file was generated by robots at +// {{ .Timestamp }} +// using data from +// {{ .Path }} +package dictionary + +var Words = []string{ +{{- range .Words }} + {{ printf "%q" . }}, +{{- end }} +} +`)) diff --git a/main.go b/main.go new file mode 100644 index 0000000..e9417eb --- /dev/null +++ b/main.go @@ -0,0 +1,13 @@ +package main + +import ( + "fmt" + + "gitea.elara.ws/Hazel/go-words/internal/dictionary" +) + +//go:generate go run internal/gen.go + +func main() { + fmt.Println(dictionary.Foo) +}