gitStatus method

  1. @override
Future<List<GitStatusEntry>> gitStatus()
override

Implementation

@override
Future<List<GitStatusEntry>> gitStatus() async {
  final out = (await _git(['status', '--porcelain'])).stdout as String;
  final entries = <GitStatusEntry>[];
  for (final line in const LineSplitter().convert(out)) {
    if (line.length < 3) continue;
    final code = line.substring(0, 2);
    final path = line.substring(3);
    entries.add(
      GitStatusEntry(
        path: path,
        status: code,
        staged: code[0] != ' ' && code[0] != '?',
      ),
    );
  }
  return entries;
}