1 2 3 4 5 6 7 8 9 10 11 12 13
use crate::*;
/// query the $COLORFGBG env variable and parse
/// the result to extract the background in ANSI.
pub fn bg_color() -> Result<AnsiColor, TlError> {
let s = std::env::var("COLORFGBG")?;
// the value is supposed to be like 17;45 where
// 17 is the ansi fg and 45 is the ansi bg
let bg = s.split(';').skip(1).next()
.ok_or_else(|| TlError::WrongFormat(s.to_string()))?;
let code = bg.parse()?;
Ok(AnsiColor { code })
}