initialize method

Future<void> initialize({
  1. required String root,
})

Implementation

Future<void> initialize({required String root}) async {
  final path = switch (fs.path.isAbsolute(root)) {
    true => root,
    false => fs.file(root).absolute.path,
  };

  final analysisOptions = await find.file(
    AnalysisOptions.name,
    workingDirectory: fs.currentDirectory.path,
  );

  for (final option in analysisOptions) {
    final file = fs.file(option);
    if (!file.existsSync()) {
      continue;
    }

    final options = AnalysisOptions(path: option)..makeTemporary();

    _analysisOptions.add(options);
  }

  try {
    _analysisCollection = AnalysisContextCollection(
      includedPaths: [path],
      resourceProvider: _provider,
      sdkPath: sdkPath,
    );
  } catch (e) {
    log('Error initializing analyzer: $e');

    rethrow;
  }
}