From 87265771a159028b61012ed3cd85d2e6c9571ec9 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 24 Nov 2025 21:18:19 -0800 Subject: feat(source): Support RegExp in tag_predicate --- internal/yae/source.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/yae/source.go b/internal/yae/source.go index 6b29732..f6fd38d 100644 --- a/internal/yae/source.go +++ b/internal/yae/source.go @@ -3,6 +3,7 @@ package yae import ( "fmt" "net/url" + "regexp" "strings" "github.com/charmbracelet/log" @@ -127,8 +128,14 @@ func (source *Source) fetchLatestGitTag() (string, error) { if source.TagPredicate == "" { latest = refs[len(refs)-2] } else { + pattern, err := regexp.Compile(source.TagPredicate) + + if err != nil { + return "", fmt.Errorf("invalid tag_predicate regex pattern: %w", err) + } + for i := len(refs) - 2; i >= 0; i-- { - if strings.Contains(refs[i], source.TagPredicate) { + if pattern.MatchString(refs[i]) { latest = refs[i] break -- cgit v1.2.3