Add some more control over Console output, and improve default behavior.

Review Request #11418 — Created Jan. 28, 2021 and submitted — Latest diff uploaded

Information

Review Board
release-4.0.x

Reviewers

This introduces some new changes that ease working with Console and
getting the behavior that the caller wants.

  • Newlines around some text blocks can now be turned off
    (console.note(), console.warning(), console.error()).

  • Results from prompt_input() are now stripped by default. This can be
    controlled by passing strip=False.

  • console.print() now processes text as paragraphs by default when
    wrapping, and adds leading indentation to each line when not. This
    also removes as_paragraphs=.

  • console.progress_step() now shows an ERROR: <message> if an
    exception is raised.

  • Wrap widths for the terminal no longer add padding to the right.

  • uninit_console() was added, which will unset the Console instance.

This somewhat breaks presentation with ConsoleUI, but that class will
soon be removed.

Ran through rb-site install --advanced and rb-site upgrade.

Tested with some upcoming changes that better utilized the features,
making sure that the presentation matched expectations.

Commits

Files