getCondaEnvironments top-level property

FigGenerator getCondaEnvironments
final

获取所有 conda 包的生成器(注释版 - 需要实现 script 函数时使用) 获取 conda 环境的生成器

Implementation

// final FigGenerator getAllCondaPackages = FigGenerator(
//   script: (context) {
//     // Dart 不支持直接传递函数到 script 属性
//     // 需要扩展 FigGenerator 类或使用自定义逻辑
//     if (context.last == '') return '';
//     final searchTerm = context.last;
//     return "conda search '*$searchTerm*'";
//   },
//   postProcess: (String out, [List<String>? tokens]) {
//     final lines = out.split('\n');
//     final allPackages = <FigSuggestion>[];
//     if (lines.isNotEmpty) {
//       allPackages.add(FigSuggestion(name: lines[0]));
//     }
//     return allPackages;
//   },
// );

/// 获取 conda 环境的生成器
final FigGenerator getCondaEnvironments = FigGenerator(
  script: ['conda', 'env', 'list'],
  scriptTimeout: 10000,
  cache: FigCache(
    ttl: 10000,
    strategy: 'stale-while-revalidate',
  ),
  postProcess: (String out, [List<String>? tokens]) {
    final lines = out.split('\n');
    final installedPackages = <FigSuggestion>[];

    for (int i = 2; i < lines.length; i++) {
      final envName = lines[i].split(' ')[0];
      installedPackages.add(FigSuggestion(
        name: envName,
        icon: '🐍',
      ));
    }
    return installedPackages;
  },
);