fixupImports method
Sorts imports in the file and removes duplicates
Implementation
void fixupImports(String filePath) {
final allImports = <String>[];
for(var lineIdx = lines.length - 1; lineIdx >= 0; lineIdx--) {
final line = lines[lineIdx];
if(line.startsWith("import ")) {
final parsedLines = line.split("\n");
allImports.addAll(parsedLines.where((l) => l.trim().isNotEmpty));
lines.removeAt(lineIdx);
}
}
if(allImports.isEmpty) {
return;
}
allImports.removeWhere((l) => l.trim().isEmpty);
allImports.sort();
// remove any duplicate imports.
for(var i = allImports.length - 1; i >= 1; i--) {
final cur = allImports[i];
final prev = allImports[i-1];
if(prev.trim() == cur.trim()) {
allImports.removeAt(i);
}
}
allImports.add("");
lines.insertAll(0, allImports);
}