ShellOptions constructor

ShellOptions({
  1. bool throwOnError = true,
  2. String? workingDirectory,
  3. Map<String, String>? environment,
  4. bool includeParentEnvironment = true,
  5. bool? runInShell,
  6. Encoding? stdoutEncoding,
  7. Encoding? stderrEncoding,
  8. Stream<List<int>>? stdin,
  9. StreamSink<List<int>>? stdout,
  10. StreamSink<List<int>>? stderr,
  11. bool verbose = true,
  12. bool? commandVerbose,
  13. bool? commentVerbose,
})

throwOnError means that if an exit code is not 0, it will throw an error

Unless specified runInShell will be false. However on windows, it will default to true for non .exe files

if verbose is not false or commentVerbose is true, it will display the comments as well

Implementation

ShellOptions(
    {bool throwOnError = true,
    String? workingDirectory,
    Map<String, String>? environment,
    bool includeParentEnvironment = true,
    bool? runInShell,
    Encoding? stdoutEncoding,
    Encoding? stderrEncoding,
    Stream<List<int>>? stdin,
    StreamSink<List<int>>? stdout,
    StreamSink<List<int>>? stderr,
    bool verbose = true,
    // Default to true
    bool? commandVerbose,
    // Default to false
    bool? commentVerbose})
    : _throwOnError = throwOnError,
      _workingDirectory = workingDirectory,
      _runInShell = runInShell,
      _stdoutEncoding = stdoutEncoding,
      _stderrEncoding = stderrEncoding,
      _stdin = stdin,
      _stdout = stdout,
      _stderr = stderr,
      _verbose = verbose,
      _commandVerbose = commandVerbose ?? verbose,
      _commentVerbose = commentVerbose ?? false {
  _environment = ShellEnvironment.full(
      environment: environment,
      includeParentEnvironment: includeParentEnvironment);
}