CommandRunner<T> constructor

CommandRunner<T>(
  1. String executableName,
  2. String description, {
  3. String namespaceSeparator = ':',
  4. int usageExitCode = 64,
  5. bool? ansi,
  6. Renderer? renderer,
  7. Write? out,
  8. Write? err,
  9. WriteRaw? outRaw,
  10. WriteRaw? errRaw,
  11. ReadLine? readLine,
  12. ExitCodeSetter? setExitCode,
  13. int? usageLineLength,
})

Creates a new command runner.

  • executableName: The name of the executable (shown in usage).
  • description: A description of the application.
  • namespaceSeparator: Character used to group commands (default: :).
  • usageExitCode: Exit code for usage errors (default: 64).
  • ansi: Force ANSI output on/off (auto-detected by default).

Implementation

CommandRunner(
  super.executableName,
  super.description, {
  this.namespaceSeparator = ':',
  this.usageExitCode = 64,
  bool? ansi,
  Renderer? renderer,
  Write? out,
  Write? err,
  WriteRaw? outRaw,
  WriteRaw? errRaw,
  ReadLine? readLine,
  ExitCodeSetter? setExitCode,
  int? usageLineLength,
}) : _out = out ?? ((line) => dartio.stdout.writeln(line)),
     _err = err ?? ((line) => dartio.stderr.writeln(line)),
     _outRaw = outRaw ?? ((text) => dartio.stdout.write(text)),
     _errRaw = errRaw ?? ((text) => dartio.stderr.write(text)),
     _readLine = readLine,
     _setExitCode = setExitCode ?? ((code) => dartio.exitCode = code),
     _ansiOverride = ansi,
     _renderer =
         renderer ??
         TerminalRenderer(
           forceProfile: ansi == true
               ? null
               : (ansi == false ? ColorProfile.ascii : null),
           forceNoAnsi: ansi == false,
         ),
     _rendererInjected = renderer != null,
     super(usageLineLength: usageLineLength) {
  _setupGlobalFlags();
}