dispose method

  1. @override
void dispose()
override

Disposes of terminal resources and restores original state.

This should restore:

  • Cursor visibility
  • Raw mode
  • Alt screen
  • Mouse tracking
  • Bracketed paste

Implementation

@override
void dispose() {
  if (_bracketedPasteEnabled) disableBracketedPaste();
  if (_mouseEnabled) disableMouse();
  if (_altScreenEnabled) exitAltScreen();
  if (_rawModeEnabled) disableRawMode();

  _stopInputListener();
  _inputController?.close();
  _inputController = null;

  try {
    _raf?.closeSync();
  } catch (_) {}
  _raf = null;

  try {
    _out.close();
  } catch (_) {}
}