configFromArgParse function

Config configFromArgParse(
  1. ArgParser argParse,
  2. List<String> arguments, {
  3. Map<String, String>? environment,
  4. Uri? workingDirectory,
})

Implementation

Config configFromArgParse(
  ArgParser argParse,
  List<String> arguments, {
  Map<String, String>? environment,
  Uri? workingDirectory,
}) {
  final results = argParse.parse(arguments);

  // Load config file.
  String? fileContents;
  Uri? fileSourceUri;

  fileContents = results['config_txt'] as String?;

  final configFile = results['config'] as String?;
  if (configFile != null) {
    var configPath = configFile;
    if (configPath.startsWith(r'~')) configPath = expandTilde(configPath);

    fileContents = File(configPath).readAsStringSync();
    fileSourceUri = Uri.file(configPath);
  }

  return Config.fromConfigFileContents(
    commandLineDefines: results['define'] as List<String>,
    workingDirectory: workingDirectory ?? Directory.current.uri,
    environment: environment ?? Platform.environment,
    fileContents: fileContents,
    fileSourceUri: fileSourceUri,
  );
}