feat: 评论话题匹配
This commit is contained in:
@ -582,6 +582,7 @@ InlineSpan buildContent(
|
||||
// 构建正则表达式
|
||||
final List<String> specialTokens = [
|
||||
...content.emote.keys,
|
||||
...content.topicsMeta?.keys?.map((e) => '#$e#') ?? [],
|
||||
...content.atNameToMid.keys.map((e) => '@$e'),
|
||||
...content.jumpUrl.keys.map((e) =>
|
||||
e.replaceAll('?', '\\?').replaceAll('+', '\\+').replaceAll('*', '\\*')),
|
||||
@ -664,7 +665,7 @@ InlineSpan buildContent(
|
||||
),
|
||||
);
|
||||
} else {
|
||||
// print("matchStr=$matchStr");
|
||||
print("matchStr=$matchStr");
|
||||
String appUrlSchema = '';
|
||||
final bool enableWordRe = setting.get(SettingBoxKey.enableWordRe,
|
||||
defaultValue: false) as bool;
|
||||
@ -727,6 +728,23 @@ InlineSpan buildContent(
|
||||
);
|
||||
// 只显示一次
|
||||
matchedStrs.add(matchStr);
|
||||
} else if (content
|
||||
.topicsMeta[matchStr.substring(1, matchStr.length - 1)] !=
|
||||
null) {
|
||||
spanChilds.add(
|
||||
TextSpan(
|
||||
text: matchStr,
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap = () {
|
||||
final String topic =
|
||||
matchStr.substring(1, matchStr.length - 1);
|
||||
Get.toNamed('/searchResult', parameters: {'keyword': topic});
|
||||
},
|
||||
),
|
||||
);
|
||||
} else {
|
||||
addPlainTextSpan(matchStr);
|
||||
}
|
||||
|
Reference in New Issue
Block a user