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
nullif 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
lineso it runs and is followed bytail(a marker) as one logical unit.interactiveenables 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.