code: public void redrawFooter() {
          saveCursorPosition();
          Ansi style = ansi();
          if (getTheme().getFooterBackground() != null) {
              style.bg(getTheme().getFooterBackground());
          }
          if (getTheme().getFooterForeground() != null) {
              style.fg(getTheme().getFooterForeground());
          }
          getConsole().out().print(style);
          getConsole().out().print(ansi().cursor(getTerminal().getHeight() + 1 - getFooterSize(), 1).eraseLine(Ansi.Erase.FORWARD));
          for (int i = 1; i <= helpLines.size(); i++) {
              String helpLine = helpLines.get(i - 1);
              int startColumn = (getTerminal().getWidth() - helpLine.length()) / 2;
              getConsole().out().print(ansi().cursor(getTerminal().getHeight() + 1 - getFooterSize() + i, 1).eraseLine(Ansi.Erase.FORWARD));
              getConsole().out().print(ansi().cursor(getTerminal().getHeight() + 1 - getFooterSize() + i, startColumn));
              getConsole().out().print(helpLine);
          }
          getConsole().out().print(ansi().reset());
          restoreCursorPosition();
      }
docs: Refreshes the footer that displays the current line and column.