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);
}