exhibit 0.2.0

A small Rust library for controlling the display of any Displayable type
Documentation
use std::fmt;

use cfg_if::cfg_if;

cfg_if! {
    if #[cfg(feature = "cursor-crossterm")] {
        use crossterm::Command;

        #[inline]
        pub(super) fn move_down(f: &mut fmt::Formatter, y: u16) -> fmt::Result {
            crossterm::cursor::MoveDown(y).write_ansi(f)
        }

        #[inline]
        pub(super) fn move_right(f: &mut fmt::Formatter, x: u16) -> fmt::Result {
            write!(f, "\r")?;
            crossterm::cursor::MoveRight(x).write_ansi(f)
        }
    } else if #[cfg(feature = "cursor-termion")] {
        #[inline]
        pub(super) fn move_down(f: &mut fmt::Formatter, y: u16) -> fmt::Result {
            write!(f, "{}", termion::cursor::Down(y))
        }

        #[inline]
        pub(super) fn move_right(f: &mut fmt::Formatter, x: u16) -> fmt::Result {
            write!(f, "\r")?;
            write!(f, "{}", termion::cursor::Right(x))
        }
    } else {
        #[inline]
        pub(super) fn move_down(f: &mut fmt::Formatter, y: u16) -> fmt::Result {
            (0..y).try_for_each(|_| writeln!(f))
        }

        #[inline]
        pub(super) fn move_right(f: &mut fmt::Formatter, x: u16) -> fmt::Result {
            (0..x).try_for_each(|_| write!(f, " "))
        }
    }
}