private void moveToWordBoundaryZsh()

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