ansiText2TextSpan function

TextSpan ansiText2TextSpan(
  1. String text, {
  2. required Style defaulStyle,
  3. double? fontSize,
})

Implementation

TextSpan ansiText2TextSpan(
  String text, {
  required ansi.Style defaulStyle,
  double? fontSize,
}) {
  final parser = ansi.Parser(text);
  final spans = <TextSpan>[];

  for (final m in parser.matches) {
    final entity = m.entity;
    if (entity is ansi.Text) {
      final style = m.state.toStyle();
      spans.add(_buildTextSpan(entity.string, style));
    }
  }

  return TextSpan(
    style: ansiStyle2TextStyle(defaulStyle, fontSize: fontSize),
    children: spans,
  );
}