From ebe79ea1aaaf8b7bfe30fbb932424e59bdc70b71 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 11 Apr 2026 09:24:53 +0000 Subject: fix(analyze): improve uppercase token detection accuracy --- internal/analyze/analyze.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'internal/analyze') diff --git a/internal/analyze/analyze.go b/internal/analyze/analyze.go index 315f086..2b9112e 100644 --- a/internal/analyze/analyze.go +++ b/internal/analyze/analyze.go @@ -108,7 +108,22 @@ func isUpperCaseToken(identifierName string, token string) bool { return false } - return strings.Contains(identifierName, strings.ToUpper(token)) + upperToken := strings.ToUpper(token) + + if !strings.Contains(identifierName, upperToken) { + return false + } + + tokenIndex := strings.Index(identifierName, upperToken) + afterIndex := tokenIndex + len(upperToken) + + if afterIndex >= len(identifierName) { + return true + } + + nextRune, _ := utf8.DecodeRuneInString(identifierName[afterIndex:]) + + return !unicode.IsLower(nextRune) } func tokenize(name string) []string { -- cgit v1.2.3