InteractiveShellController constructor
InteractiveShellController({
- required ShellSessionPort session,
- required void onOutput(),
- required void onPrompt(
- ShellPromptState state
- required void onPassthrough(
- bool active
- void onStderr()?,
- void onExit(
- int code
- bool resumedInAltScreen = false,
- bool interactive = true,
- CwdMarker? marker,
Creates a controller over session. marker defaults to one seeded from
the session id (so a resumed session reuses the original completion token).
Implementation
InteractiveShellController({
required ShellSessionPort session,
required this.onOutput,
required this.onPrompt,
required this.onPassthrough,
this.onStderr,
this.onExit,
bool resumedInAltScreen = false,
bool interactive = true,
CwdMarker? marker,
}) : _session = session,
_marker = marker ?? CwdMarker(session.id?.value),
_dialect = ShellDialect.forFamily(session.shellFamily),
_resumedInAltScreen = resumedInAltScreen,
_interactive = interactive,
_pendingResumeCwd = resumedInAltScreen;