resolvePrompt method

String resolvePrompt(
  1. Map<String, dynamic> args
)

Resolve the prompt with given arguments.

Implementation

String resolvePrompt(Map<String, dynamic> args) {
  var resolved = prompt;

  // Replace {{param}} placeholders.
  for (final param in parameters) {
    final value = args[param.name] ?? param.defaultValue ?? '';
    resolved = resolved.replaceAll('{{${param.name}}}', '$value');
    resolved = resolved.replaceAll('{${param.name}}', '$value');
  }

  // Replace $ARGUMENTS with the raw args string.
  final rawArgs = args.entries.map((e) => '${e.key}=${e.value}').join(' ');
  resolved = resolved.replaceAll(r'$ARGUMENTS', rawArgs);

  return resolved;
}