public boolean validateAutoCompletion(int index) {
    if (completions == null || index < 0 || index >= completions.size()) {
      return false;
    }
    String command = completions.get(index);
    String text = getText();
    StringBuilder sb = new StringBuilder();
    sb.append(text.substring(0, curWordStart));
    sb.append(command);
    sb.append(text.substring(curWordStart + curWord.length()));
    setText(sb.toString());
    int bracketIndex = command.indexOf('['); // + 1;

    setCaretPosition(curWordStart + bracketIndex);
    moveToNextArgument(false);
    return true;
  }