use super::*; use std::{ fmt::Display, }; #[cfg(feature="colour")] #[macro_export] macro_rules! colour { ($things:path) => { { #[allow(unused_imports)] use recolored::{ Color, }; $things } } } #[cfg(not(feature="colour"))] #[macro_export] macro_rules! colour { ($things:path) => { () } } #[cfg(not(feature="colour"))] /// Dummy enum pub enum Color { Black, Red, Green, Yellow, Blue, Magenta, Cyan, White, BrightBlack, BrightRed, BrightGreen, BrightYellow, BrightBlue, BrightMagenta, BrightCyan, BrightWhite, Palette(u8), True(u8, u8, u8), } #[cfg(feature="colour")] pub type Colour = recolored::Color; #[cfg(not(feature="colour"))] pub type Colour = (); #[inline] pub fn style(_col: Colour, from: impl Display) -> impl Display { cfg_if! { if #[cfg(feature="colour")] { use recolored::Colorize; let string = format!("{}", from); string.color(_col) } else { from } } }