toYaml method
Convert to YAML string
Implementation
String toYaml() {
final buffer = StringBuffer();
buffer.writeln('# Claudio Gen Configuration');
buffer.writeln('# Generated: ${DateTime.now().toIso8601String()}');
buffer.writeln();
buffer.writeln('# Project type: auto, dart, python, javascript, typescript, go, rust, java, kotlin, swift, cpp, csharp, ruby, php, web, generic');
buffer.writeln('project_type: $projectTypeName');
buffer.writeln();
buffer.writeln('source_dir: $sourceDir');
buffer.writeln('output_prefix: $outputPrefix');
buffer.writeln('target_size_kb: $targetSizeKB');
buffer.writeln('remove_comments: $removeComments');
buffer.writeln('output_format: $outputFormatName');
buffer.writeln('verbose: $verbose');
if (extensions.isNotEmpty) {
buffer.writeln();
buffer.writeln('# Custom file extensions (overrides language defaults)');
buffer.writeln('extensions:');
for (final ext in extensions) {
buffer.writeln(' - "$ext"');
}
}
if (ignorePatterns.isNotEmpty) {
buffer.writeln();
buffer.writeln('# Additional ignore patterns (merged with language defaults)');
buffer.writeln('ignore_patterns:');
for (final pattern in ignorePatterns) {
buffer.writeln(' - "$pattern"');
}
}
if (ignoreFiles.isNotEmpty) {
buffer.writeln();
buffer.writeln('ignore_files:');
for (final file in ignoreFiles) {
buffer.writeln(' - "$file"');
}
}
if (extraRootFiles.isNotEmpty) {
buffer.writeln();
buffer.writeln('extra_root_files:');
for (final file in extraRootFiles) {
buffer.writeln(' - "$file"');
}
}
return buffer.toString();
}