parseStDartSource function
Reads extras, extra colors, and untyped extra components from Dart source.
Does not parse the full STTheme constructor.
Implementation
STDartTokens parseStDartSource(String source) {
final code = stStripDartComments(source);
final variableName = _variableName(code);
final extras = _extras(code);
final extraNames = extras.map((e) => e.name).toSet();
final extraColors = _mapKeys(code, 'STColor');
final extraComponents =
_mapKeys(
code,
'STComponent',
).where((name) => !extraNames.contains(name)).toList();
return STDartTokens(
variableName: variableName,
extras: extras,
extraColors: extraColors,
extraComponents: extraComponents,
);
}