run method

  1. @override
String? run(
  1. ParsedInputs inputs,
  2. List<String> args
)
override

Implementation

@override
String? run(ParsedInputs inputs, List<String> args) {
  final shell = inputs.valueOf(shellInput);
  final path = inputs.valueOf(pathInput) ?? '';
  final extension = _extensionFor(shell);
  if (path.isNotEmpty && !_isValidPath(path, extension))
    throw MambaException(
      'When shell is ${shell.name} the path must end in $extension and must have ${registryRecord.name} in the file name',
    );
  if (_usesDefaultGenerator) {
    File(path).writeAsStringSync(_completionFor(shell));
  } else {
    createFile(path);
  }
  return 'Created completion ${shell.name} in $path';
}