updateProjectImport method

Future<void> updateProjectImport(
  1. String name
)

Implementation

Future<void> updateProjectImport(String name) async {
  try {
    String importPath = './lib/routes/project/index.dart';
    String newImport = "import 'package:mobile/pages/$selectModule/${_snakeCase(name)}/index.dart';\n";

    File importFile = File(importPath);
    String content = await importFile.readAsString();

    int lastImportIndex = content.lastIndexOf('import');
    int endOfLastImport = content.indexOf(';', lastImportIndex) + 1;
    int partKeywordIndex = content.indexOf("part '");

    if (lastImportIndex != -1 && partKeywordIndex != -1) {
      String newContent =
          '${content.substring(0, endOfLastImport)}\n$newImport${content.substring(endOfLastImport, partKeywordIndex).trim()}\n${content.substring(partKeywordIndex)}';

      await importFile.writeAsString(newContent);
    }
  } catch (error) {
    print('更新项目导入失败: $error');
  }
}