fix mention extracting when no domain exists (usually intra-instance mentions) (#272)

* fix mention extracting when no domain exists (usually when intra-instance mentions)

Signed-off-by: kim <grufwub@gmail.com>

* fix search logic to match new mention matching logic

Signed-off-by: kim <grufwub@gmail.com>

* appease the linter :p

Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
kim
2021-10-17 13:19:49 +01:00
committed by GitHub
parent 15621f5324
commit 7e4c3fa5c7
4 changed files with 23 additions and 35 deletions

View File

@@ -68,16 +68,12 @@ func DeriveEmojisFromText(text string) []string {
// If nothing is matched, it will return an error.
func ExtractMentionParts(mention string) (username, domain string, err error) {
matches := regexes.MentionName.FindStringSubmatch(mention)
if matches == nil || len(matches) != 3 {
err = fmt.Errorf("could't match mention %s", mention)
return
switch len(matches) {
case 2:
return matches[1], "", nil
case 3:
return matches[1], matches[2], nil
default:
return "", "", fmt.Errorf("couldn't match mention %s", mention)
}
username = matches[1]
domain = matches[2]
return
}
// IsMention returns true if the passed string looks like @whatever@example.org
func IsMention(mention string) bool {
return regexes.MentionName.MatchString(strings.ToLower(mention))
}