InteractiveTerm class final
Terminal handle for interactive (tty) input.
Owns a background parser subscription that feeds both an EventQueue
(pull API: tryEvent, awaitEvent, nextEvent) and a broadcast
events stream (push API). Also holds raw-mode state.
- Inheritance
- Available extensions
Properties
- backend → TermBackend
-
Underlying transport. Exposed for tests that need to seed the event queue
or inspect captured stdout, and for the documented raw-bytes recipe
(
term.backend.stdin.map(RawKeyEvent.new)).no setterinherited -
backgroundColor
→ Future<
Color?> -
Terminal background color. OSC 11 first, then
COLORFGBG.no setter -
cursorPosition
→ Future<
Pos?> -
Read cursor position on the terminal. Returns null if unavailable.
no setter
-
events
→ Stream<
Event> -
Broadcast stream of parsed events. Multiple subscribers supported.
no setter
-
foregroundColor
→ Future<
Color?> -
Terminal foreground color. OSC 10 first, then
COLORFGBG.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- hasOutputTerminal → bool
-
True if stdout is connected to an interactive terminal.
no setterinherited
- hasTerminal → bool
-
Always
truefor InteractiveTerm. Retained for ergonomic parity with hasOutputTerminal and for conditional logic in code that holds a Term.no setter - isColorForced → bool
-
True if
CLICOLOR_FORCEis set in the environment.no setterinherited - isFullyInteractive → bool
-
True if both stdin and stdout are ttys.
no setter
- newLine → String
-
Newline sequence honoring raw-mode state (
\r\nin raw mode, else\n).no setter - profile ↔ ProfileEnum
-
The current terminal profile to use.
getter/setter pairinherited
- queueLength → int
-
Current buffered length of the internal event queue. Read-only diagnostic.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- terminalColumns → int
-
Width of the terminal in characters. Falls back to
COLUMNSor 80.no setterinherited - terminalLines → int
-
Height of the terminal in rows. Falls back to
LINESor 25.no setterinherited - termInfo → TermInfo?
-
The most recent probe result, or null if probe was never called.
no setter
Methods
-
awaitEvent<
T extends Event> ({Duration? timeout}) → Future< T?> -
Wait for an event of type
T, up totimeout. -
clipboardClear(
Clipboard clipboard) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Clear Clipboard contents -
clipboardSet(
Clipboard clipboard, String data) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Set Clipboard content -
colorProfile(
) → ProfileEnum -
Resolve the color profile from
TERM/COLORTERMwithout checkingNO_COLOR/CLICOLOR_FORCE.inherited -
cursorHide(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Hides the cursor. -
cursorShow(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Shows the cursor. -
disableAlternateScreen(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable Alternate Screen -
disableBlinking(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Disables blinking of the terminal cursor. -
disableBracketedPaste(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable bracketed paste mode. -
disableColorPaletteUpdates(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable color palette update notifications. -
disableInBandResize(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable in-band window resize reporting. -
disableKeyboardEnhancement(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable keyboard enhancements -
disableLineWrapping(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disabled Line Wrapping -
disableMouseEvents(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Stop receiving mouse events -
disableRawMode(
) → void - Disables raw mode.
-
disableResizeEvents(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disables resize event delivery. -
disableUnicodeCore(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Disable Unicode Core -
dispose(
) → Future< void> -
Dispose event plumbing. Pending awaitEvent/nextEvent futures
complete with TermDisposed.
override
-
enableAlternateScreen(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable Alternate Screen -
enableBlinking(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Enables blinking of the terminal cursor. -
enableBracketedPaste(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable bracketed paste mode. -
enableColorPaletteUpdates(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable color palette update notifications. -
enableInBandResize(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable in-band window resize reporting. -
enableKeyboardEnhancement(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable keyboard enhancement -
enableKeyboardEnhancementFull(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable keyboard enhancement with all parameters -
enableLineWrapping(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enabled Line Wrapping -
enableMouseEvents(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Start receiving mouse events -
enableRawMode(
) → void - Enables raw mode.
-
enableResizeEvents(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enables resize event delivery, using in-band reporting where possible and a signal-based fallback everywhere else. -
enableUnicodeCore(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Enable Unicode Core -
endFocusTracking(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
End receiving focus events -
endSyncUpdate(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
End synchronous update mode -
envColorProfile(
) → ProfileEnum -
Resolve the color profile from environment variables.
inherited
-
envNoColor(
) → bool -
EnvNoColor returns true if the terminal should not emit colors based on
the environment.
NO_COLORwins;CLICOLOR=="0"requiresCLICOLOR_FORCEto flip back on. Piped stdout also forces no-color.inherited -
eraseClear(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
erase the screen and moves the cursor the top left position -
eraseDown(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the screen from the current line down to the bottom of the screen. -
eraseLine(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the entire current line, including the character at the cursor position. -
eraseLineFromCursor(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase from the current cursor position to the end of the current line. -
eraseLineSaved(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the saved line. -
eraseLineToCursor(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase from the current cursor position to the start of the current line. -
eraseSaved(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the saved lines. -
eraseScreen(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the entire screen. -
eraseUp(
) → void -
Available on InteractiveTerm, provided by the EraseUtils extension
Erase the screen from the current line up to the top of the screen. -
flush(
) → Future< void> -
Flush pending stdout without closing it or exiting the process.
inherited
-
flushThenExit(
int status) → Future< void> -
Flush stdout and stderr, then exit with
status. Never returns.inherited -
hyperlink(
String link, String name) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Write a hyperlink to the terminal. -
isBackgroundDark(
{double factor = 0.5}) → Future< bool?> -
True if the background is dark (luminance <
factor). Null if background color cannot be determined. -
moveDown(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor downncells. -
moveHome(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor to the top-left corner of the screen. -
moveLeft(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor leftncells. -
moveRight(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor rightncells. -
moveTo(
int row, int col) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor to the given position (row, column) -
moveToColumn(
int n) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor to the given column on the current row. The value is 0 based, meaning 0 is the leftmost column. -
moveToNextLine(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor down the given number of lines. -
moveToPrevLine(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor up the given number of lines. -
moveToRow(
int n) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor to the given row on the current column. The value is 0 based, meaning 0 is the topmost row. -
moveUp(
[int n = 1]) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Moves the cursor upncells. -
nextEvent<
T extends Event> () → Future< T> -
Wait indefinitely for the next event of type
T. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
String title, String message) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Write a notification to the terminal. -
popKeyboardFlags(
[int entries = 1]) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Pop keyboard flags from the stack -
probe(
{Set< ProbeQuery> skip = const {}, int deadline = 500}) → Future<TermInfo> -
Probe terminal capabilities. The result is cached in termInfo and seeds
the live tracked mode state (
_seedModesFromProbe) so subsequentwithModessave/restore starts from the terminal's actual state rather than assumed defaults. -
pushKeyboardFlags(
KeyboardEnhancementFlagsEvent flags) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Push keyboard flags to the stack -
queryBracketedPaste(
{int timeout = defaultQueryTimeout}) → Future< QueryBracketedPasteEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query bracketed paste reporting status. -
queryClipboard(
Clipboard clipboard, {int timeout = defaultQueryTimeout}) → Future< ClipboardCopyEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Clipboard content -
queryColorScheme(
{int timeout = defaultQueryTimeout}) → Future< ColorSchemeEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query terminal color scheme preference (light/dark mode). -
queryCursorPosition(
{int timeout = defaultQueryTimeout}) → Future< CursorPositionEvent?> -
Available on InteractiveTerm, provided by the CursorUtils extension
Queries the current cursor position. -
queryInBandResize(
{int timeout = defaultQueryTimeout}) → Future< QueryWindowResizeEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query in-band window resize reporting status. -
queryKeyboardCapabilities(
{int timeout = defaultQueryTimeout}) → Future< KeyboardEnhancementFlagsEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Request keyboard capabilities -
queryKeyboardEnhancementSupport(
{int timeout = defaultQueryTimeout}) → Future< bool> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Keyboard enhancement support -
queryOSCStatus(
int status, {int timeout = defaultQueryTimeout}) → Future< Color?> -
Available on InteractiveTerm, provided by the TermUtils extension
Returns the current terminal status report. -
queryPrimaryDeviceAttributes(
{int timeout = defaultQueryTimeout}) → Future< PrimaryDeviceAttributesEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Primary Device Attributes -
querySecondaryDeviceAttributes(
{int timeout = defaultQueryTimeout}) → Future< SecondaryDeviceAttributesEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Secondary Device Attributes (DA2) -
querySyncUpdate(
{int timeout = defaultQueryTimeout}) → Future< QuerySyncUpdateEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Sync status -
queryTerminalVersion(
{int timeout = defaultQueryTimeout}) → Future< String> -
Available on InteractiveTerm, provided by the TermUtils extension
Request terminal name and version -
queryUnicodeCore(
{int timeout = defaultQueryTimeout}) → Future< UnicodeCoreEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Unicode Core status -
queryWindowSizeInPixels(
{int timeout = defaultQueryTimeout}) → Future< QueryTerminalWindowSizeEvent?> -
Available on InteractiveTerm, provided by the TermUtils extension
Query Terminal window size in pixels -
readLine(
[ReadlineOptions options = const ReadlineOptions()]) → Future< String?> - Read a line from the terminal with basic editing. Returns null on ESC.
-
restorePosition(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Restores the cursor position. -
savePosition(
) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Saves the current cursor position. -
scrollDown(
int rows) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Scroll the terminal down by the specified number of rows. -
scrollUp(
int rows) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Scroll the terminal up by the specified number of rows. -
setCursorStyle(
CursorStyle style) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Sets the cursor style. -
setKeyboardFlags(
KeyboardEnhancementFlagsEvent flags) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Set keyboard flags -
setTerminalTitle(
String title) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Set Terminal Title -
softReset(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Soft Terminal reset -
startFocusTracking(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Start receiving focus events -
startSyncUpdate(
) → void -
Available on InteractiveTerm, provided by the TermUtils extension
Start synchronous update mode -
style(
{Color? fg, Color? bg, bool bold = false, bool faint = false, bool italic = false, bool blink = false, bool reverse = false, bool crossOut = false, bool overline = false, Underline underline = Underline.none, Color? underlineColor}) → Style -
Returns a Style object for the current profile.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
tryEvent<
T extends Event> () → T? -
Poll for an event of type
Twithout blocking. -
withModes<
T> (Future< T> fn(), {bool? rawMode, bool? alternateScreen, bool? mouseEvents, KeyboardEnhancement? keyboardEnhancement, bool? bracketedPaste, bool? inBandResize, bool? lineWrapping, bool? cursorVisible}) → Future<T> -
Run
fnwith the named terminal modes applied, restoring each to the state it had at scope entry oncefncompletes (normally or with error). -
write(
Object s) → void -
Write the object's string representation to stdout.
inherited
-
writeAt(
int row, int col, Object s) → void -
Available on InteractiveTerm, provided by the CursorUtils extension
Writesat (row,col). -
writeln(
Object s) → void -
Write the object's string representation followed by a newline.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited