ShellDialect class abstract

Generates the shell-specific text the interactive connect/resume loop sends to a remote shell: a one-time init line, the per-command wrapper, and the prompt-completion markers.

The parsing of marker output is shell-agnostic and stays in CwdMarker; only the emitted command syntax differs per ShellFamily. Each marker emits the same line format the parser expects — the token immediately followed by cwd, then tab-separated branch, status and priv fields:

<token><cwd>\t<branch>\t<status>\t<priv>\n

A ping marker emits just <token>\n (no fields) to signal completion without re-querying git state.

Implementers

Constructors

ShellDialect()
const

Properties

hashCode int
The hash code for this object.
no setterinherited
initLine String?
A single command sent once when the session opens (e.g. installing a Ctrl-C trap or suppressing the shell's prompt), or null if none.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

fullMarker(CwdMarker marker) String
The full marker command: reports cwd plus git branch/status and privilege.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pingMarker(CwdMarker marker) String
The lightweight ping marker: signals completion only (no git queries).
toString() String
A string representation of this object.
inherited
wrapCommand(String line, {required bool interactive, required String tail}) String
Wraps a user-typed line so it runs and is followed by tail (a marker) as one logical unit. interactive enables terminal-echo handling where the dialect needs it (POSIX only; pipe-based Windows shells don't echo stdin).

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

forFamily(ShellFamily family) ShellDialect
Returns the dialect for family.