generateBuildContextExtension method
Generate BuildContext extension file
Implementation
Future<void> generateBuildContextExtension(
String outputDir,
String className,
) async {
final buffer = StringBuffer();
// Add generation comment
buffer.writeln('// GENERATED CODE - DO NOT MODIFY BY HAND');
buffer.writeln('// Generated by Excel Translator');
buffer.writeln('// ${DateTime.now()}');
buffer.writeln();
buffer.writeln(
'// Uncomment the lines below to enable BuildContext extension');
buffer.writeln(
'// This provides easy access like: context.loc.localizations.hello');
buffer.writeln('//');
buffer.writeln("// import 'package:flutter/material.dart';");
buffer.writeln("// import 'generated_localizations.dart';");
buffer.writeln('//');
buffer.writeln('// extension LocalizationsExtension on BuildContext {');
buffer.writeln('// $className get loc => $className.of(this);');
buffer.writeln('// }');
final file = File(path.join(outputDir, 'build_context_extension.dart'));
await file.writeAsString(buffer.toString());
}