added exports
This commit is contained in:
parent
397f344885
commit
6125867cea
24
exports.go
Normal file
24
exports.go
Normal file
@ -0,0 +1,24 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:32:34.988359534 +0200 CEST m=+36.555541212
|
||||
// It exports the Dictionaries for easy use
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal/dictionary"
|
||||
)
|
||||
|
||||
|
||||
var AmericanEnglish = dictionary.AmericanEnglish
|
||||
var Brazilian = dictionary.Brazilian
|
||||
var BritishEnglish = dictionary.BritishEnglish
|
||||
var CracklibSmall = dictionary.CracklibSmall
|
||||
var French = dictionary.French
|
||||
var Italian = dictionary.Italian
|
||||
var Ngerman = dictionary.Ngerman
|
||||
var Ogerman = dictionary.Ogerman
|
||||
var Portuguese = dictionary.Portuguese
|
||||
var Spanish = dictionary.Spanish
|
||||
var Swiss = dictionary.Swiss
|
||||
var Words = dictionary.Words
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:48.109934465 +0200 CEST m=+0.543745683
|
||||
// 2025-07-01 11:31:59.285464586 +0200 CEST m=+0.852646276
|
||||
// using data from
|
||||
// /usr/share/dict/american-english
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:50.680209997 +0200 CEST m=+3.114021211
|
||||
// 2025-07-01 11:32:02.247699057 +0200 CEST m=+3.814880729
|
||||
// using data from
|
||||
// /usr/share/dict/brazilian
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:53.474330852 +0200 CEST m=+5.908142075
|
||||
// 2025-07-01 11:32:04.843870152 +0200 CEST m=+6.411051818
|
||||
// using data from
|
||||
// /usr/share/dict/british-english
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:54.634847345 +0200 CEST m=+7.068658569
|
||||
// 2025-07-01 11:32:05.852284263 +0200 CEST m=+7.419465960
|
||||
// using data from
|
||||
// /usr/share/dict/cracklib-small
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:57.117352243 +0200 CEST m=+9.551163456
|
||||
// 2025-07-01 11:32:08.768649692 +0200 CEST m=+10.335831451
|
||||
// using data from
|
||||
// /usr/share/dict/french
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:09:59.571504161 +0200 CEST m=+12.005315373
|
||||
// 2025-07-01 11:32:11.350897568 +0200 CEST m=+12.918079237
|
||||
// using data from
|
||||
// /usr/share/dict/italian
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:02.754154395 +0200 CEST m=+15.187965608
|
||||
// 2025-07-01 11:32:14.500934577 +0200 CEST m=+16.068116246
|
||||
// using data from
|
||||
// /usr/share/dict/ngerman
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:08.076968748 +0200 CEST m=+20.510779963
|
||||
// 2025-07-01 11:32:19.034688991 +0200 CEST m=+20.601870658
|
||||
// using data from
|
||||
// /usr/share/dict/ogerman
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:15.007316041 +0200 CEST m=+27.441127269
|
||||
// 2025-07-01 11:32:23.873689829 +0200 CEST m=+25.440871511
|
||||
// using data from
|
||||
// /usr/share/dict/portuguese
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:18.794974706 +0200 CEST m=+31.228785917
|
||||
// 2025-07-01 11:32:27.258877258 +0200 CEST m=+28.826058926
|
||||
// using data from
|
||||
// /usr/share/dict/spanish
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:22.051859644 +0200 CEST m=+34.485670858
|
||||
// 2025-07-01 11:32:30.830794679 +0200 CEST m=+32.397976353
|
||||
// using data from
|
||||
// /usr/share/dict/swiss
|
||||
package dictionary
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-07-01 11:10:25.381877881 +0200 CEST m=+37.815689116
|
||||
// 2025-07-01 11:32:34.372204616 +0200 CEST m=+35.939386287
|
||||
// using data from
|
||||
// /usr/share/dict/words
|
||||
package dictionary
|
||||
|
@ -17,7 +17,7 @@ const Directory = "/usr/share/dict"
|
||||
|
||||
var nonAlphanumericRegex = regexp.MustCompile(`[^a-zA-Z0-9 ]+`)
|
||||
|
||||
var wordsTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT.
|
||||
var dictionaryTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// {{ .Timestamp }}
|
||||
// using data from
|
||||
@ -35,14 +35,35 @@ var {{ .VarName }} = internal.Dictionary{
|
||||
}
|
||||
`))
|
||||
|
||||
type templateData struct {
|
||||
type dictionaryTemplateData struct {
|
||||
Timestamp time.Time
|
||||
Path string
|
||||
Words []string
|
||||
VarName string
|
||||
}
|
||||
|
||||
func generateFile(name string) {
|
||||
var exportTemplate = template.Must(template.New("").Parse(`// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// {{ .Timestamp }}
|
||||
// It exports the Dictionaries for easy use
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal/dictionary"
|
||||
)
|
||||
|
||||
{{range $VarName := .VarNames }}
|
||||
var {{ $VarName }} = dictionary.{{ $VarName }}
|
||||
{{- end }}
|
||||
`))
|
||||
|
||||
type exportTemplateData struct {
|
||||
Timestamp time.Time
|
||||
VarNames []string
|
||||
}
|
||||
|
||||
func generateFile(name string) string {
|
||||
fmt.Println("generating file for dictionary " + name)
|
||||
|
||||
lowerName := strings.ToLower(name)
|
||||
@ -73,12 +94,15 @@ func generateFile(name string) {
|
||||
die(err)
|
||||
defer f.Close()
|
||||
|
||||
wordsTemplate.Execute(f, templateData{
|
||||
varName := nonAlphanumericRegex.ReplaceAllString(strings.Title(name), "")
|
||||
dictionaryTemplate.Execute(f, dictionaryTemplateData{
|
||||
Timestamp: time.Now(),
|
||||
Path: Path,
|
||||
Words: words,
|
||||
VarName: nonAlphanumericRegex.ReplaceAllString(strings.Title(name), ""),
|
||||
VarName: varName,
|
||||
})
|
||||
|
||||
return varName
|
||||
}
|
||||
|
||||
func main() {
|
||||
@ -89,13 +113,20 @@ func main() {
|
||||
die(err)
|
||||
}
|
||||
|
||||
varNames := make([]string, 0)
|
||||
for _, e := range entries {
|
||||
if !strings.Contains(e.Name(), ".") {
|
||||
generateFile(e.Name())
|
||||
varNames = append(varNames, generateFile(e.Name()))
|
||||
}
|
||||
}
|
||||
|
||||
// generateFile("words")
|
||||
f, err := os.Create("exports.go")
|
||||
die(err)
|
||||
defer f.Close()
|
||||
exportTemplate.Execute(f, exportTemplateData{
|
||||
Timestamp: time.Now(),
|
||||
VarNames: varNames,
|
||||
})
|
||||
}
|
||||
|
||||
func die(err error) {
|
||||
|
11
main.go
11
main.go
@ -1,13 +1,12 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"gitea.elara.ws/Hazel/go-words/internal/dictionary"
|
||||
)
|
||||
import "fmt"
|
||||
|
||||
//go:generate go run internal/gen.go
|
||||
|
||||
func main() {
|
||||
fmt.Println(dictionary.Brazilian.GetRandomWord())
|
||||
fmt.Println(Words.Contains("hello"))
|
||||
fmt.Println(Words.GetRandomWord())
|
||||
fmt.Println(Brazilian.GetRandomWord())
|
||||
fmt.Println(CracklibSmall.GetRandomWord())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user