ask method

int ask()

Implementation

int ask() {
  if (options.isEmpty) return selectedOption;
  console.rawMode = true;
  console.hideCursor();
  // coordinate = console.cursorPosition;

  while (true) {
    // console.cursorPosition = coordinate;
    _drawMenu();
    firstTime = false;

    final Key key = console.readKey();

    if (key.controlChar == ControlCharacter.enter) {
      break;
    }

    if (key.char == " ") {
      selectedOption = currentOption;
    }

    if (key.controlChar == ControlCharacter.arrowUp && currentOption > 0) {
      currentOption--;
    }
    if (key.controlChar == ControlCharacter.arrowDown && currentOption < options.length - 1) {
      currentOption++;
    }
  }

  console.rawMode = false;
  console.showCursor();
  console.resetColorAttributes();
  return selectedOption;
}