Terminal constructor
Terminal([
- TerminalBackend? backend
Creates a new terminal using the specified backend.
If no backend is provided, uses the platform-specific default backend.
Implementation
Terminal([TerminalBackend? backend])
: backend = backend ?? getPlatformBackend() {
_parser = InputParser(isWindows: this.backend.isWindows);
this.backend.enableRawMode();
_stdinSubscription = this.backend.rawInput.listen(
(List<int> chunk) {
final parsed = _parser.parse(chunk);
for (final event in parsed) {
if (event is CursorPositionReportEvent) {
if (_cursorCallback != null && !_cursorCallback!.isCompleted) {
_cursorCallback!.complete(Point<int>(event.x, event.y));
}
_cursorCallback = null;
} else {
_events.add(event);
}
}
},
onDone: () {
_events.close();
},
);
}