public static Point getPreviousSeparator()

in core/src/com/jediterm/terminal/model/SelectionUtil.java [104:134]


  public static Point getPreviousSeparator(Point charCoords, TerminalTextBuffer terminalTextBuffer, @NotNull List<Character> separators) {
    int x = charCoords.x;
    int y = charCoords.y;
    int terminalWidth = terminalTextBuffer.getWidth();

    if (separators.contains(terminalTextBuffer.getBuffersCharAt(x, y))) {
      return new Point(x, y);
    }

    String line = terminalTextBuffer.getLine(y).getText();
    while (x < line.length() && !separators.contains(line.charAt(x))) {
      x--;
      if (x < 0) {
        if (y <= - terminalTextBuffer.getHistoryLinesCount()) {
          return new Point(0, y);
        }
        y--;
        x = terminalWidth - 1;

        line = terminalTextBuffer.getLine(y).getText();
      }
    }

    x++;
    if (x >= terminalWidth) {
      y++;
      x = 0;
    }

    return new Point(x, y);
  }