ShellLinesController class

Basic bi-directionnal shell lines controller.

Use either sink for stdout/stderr or binaryStream for stdin

Usage:

var controller = ShellLinesController();
var shell = Shell(stdout: controller.sink, verbose: false);
controller.stream.listen((event) {
  // Handle output

  // ...

  // If needed kill the shell
  shell.kill();
});
try {
  await shell.run('dart echo.dart some_text');
} on ShellException catch (_) {
  // We might get a shell exception
}

Constructors

ShellLinesController({Encoding? encoding})
Create a shell lines controller.

Properties

binaryStream → Stream<List<int>>
The binary stream to listen to, that can be passed to stdin
no setter
done → Future<void>
Future when done
no setter
encoding ↔ Encoding
Encoding to use
latefinal
hashCode → int
The hash code for this object.
no setterinherited
isClosed → bool
True if the controller is closed.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sink → StreamSink<List<int>>
The sink for the Shell stderr/stdout
no setter
stream → Stream<String>
The stream to listen to
no setter

Methods

close() → void
Dispose the controller.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
write(String message) → void
Write a string with the specified encoding.
writeln(String message) → void
Write a line.

Operators

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