fun String.addMentionsEditText(mentions: List<MentionItemInfo>, context: Context): SpannableString {
val result = SpannableStringBuilder()
var prevIndex = 0
mentions.forEach { mentionItem ->
result.append(this.substring(prevIndex, mentionItem.index))
val mentionText = SpannableString(
mentionItem.name)
mentionText.setSpan(
MentionSpan(mentionItem.toSuggestion(), context.getColor(R.color.colorAccent)),
0,
mentionText.length,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
result.append(mentionText)
}
return SpannableString.valueOf(result)
}