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.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/american-english
|
// /usr/share/dict/american-english
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/brazilian
|
// /usr/share/dict/brazilian
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/british-english
|
// /usr/share/dict/british-english
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/cracklib-small
|
// /usr/share/dict/cracklib-small
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/french
|
// /usr/share/dict/french
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/italian
|
// /usr/share/dict/italian
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/ngerman
|
// /usr/share/dict/ngerman
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/ogerman
|
// /usr/share/dict/ogerman
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/portuguese
|
// /usr/share/dict/portuguese
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/spanish
|
// /usr/share/dict/spanish
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/swiss
|
// /usr/share/dict/swiss
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/words
|
// /usr/share/dict/words
|
||||||
package dictionary
|
package dictionary
|
||||||
|
@ -17,7 +17,7 @@ const Directory = "/usr/share/dict"
|
|||||||
|
|
||||||
var nonAlphanumericRegex = regexp.MustCompile(`[^a-zA-Z0-9 ]+`)
|
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
|
// This file was generated by robots at
|
||||||
// {{ .Timestamp }}
|
// {{ .Timestamp }}
|
||||||
// using data from
|
// using data from
|
||||||
@ -35,14 +35,35 @@ var {{ .VarName }} = internal.Dictionary{
|
|||||||
}
|
}
|
||||||
`))
|
`))
|
||||||
|
|
||||||
type templateData struct {
|
type dictionaryTemplateData struct {
|
||||||
Timestamp time.Time
|
Timestamp time.Time
|
||||||
Path string
|
Path string
|
||||||
Words []string
|
Words []string
|
||||||
VarName 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)
|
fmt.Println("generating file for dictionary " + name)
|
||||||
|
|
||||||
lowerName := strings.ToLower(name)
|
lowerName := strings.ToLower(name)
|
||||||
@ -73,12 +94,15 @@ func generateFile(name string) {
|
|||||||
die(err)
|
die(err)
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
|
|
||||||
wordsTemplate.Execute(f, templateData{
|
varName := nonAlphanumericRegex.ReplaceAllString(strings.Title(name), "")
|
||||||
|
dictionaryTemplate.Execute(f, dictionaryTemplateData{
|
||||||
Timestamp: time.Now(),
|
Timestamp: time.Now(),
|
||||||
Path: Path,
|
Path: Path,
|
||||||
Words: words,
|
Words: words,
|
||||||
VarName: nonAlphanumericRegex.ReplaceAllString(strings.Title(name), ""),
|
VarName: varName,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return varName
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -89,13 +113,20 @@ func main() {
|
|||||||
die(err)
|
die(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
varNames := make([]string, 0)
|
||||||
for _, e := range entries {
|
for _, e := range entries {
|
||||||
if !strings.Contains(e.Name(), ".") {
|
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) {
|
func die(err error) {
|
||||||
|
11
main.go
11
main.go
@ -1,13 +1,12 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import "fmt"
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"gitea.elara.ws/Hazel/go-words/internal/dictionary"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:generate go run internal/gen.go
|
//go:generate go run internal/gen.go
|
||||||
|
|
||||||
func main() {
|
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