added functionality to dictionaries
This commit is contained in:
parent
31d3b43df0
commit
397f344885
27
internal/dictionary.go
Normal file
27
internal/dictionary.go
Normal file
@ -0,0 +1,27 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"math/rand/v2"
|
||||
"sort"
|
||||
)
|
||||
|
||||
type Dictionary []string
|
||||
|
||||
func (d Dictionary) GetRandomWord() string {
|
||||
return d[rand.IntN(len(d))]
|
||||
}
|
||||
|
||||
func (d Dictionary) GetRandomWords(n int) []string {
|
||||
r := make([]string, n)
|
||||
|
||||
for i := range r {
|
||||
r[i] = d[rand.IntN(len(d))]
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
func (d Dictionary) Contains(word string) bool {
|
||||
index := sort.SearchStrings(d, word)
|
||||
return index < len(d) && d[index] == word
|
||||
}
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:21:50.475828877 +0200 CEST m=+0.495847615
|
||||
// 2025-07-01 11:09:48.109934465 +0200 CEST m=+0.543745683
|
||||
// using data from
|
||||
// /usr/share/dict/american-english
|
||||
package dictionary
|
||||
|
||||
var American-English = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var AmericanEnglish = internal.Dictionary{
|
||||
"A",
|
||||
"AA",
|
||||
"AAA",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:21:52.407274599 +0200 CEST m=+2.427293337
|
||||
// 2025-07-01 11:09:50.680209997 +0200 CEST m=+3.114021211
|
||||
// using data from
|
||||
// /usr/share/dict/brazilian
|
||||
package dictionary
|
||||
|
||||
var Brazilian = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Brazilian = internal.Dictionary{
|
||||
"Abade",
|
||||
"Abadia",
|
||||
"Abaetetuba",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:21:56.81436211 +0200 CEST m=+6.834380849
|
||||
// 2025-07-01 11:09:53.474330852 +0200 CEST m=+5.908142075
|
||||
// using data from
|
||||
// /usr/share/dict/british-english
|
||||
package dictionary
|
||||
|
||||
var British-English = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var BritishEnglish = internal.Dictionary{
|
||||
"A",
|
||||
"AA",
|
||||
"AAA",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:21:57.658930047 +0200 CEST m=+7.678948785
|
||||
// 2025-07-01 11:09:54.634847345 +0200 CEST m=+7.068658569
|
||||
// using data from
|
||||
// /usr/share/dict/cracklib-small
|
||||
package dictionary
|
||||
|
||||
var Cracklib-Small = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var CracklibSmall = internal.Dictionary{
|
||||
"007bond",
|
||||
"063dyjuy",
|
||||
"070462",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:01.962007961 +0200 CEST m=+11.982026706
|
||||
// 2025-07-01 11:09:57.117352243 +0200 CEST m=+9.551163456
|
||||
// using data from
|
||||
// /usr/share/dict/french
|
||||
package dictionary
|
||||
|
||||
var French = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var French = internal.Dictionary{
|
||||
"a",
|
||||
"abaca",
|
||||
"abacule",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:06.336848952 +0200 CEST m=+16.356867692
|
||||
// 2025-07-01 11:09:59.571504161 +0200 CEST m=+12.005315373
|
||||
// using data from
|
||||
// /usr/share/dict/italian
|
||||
package dictionary
|
||||
|
||||
var Italian = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Italian = internal.Dictionary{
|
||||
"Achille",
|
||||
"Adamo",
|
||||
"Adriano",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:11.241137354 +0200 CEST m=+21.261156092
|
||||
// 2025-07-01 11:10:02.754154395 +0200 CEST m=+15.187965608
|
||||
// using data from
|
||||
// /usr/share/dict/ngerman
|
||||
package dictionary
|
||||
|
||||
var Ngerman = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Ngerman = internal.Dictionary{
|
||||
"ABC",
|
||||
"ABM",
|
||||
"ACL",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:14.888368658 +0200 CEST m=+24.908387396
|
||||
// 2025-07-01 11:10:08.076968748 +0200 CEST m=+20.510779963
|
||||
// using data from
|
||||
// /usr/share/dict/ogerman
|
||||
package dictionary
|
||||
|
||||
var Ogerman = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Ogerman = internal.Dictionary{
|
||||
"ADAC",
|
||||
"AEG",
|
||||
"AG",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:23.165479177 +0200 CEST m=+33.185497915
|
||||
// 2025-07-01 11:10:15.007316041 +0200 CEST m=+27.441127269
|
||||
// using data from
|
||||
// /usr/share/dict/portuguese
|
||||
package dictionary
|
||||
|
||||
var Portuguese = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Portuguese = internal.Dictionary{
|
||||
"a",
|
||||
"AAC",
|
||||
"Aachen",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:27.940113508 +0200 CEST m=+37.960132246
|
||||
// 2025-07-01 11:10:18.794974706 +0200 CEST m=+31.228785917
|
||||
// using data from
|
||||
// /usr/share/dict/spanish
|
||||
package dictionary
|
||||
|
||||
var Spanish = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Spanish = internal.Dictionary{
|
||||
"a",
|
||||
"ab",
|
||||
"abab",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:30.417854641 +0200 CEST m=+40.437873379
|
||||
// 2025-07-01 11:10:22.051859644 +0200 CEST m=+34.485670858
|
||||
// using data from
|
||||
// /usr/share/dict/swiss
|
||||
package dictionary
|
||||
|
||||
var Swiss = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Swiss = internal.Dictionary{
|
||||
"ABC",
|
||||
"ABM",
|
||||
"ACL",
|
||||
|
@ -1,14 +1,15 @@
|
||||
// Code generated by go generate; DO NOT EDIT.
|
||||
// This file was generated by robots at
|
||||
// 2025-06-30 17:22:37.555687817 +0200 CEST m=+47.575706555
|
||||
// 2025-07-01 11:10:25.381877881 +0200 CEST m=+37.815689116
|
||||
// using data from
|
||||
// /usr/share/dict/words
|
||||
package dictionary
|
||||
|
||||
var Words = []string{
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var Words = internal.Dictionary{
|
||||
"A",
|
||||
"AA",
|
||||
"AAA",
|
||||
|
@ -15,6 +15,8 @@ import (
|
||||
|
||||
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.
|
||||
// This file was generated by robots at
|
||||
// {{ .Timestamp }}
|
||||
@ -22,7 +24,11 @@ var wordsTemplate = template.Must(template.New("").Parse(`// Code generated by g
|
||||
// {{ .Path }}
|
||||
package dictionary
|
||||
|
||||
var {{ .VarName }} = []string{
|
||||
import (
|
||||
"gitea.elara.ws/Hazel/go-words/internal"
|
||||
)
|
||||
|
||||
var {{ .VarName }} = internal.Dictionary{
|
||||
{{- range .Words }}
|
||||
{{ printf "%q" . }},
|
||||
{{- end }}
|
||||
@ -71,7 +77,7 @@ func generateFile(name string) {
|
||||
Timestamp: time.Now(),
|
||||
Path: Path,
|
||||
Words: words,
|
||||
VarName: strings.Title(name),
|
||||
VarName: nonAlphanumericRegex.ReplaceAllString(strings.Title(name), ""),
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user