execute method
Executes the command with the provided arguments.
Returns an integer exit code (0 for success).
Implementation
@override
Future<int> execute(List<String> arguments) async {
if (arguments.isEmpty) {
throw const ValidationException(
'Error: Template name is required.\n\nUsage:\n flutter_setup info <template_name>',
);
}
final templateName = arguments.first.trim();
final template = _repository.getTemplate(templateName);
final config = template.config;
_output.info('Template: ${config.name}\n');
_output.info('Description:\n${config.description}\n');
_output.info('Dependencies:');
if (config.dependencies.isNotEmpty) {
for (final dep in config.dependencies) {
_output.info(' • ${dep.toString()}');
}
} else {
_output.info(' (none)');
}
_output.info('');
_output.info('Dev Dependencies:');
if (config.devDependencies.isNotEmpty) {
for (final devDep in config.devDependencies) {
_output.info(' • ${devDep.toString()}');
}
} else {
_output.info(' (none)');
}
_output.info('');
_output.info('Folders:');
if (config.folders.isNotEmpty) {
for (final folder in config.folders) {
_output.info(' • ${folder.path}');
}
} else {
_output.info(' (none)');
}
return 0;
}