modeString property

String get modeString

format mode

Implementation

String get modeString {
  var permissions = stat.mode & 0xFFF;
  var codes = const ['---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx'];
  var rwx = [];
  var sgt = ['_', '_', '_']; // suid, guid, sticky bit
  if ((permissions & 0x800) != 0) sgt[0] = 's';
  if ((permissions & 0x400) != 0) sgt[1] = 'g';
  if ((permissions & 0x200) != 0) sgt[2] = 't';
  rwx
    ..add(codes[(permissions >> 6) & 0x7])
    ..add(codes[(permissions >> 3) & 0x7])
    ..add(codes[permissions & 0x7]);
  return '${sgt.join()} ${rwx.join()}'.padLeft(13);
}