in core/src/com/jediterm/core/typeahead/TypeAheadTerminalModel.java [89:115]
private void moveToWordBoundaryZsh(boolean isDirectionRight) {
String text = myLineText.toString();
// https://github.com/zsh-users/zsh/blob/00d20ed15e18f5af682f0daec140d6b8383c479a/Src/zsh_system.h#L452
String defaultWordChars = "*?_-.[]~=/&;!#$%^(){}<>";
if (isDirectionRight) {
while (myCursorX < text.length()
&& (Character.isLetterOrDigit(text.charAt(myCursorX)) || defaultWordChars.indexOf(text.charAt(myCursorX)) != -1)) {
myCursorX++;
}
while (myCursorX < text.length()
&& !(Character.isLetterOrDigit(text.charAt(myCursorX)) || defaultWordChars.indexOf(text.charAt(myCursorX)) != -1)) {
myCursorX++;
}
} else {
myCursorX--;
while (myCursorX >= 0
&& !(Character.isLetterOrDigit(text.charAt(myCursorX)) || defaultWordChars.indexOf(text.charAt(myCursorX)) != -1)) {
myCursorX--;
}
while (myCursorX >= 0
&& (Character.isLetterOrDigit(text.charAt(myCursorX)) || defaultWordChars.indexOf(text.charAt(myCursorX)) != -1)) {
myCursorX--;
}
myCursorX++;
}
}