Terminal constructor
Implementation
Terminal({Stream<List<int>>? input, IOSink? output, List<String>? env})
: _input = input ?? stdin,
_output = output ?? stdout,
_env =
env ??
Platform.environment.entries
.map((e) => '${e.key}=${e.value}')
.toList(),
_buf = Buffer.create(0, 0),
capabilities = TerminalCapabilities(
env:
env ??
Platform.environment.entries
.map((e) => '${e.key}=${e.value}')
.toList(),
) {
final isTty = _output is Stdout && (_output).hasTerminal;
_renderer = UvTerminalRenderer(_output, env: _env, isTty: isTty);
_reader = TerminalReader(
CancelReader(_input),
term: Environ(_env).getenv('TERM'),
);
_winch = SizeNotifier();
}