49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
package com.discord.widgets.chat.input;
|
|
|
|
import d0.g0.a;
|
|
import d0.t.n0;
|
|
import d0.z.d.m;
|
|
import java.util.Set;
|
|
import kotlin.Pair;
|
|
/* compiled from: MentionUtils.kt */
|
|
public final class MentionUtilsKt {
|
|
public static final char CHANNELS_CHAR = '#';
|
|
private static final Set<Character> DEFAULT_LEADING_IDENTIFIERS = n0.hashSetOf('@', ':', '#', '/');
|
|
public static final char EMOJIS_AND_STICKERS_CHAR = ':';
|
|
public static final char MENTIONS_CHAR = '@';
|
|
public static final char SLASH_CHAR = '/';
|
|
|
|
public static final Set<Character> getDEFAULT_LEADING_IDENTIFIERS() {
|
|
return DEFAULT_LEADING_IDENTIFIERS;
|
|
}
|
|
|
|
public static final Pair<String, Integer> getSelectedToken(String str, int i) {
|
|
m.checkNotNullParameter(str, "content");
|
|
boolean z2 = false;
|
|
if (str.length() == 0) {
|
|
return new Pair<>(null, -1);
|
|
}
|
|
boolean z3 = i == str.length();
|
|
boolean z4 = i == 0 || a.isWhitespace(str.charAt(i + -1));
|
|
if (z3 && z4) {
|
|
return new Pair<>(null, -1);
|
|
}
|
|
int max = Math.max(reverseIndexOf(str, ' ', i), reverseIndexOf(str, '\n', i)) + 1;
|
|
String substring = str.substring(max, i);
|
|
m.checkNotNullExpressionValue(substring, "(this as java.lang.Strin…ing(startIndex, endIndex)");
|
|
if (substring.length() > 0) {
|
|
z2 = true;
|
|
}
|
|
return z2 ? new Pair<>(substring, Integer.valueOf(max)) : new Pair<>(null, -1);
|
|
}
|
|
|
|
private static final int reverseIndexOf(String str, char c2, int i) {
|
|
for (int i2 = i - 1; i2 >= 0; i2--) {
|
|
if (str.charAt(i2) == c2) {
|
|
return i2;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
}
|