commit 738c272e3085d11d36bf442a3f103a91f8066608
parent 73a3f5625fd6f36c16121295dc2e1e150709ae6f
Author: Sean Enck <sean@ttypty.com>
Date: Tue, 3 Feb 2026 16:35:52 -0500
pre-calculate lowercase field names
Diffstat:
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/internal/app/list.go b/internal/app/list.go
@@ -10,6 +10,17 @@ import (
"github.com/enckse/lockbox/internal/kdbx"
)
+var (
+ allowedFieldsLower = func() []string {
+ fields := make([]string, len(kdbx.AllowedFields))
+ for i, field := range kdbx.AllowedFields {
+ fields[i] = strings.ToLower(field)
+ }
+ sort.Strings(fields)
+ return fields
+ }()
+)
+
// ListMode indicates how listing will be done/output
type ListMode int
@@ -57,10 +68,7 @@ func doList(attr, filter string, cmd CommandOptions, mode ListMode) error {
isFields := mode == ListFieldsMode
allowedFields := []string{}
if isFields {
- for _, allowed := range kdbx.AllowedFields {
- allowedFields = append(allowedFields, strings.ToLower(allowed))
- }
- sort.Strings(allowedFields)
+ allowedFields = allowedFieldsLower
}
isGroups := mode == ListGroupsMode || isFields
for f, err := range e {