parseText function
This method synthesizes the matched tokens from a string of text. The tokens are supplied as a map.
Implementation
List<dynamic> parseText(Map<String, dynamic> tokenMap, String text) {
List<dynamic> result = [];
List<String> lineList = text.split('\n');
for (int x = 0; x < lineList.length; x++) {
List<dynamic> parsedLineList = [];
String line = lineList[x];
if (line == '\n') {
} else {
for (int i = 0; i < tokenMap.length; i++) {
String key = tokenMap.keys.elementAt(i);
RegExp pattern = tokenMap[key];
if (pattern.hasMatch(line) == true) {
Iterable<Match> allMatches = pattern.allMatches(line);
for (int z = 0; z < allMatches.length; z++) {
Match match = allMatches.elementAt(z);
int groupLength = match.groupCount + 1;
List<dynamic> imList = [];
for (int y = 1; y < groupLength; y++) {
imList.add(key);
imList.add(match.group(y));
}
parsedLineList.add(imList);
}
} else {}
}
if (parsedLineList.isEmpty == true) {
} else {
result.add(parsedLineList);
}
}
}
return result;
}