InputDebugEvent.fromTuiEvent constructor
InputDebugEvent.fromTuiEvent(
- TuiEvent event
Implementation
factory InputDebugEvent.fromTuiEvent(TuiEvent event) {
return switch (event) {
TerminalFocusEvent(:final focused) => InputDebugEvent(
kind: 'focus',
summary: focused ? 'window focus in' : 'window focus out',
),
KeyEvent() => InputDebugEvent(kind: 'key', summary: _describeKey(event)),
TextInputEvent(:final text) => InputDebugEvent(
kind: 'text',
summary: '${text.length} chars',
),
InputBatch(:final key, :final committedText) => InputDebugEvent(
kind: 'batch',
summary: [
if (key != null) _describeKey(key),
if (committedText != null) '"$committedText"',
].join(' '),
),
TextCompositionEvent(:final kind, :final text) => InputDebugEvent(
kind: 'composition',
summary: text == null ? kind.name : '${kind.name}:${text.length} chars',
),
PasteEvent(:final text) => InputDebugEvent(
kind: 'paste',
summary: '${text.length} chars',
),
ResizeEvent(:final size) => InputDebugEvent(
kind: 'resize',
summary: '${size.cols}x${size.rows}',
resizeSize: size,
),
MouseEvent(:final kind, :final button, :final col, :final row) =>
InputDebugEvent(
kind: 'mouse',
summary: '${kind.name}:${button.name}@$col,$row',
),
SignalEvent(:final signal) => InputDebugEvent(
kind: 'signal',
summary: signal.name,
),
};
}