TerminalSession class
Manages terminal session state (cursor visibility, raw mode).
This is a composable component that can be used:
- Directly for display views that need cursor control
- As part of PromptRunner for interactive prompts
For display views (no key input needed):
final session = TerminalSession(hideCursor: true);
final out = RenderOutput();
session.run(() {
out.writeln('Loading...');
// ... do work ...
out.clear();
out.writeln('Done!');
});
Constructors
- TerminalSession({bool hideCursor = false, bool rawMode = false})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hideCursor → bool
-
Whether to hide the cursor during the session.
final
- isActive → bool
-
Whether the session is currently active.
no setter
- rawMode → bool
-
Whether to enter raw terminal mode (for key input).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
end(
) → void - Ends the terminal session and restores state.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
run<
T> (T body()) → T -
Runs
bodywithin this session, ensuring cleanup on exit. -
runAsync<
T> (FutureOr< T> body()) → Future<T> -
Runs
bodywithin this session, ensuring cleanup after awaited work. -
runWithOutput<
T> (T body(RenderOutput out), {bool clearOnEnd = false}) → T -
Runs
bodywith a RenderOutput, clearing output at the end if requested. -
runWithOutputAsync<
T> (FutureOr< T> body(RenderOutput out), {bool clearOnEnd = false}) → Future<T> -
Runs
bodywith a RenderOutput, ensuring cleanup after awaited work. -
start(
) → void - Starts the terminal session.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited