@@ -258,7 +258,7 @@ class _UpstreamInlineMarkdownParser {
258
258
// Start visiting upstream characters by visiting the first character
259
259
// and checking for possible syntaxes.
260
260
for (final parser in parsers) {
261
- final markdownToken = parser.startWith (attributedText[offset] as String , offset);
261
+ final markdownToken = parser.startWith (attributedText. toPlainText () [offset], offset);
262
262
if (markdownToken != null ) {
263
263
_possibleSyntaxes.add (markdownToken);
264
264
}
@@ -270,7 +270,7 @@ class _UpstreamInlineMarkdownParser {
270
270
271
271
// Update all existing possible syntaxes and remove any possible syntaxes
272
272
// that are now invalid due to the new character.
273
- _updatePossibleSyntaxes (attributedText[offset] as String , offset);
273
+ _updatePossibleSyntaxes (attributedText. toPlainText () [offset], offset);
274
274
275
275
// Store any successful parsers on a stack. We keep searching after successful
276
276
// parsing because some parsers are essentially supersets of others, e.g., "*"
@@ -291,7 +291,7 @@ class _UpstreamInlineMarkdownParser {
291
291
//
292
292
// Finding a completed syntax isn't enough. We need to ensure that the
293
293
// immediate upstream character before the syntax doesn't invalidate it.
294
- final upstreamCharacter = attributedText[offset - 1 ] as String ;
294
+ final upstreamCharacter = attributedText. toPlainText () [offset - 1 ];
295
295
successfulParsers.removeWhere ((parser) => ! parser.canFollowCharacter (upstreamCharacter));
296
296
}
297
297
}
@@ -317,14 +317,14 @@ class _UpstreamInlineMarkdownParser {
317
317
return null ;
318
318
}
319
319
320
- final characterAtCaret = attributedText[caretOffset - 1 ] as String ; // -1 because caret sits after character
320
+ final characterAtCaret = attributedText. toPlainText () [caretOffset - 1 ]; // -1 because caret sits after character
321
321
if (characterAtCaret != " " ) {
322
322
// Don't linkify unless the user just inserted a space after the token.
323
323
return null ;
324
324
}
325
325
326
326
final endOfTokenOffset = caretOffset - 2 ;
327
- if (attributedText[endOfTokenOffset] != ")" ) {
327
+ if (attributedText. toPlainText () [endOfTokenOffset] != ")" ) {
328
328
// All links end with a ")", therefore we know the upstream token
329
329
// isn't a link. Short-circuit return.
330
330
return null ;
0 commit comments