analyze static method

Analyzes a project for diagnostics (errors, warnings, info).

Automatically handles resource cleanup. Returns a ProjectAnalysisResult containing all diagnostics organized by file.

path is the project directory to analyze.

Example:

final result = await Anteater.analyze('lib');
print('Files: ${result.fileCount}');
print('Errors: ${result.errorCount}');
print('Warnings: ${result.warningCount}');

for (final entry in result.diagnostics.entries) {
  print('${entry.key}: ${entry.value.length} issues');
}

Implementation

static Future<ProjectAnalysisResult> analyze(String path) async {
  final server = AnteaterLanguageServer(path);
  await server.initialize();
  try {
    return await server.analyzeProject();
  } finally {
    await server.shutdown();
  }
}