addFile method

Future<bool> addFile(
  1. String path, {
  2. int? maxLines,
})

Add a file to context.

Implementation

Future<bool> addFile(String path, {int? maxLines}) async {
  final file = File(path);
  if (!await file.exists()) return false;

  final content = await file.readAsString();
  final lines = content.split('\n');
  final truncated = maxLines != null && lines.length > maxLines
      ? '${lines.take(maxLines).join('\n')}\n[... ${lines.length - maxLines} more lines]'
      : content;

  return add(
    FileContext(
      path: path,
      fileContent: truncated,
      language: _detectLanguage(path),
    ),
  );
}