1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// Copyright 2018-2020 Sebastian Wiesner <sebastian@swsnr.de> // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. //! Standard ANSI styling. use ansi_term::Style; use std::io::{Result, Write}; /// Access to a terminal’s basic ANSI styling functionality. #[derive(PartialEq, Debug, Clone, Copy)] pub struct AnsiStyle; impl AnsiStyle { /// Write styled text to the given writer. pub fn write_styled<W: Write, V: AsRef<str>>( self, write: &mut W, style: &Style, text: V, ) -> Result<()> { write!(write, "{}", style.paint(text.as_ref())) } }