getMarkupText method

String getMarkupText()

Implementation

String getMarkupText() {
  String finalString = '';
  int lastStartingRunStart = 0;

  for (int i = 0; i < _cachedMentions.length; ++i) {
    final _TextMention mention = _cachedMentions[i];

    final int indexToEndRegular = mention.start;

    if (indexToEndRegular != lastStartingRunStart) {
      finalString += text.substring(lastStartingRunStart, indexToEndRegular);
    }

    final String markupString =
        '${mention.syntax.prefix}${mention.syntax.startingCharacter}${mention.id}${mention.syntax.suffix}';

    finalString += markupString;

    lastStartingRunStart = mention.end;
  }

  if (lastStartingRunStart < text.length) {
    finalString += text.substring(lastStartingRunStart, text.length);
  }

  return finalString;
}