private String arrow() {
    final @NotNull Token[] ts = this.tokens();
    final char[] chars = new char[ts[ts.length - 1].endIndex()];

    int i = 0;
    for (final Token t : ts) {
      Arrays.fill(chars, i, t.startIndex(), ' ');
      chars[t.startIndex()] = '^';
      if (Math.abs(t.startIndex() - t.endIndex()) > 1) {
        Arrays.fill(chars, t.startIndex() + 1, t.endIndex() - 1, '~');
      }
      chars[t.endIndex() - 1] = '^';
      i = t.endIndex();
    }
    return new String(chars);
  }
Sets the tokens associated with this parsing error.

@param tokens the tokens for this error
@since 4.10.0
text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/internal/parser/ParsingExceptionImpl.java