From 79de3fce706d4c31db08a898d28f53b6f9ce8c18 Mon Sep 17 00:00:00 2001 From: Mikhail Knyazhev Date: Sun, 1 Mar 2026 16:32:23 +0300 Subject: [PATCH 1/2] fix api --- golang/token_determinant.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/golang/token_determinant.go b/golang/token_determinant.go index 5451487..f2c318d 100644 --- a/golang/token_determinant.go +++ b/golang/token_determinant.go @@ -22,6 +22,9 @@ func ID(arg string) *Tokens { } func (v *Tokens) Pkg(arg string) *Tokens { + if len(arg) == 0 { + return v + } *v = append(*v, &models.Keyword{D: arg, Verify: true}) return v.Op(".") } From 5b589cd035d8685dab873dbd24fde27bad9f6cee Mon Sep 17 00:00:00 2001 From: Mikhail Knyazhev Date: Mon, 16 Mar 2026 13:49:02 +0300 Subject: [PATCH 2/2] fix --- golang/token_determinant.go | 2 +- internal/models/letter.go | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/golang/token_determinant.go b/golang/token_determinant.go index f2c318d..370c302 100644 --- a/golang/token_determinant.go +++ b/golang/token_determinant.go @@ -25,7 +25,7 @@ func (v *Tokens) Pkg(arg string) *Tokens { if len(arg) == 0 { return v } - *v = append(*v, &models.Keyword{D: arg, Verify: true}) + *v = append(*v, &models.Raw{D: arg, Verify: true}) return v.Op(".") } diff --git a/internal/models/letter.go b/internal/models/letter.go index 1c84a86..7cd9446 100644 --- a/internal/models/letter.go +++ b/internal/models/letter.go @@ -6,6 +6,7 @@ package models import ( + "fmt" "io" "go.osspkg.com/gogen/internal/gen" @@ -21,12 +22,16 @@ func (v *Letter) Render(w io.Writer) error { } type Raw struct { - D string - T types.Token - AT []types.Token + D string + T types.Token + AT []types.Token + Verify bool } func (v *Raw) Render(w io.Writer) error { + if v.Verify && !rexLetter.MatchString(v.D) { + return fmt.Errorf("invalid letter: %s", v.D) + } if err := gen.Render(w, v.D); err != nil { return err }