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.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// This file was generated by robots at
|
// 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
|
// using data from
|
||||||
// /usr/share/dict/american-english
|
// /usr/share/dict/american-english
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var American-English = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var AmericanEnglish = internal.Dictionary{
|
||||||
"A",
|
"A",
|
||||||
"AA",
|
"AA",
|
||||||
"AAA",
|
"AAA",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/brazilian
|
// /usr/share/dict/brazilian
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Brazilian = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Brazilian = internal.Dictionary{
|
||||||
"Abade",
|
"Abade",
|
||||||
"Abadia",
|
"Abadia",
|
||||||
"Abaetetuba",
|
"Abaetetuba",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/british-english
|
// /usr/share/dict/british-english
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var British-English = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var BritishEnglish = internal.Dictionary{
|
||||||
"A",
|
"A",
|
||||||
"AA",
|
"AA",
|
||||||
"AAA",
|
"AAA",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/cracklib-small
|
// /usr/share/dict/cracklib-small
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Cracklib-Small = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var CracklibSmall = internal.Dictionary{
|
||||||
"007bond",
|
"007bond",
|
||||||
"063dyjuy",
|
"063dyjuy",
|
||||||
"070462",
|
"070462",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/french
|
// /usr/share/dict/french
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var French = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var French = internal.Dictionary{
|
||||||
"a",
|
"a",
|
||||||
"abaca",
|
"abaca",
|
||||||
"abacule",
|
"abacule",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/italian
|
// /usr/share/dict/italian
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Italian = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Italian = internal.Dictionary{
|
||||||
"Achille",
|
"Achille",
|
||||||
"Adamo",
|
"Adamo",
|
||||||
"Adriano",
|
"Adriano",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/ngerman
|
// /usr/share/dict/ngerman
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Ngerman = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Ngerman = internal.Dictionary{
|
||||||
"ABC",
|
"ABC",
|
||||||
"ABM",
|
"ABM",
|
||||||
"ACL",
|
"ACL",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/ogerman
|
// /usr/share/dict/ogerman
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Ogerman = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Ogerman = internal.Dictionary{
|
||||||
"ADAC",
|
"ADAC",
|
||||||
"AEG",
|
"AEG",
|
||||||
"AG",
|
"AG",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/portuguese
|
// /usr/share/dict/portuguese
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Portuguese = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Portuguese = internal.Dictionary{
|
||||||
"a",
|
"a",
|
||||||
"AAC",
|
"AAC",
|
||||||
"Aachen",
|
"Aachen",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/spanish
|
// /usr/share/dict/spanish
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Spanish = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Spanish = internal.Dictionary{
|
||||||
"a",
|
"a",
|
||||||
"ab",
|
"ab",
|
||||||
"abab",
|
"abab",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/swiss
|
// /usr/share/dict/swiss
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Swiss = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Swiss = internal.Dictionary{
|
||||||
"ABC",
|
"ABC",
|
||||||
"ABM",
|
"ABM",
|
||||||
"ACL",
|
"ACL",
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// 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-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
|
// using data from
|
||||||
// /usr/share/dict/words
|
// /usr/share/dict/words
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var Words = []string{
|
import (
|
||||||
"foo",
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
"bar",
|
)
|
||||||
"baz",
|
|
||||||
|
var Words = internal.Dictionary{
|
||||||
"A",
|
"A",
|
||||||
"AA",
|
"AA",
|
||||||
"AAA",
|
"AAA",
|
||||||
|
@ -15,6 +15,8 @@ import (
|
|||||||
|
|
||||||
const Directory = "/usr/share/dict"
|
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 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
|
||||||
// {{ .Timestamp }}
|
// {{ .Timestamp }}
|
||||||
@ -22,7 +24,11 @@ var wordsTemplate = template.Must(template.New("").Parse(`// Code generated by g
|
|||||||
// {{ .Path }}
|
// {{ .Path }}
|
||||||
package dictionary
|
package dictionary
|
||||||
|
|
||||||
var {{ .VarName }} = []string{
|
import (
|
||||||
|
"gitea.elara.ws/Hazel/go-words/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
var {{ .VarName }} = internal.Dictionary{
|
||||||
{{- range .Words }}
|
{{- range .Words }}
|
||||||
{{ printf "%q" . }},
|
{{ printf "%q" . }},
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -71,7 +77,7 @@ func generateFile(name string) {
|
|||||||
Timestamp: time.Now(),
|
Timestamp: time.Now(),
|
||||||
Path: Path,
|
Path: Path,
|
||||||
Words: words,
|
Words: words,
|
||||||
VarName: strings.Title(name),
|
VarName: nonAlphanumericRegex.ReplaceAllString(strings.Title(name), ""),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user