start method

void start()

Implementation

void start() {
  outputStream.writeln(
      "${green.wrap("at_repl started") ?? "at_repl started"}. ${cyan.wrap("Type /help for available commands or /quit to quit.") ?? "Type /help for available commands or /quit to quit."}");
  _showPrompt();

  final subscription = inputStream.listen(null);
  subscription.onData((String input) {
    subscription.pause();
    _processInput(input).catchError((error, stackTrace) {
      outputStream.writeln(red.wrap("Error: $error"));
    }).whenComplete(() {
      _showPrompt();
      subscription.resume();
    });
  });
  subscription.onError((Object error, StackTrace stackTrace) {
    outputStream.writeln(red.wrap("Stream error: $error"));
  });
}