splitTokens method
Implementation
@visibleForTesting
(List<String> tokens, String content) splitTokens(String text) {
if (text.isEmpty) {
return ([], '');
}
final String noBraces = text.replaceAll("{", "").replaceAll("}", "");
final List<String> parts = noBraces.split(" ").toList();
final Set<String> tokens = {};
int contentStartIndex = 0;
for (int i = 0; i < parts.length; i++) {
final String part = parts[i];
if (!tokens.contains(part) && (defaultTokens.containsKey(part) || styles.containsKey(part) || colors.containsKey(part) || actions.containsKey(part))) {
tokens.add(part);
} else {
contentStartIndex = i;
break;
}
}
final String content = parts.sublist(contentStartIndex).join(" ");
return (tokens.toList(), content);
}