add method

String add(
  1. String url, {
  2. String? text,
  3. bool styled = false,
})

Adds a link to the group and returns a reference string.

Implementation

String add(String url, {String? text, bool styled = false}) {
  final id = '$prefix-${_counter++}';
  final displayText = text ?? url;
  final refNumber = _links.length + 1;

  _links.add(_LinkEntry(url: url, text: displayText, id: id));

  if (renderConfig.colorProfile == ColorProfile.ascii) {
    return '$displayText[$refNumber]';
  }

  final params = 'id=$id';
  final linkText = '\x1B]8;$params;$url\x07$displayText\x1B]8;;\x07';

  if (styled) {
    return '\x1B[4;34m$linkText\x1B[0m';
  }

  return linkText;
}