runWithConfig method

  1. @override
Future<void> runWithConfig(
  1. Configuration<CliUserSettingsOption> commandConfig
)
override

Runs this command with prepared configuration (options). Subclasses should override this method.

Implementation

@override
Future<void> runWithConfig(
  final Configuration<CliUserSettingsOption> commandConfig,
) async {
  var settingSpecified = false;

  if (commandConfig.optionalValue(CliUserSettingsOption.analytics)
      case final bool analytics) {
    final settings = runner.serviceProvider.scloudSettings;
    await settings.setEnableAnalytics(analytics);
    settingSpecified = true;
    logger.info('Analytics set to "$analytics".');
  }

  if (!settingSpecified) {
    // show current settings
    final settings = runner.serviceProvider.scloudSettings;
    final analytics = await settings.enableAnalytics;
    logger.list(
      title: 'Local settings',
      ['Analytics = ${analytics ?? 'not set'}'],
    );
  }
}