readFromFileSystem static method
Implementation
static SlangFileCollection readFromFileSystem({
required bool verbose,
}) {
// config file must be in top-level directory
final topLevelFiles =
Directory.current.listSync(recursive: false).whereType<File>().toList();
final config = readConfigFromFileSystem(
files: topLevelFiles,
verbose: verbose,
);
final List<File> files;
if (config.inputDirectory != null) {
files = Directory(config.inputDirectory!)
.listSync(recursive: true)
.whereType<File>()
.toList();
} else {
files = _getFilesBreadthFirst(
rootDirectory: Directory.current,
ignoreTopLevelDirectories: {
'build',
'ios',
'android',
'web',
'macos',
'linux',
'windows',
'test',
},
ignoreDirectories: {
'.fvm',
'.flutter.git',
'.dart_tool',
'.symlinks',
'cargokit_build',
},
);
}
String currentDirectory = Directory.current.path.replaceAll('\\', '/');
if (!currentDirectory.endsWith('/')) {
currentDirectory += '/';
}
return fromFileModel(
config: config,
files:
files.where((f) => f.path.endsWith(config.inputFilePattern)).map((f) {
return PlainTranslationFile(
path: f.path.replaceAll('\\', '/').replaceAll(currentDirectory, ''),
read: () async => f.readAsStringSync(),
);
}),
);
}