public void deleteCharacters()

in core/src/com/jediterm/terminal/model/TerminalLine.java [187:224]


  public void deleteCharacters(int x, int count, @NotNull TextStyle style) {
    int p = 0;
    TextEntries newEntries = new TextEntries();

    int remaining = count;

    for (TextEntry entry : myTextEntries) {
      if (remaining == 0) {
        newEntries.add(entry);
        continue;
      }
      int len = entry.getLength();
      if (p + len <= x) {
        p += len;
        newEntries.add(entry);
        continue;
      }
      int dx = x - p; //>=0
      if (dx > 0) {
        //part of entry before x
        newEntries.add(new TextEntry(entry.getStyle(), entry.getText().subBuffer(0, dx)));
        p = x;
      }
      if (dx + remaining < len) {
        //part that left after deleting count 
        newEntries.add(new TextEntry(entry.getStyle(), entry.getText().subBuffer(dx + remaining, len - (dx + remaining))));
        remaining = 0;
      } else {
        remaining -= (len - dx);
        p = x;
      }
    }
    if (count > 0 && style != TextStyle.EMPTY) { // apply style to the end of the line
      newEntries.add(new TextEntry(style, new CharBuffer(CharUtils.NUL_CHAR, count)));
    }

    myTextEntries = newEntries;
  }