processXcodeList function

List<FigSuggestion> processXcodeList(
  1. String out, [
  2. List<String>? tokens
])

Implementation

List<FigSuggestion> processXcodeList(String out, [List<String>? tokens]) {
  return out
      .split('\n')
      .reversed
      .map((line) {
        final nameIndex = line.indexOf(' (');
        if (nameIndex == -1) return null;
        final name = line.substring(0, nameIndex);

        String icon = '⬇️';
        if (line.contains('Selected')) {
          icon = '⭐️';
        } else if (line.contains('Installed')) {
          icon = '🔨';
        } else if (tokens != null &&
            (tokens.contains('select') || tokens.contains('uninstall'))) {
          icon = '🔨';
        }

        final description =
            line.substring(nameIndex).replaceAll(RegExp(r'[\(\)]'), '');
        return FigSuggestion(name: name, icon: icon, description: description);
      })
      .whereType<FigSuggestion>()
      .toList();
}