load static method
Future<DefaultResourceLoader>
load([
- DefaultResourceLoaderLanguage lang = DefaultResourceLoaderLanguage.enUs
Implementation
static Future<DefaultResourceLoader> load([
DefaultResourceLoaderLanguage lang = DefaultResourceLoaderLanguage.enUs,
]) async {
return await rootBundle.loadStructuredData(
'packages/hyphenator_impure/hyphenate_patterns/${lang._fileName}',
(value) async {
final lines = value
.split('\n')
.where(
(e) => e.isNotEmpty && !e.startsWith('%'),
)
.map(
(e) => e.trim(),
);
final pat = <String>[];
final exc = <String>[];
bool isNextPattern = false;
bool isNextException = false;
for (final line in lines) {
if (line.startsWith('}')) {
isNextPattern = false;
isNextException = false;
} else if (!isNextPattern && line.startsWith('\\patterns')) {
isNextPattern = true;
} else if (!isNextException && line.startsWith('\\hyphenation')) {
isNextException = true;
} else if (isNextPattern && !isNextException) {
pat.add(line);
} else if (isNextException) {
exc.add(line);
}
}
return DefaultResourceLoader._(
pat,
exc,
);
},
);
}