loadAllPlugins function

Future<List<LoadedPlugin>> loadAllPlugins({
  1. String? projectRoot,
})

Load all plugins from standard locations.

Implementation

Future<List<LoadedPlugin>> loadAllPlugins({String? projectRoot}) async {
  final plugins = <LoadedPlugin>[];
  final homeDir =
      Platform.environment['HOME'] ??
      Platform.environment['USERPROFILE'] ??
      '/tmp';

  // 1. User plugins: ~/.neomage/plugins/
  plugins.addAll(await loadPluginsFromDir('$homeDir/.neomage/plugins'));

  // 2. Project plugins: .neomage/plugins/
  if (projectRoot != null) {
    plugins.addAll(await loadPluginsFromDir('$projectRoot/.neomage/plugins'));
  }

  return plugins;
}