List<int> range(List<String>? texts) { if (texts?.isEmpty ?? true) return []; var ranges = [0]; texts!.forEach((element) { ranges.add(ranges.last + element.length); }); return ranges; }