mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-30 22:54:07 +00:00 
			
		
		
		
	Add bold, italic and underline font styles
This commit is contained in:
		| @@ -2,7 +2,7 @@ use std::fmt::Write; | ||||
|  | ||||
| use ansi_term::Colour::{Fixed, RGB}; | ||||
| use ansi_term::Style; | ||||
| use syntect::highlighting; | ||||
| use syntect::highlighting::{self, FontStyle}; | ||||
|  | ||||
| /// Approximate a 24 bit color value by a 8 bit ANSI code | ||||
| fn rgb2ansi(r: u8, g: u8, b: u8) -> u8 { | ||||
| @@ -35,11 +35,23 @@ pub fn as_terminal_escaped( | ||||
|     for &(ref style, text) in v.iter() { | ||||
|         let style = if !colored { | ||||
|             Style::default() | ||||
|         } else if true_color { | ||||
|             RGB(style.foreground.r, style.foreground.g, style.foreground.b).normal() | ||||
|         } else { | ||||
|             let color = if true_color { | ||||
|                 RGB(style.foreground.r, style.foreground.g, style.foreground.b) | ||||
|             } else { | ||||
|                 let ansi = rgb2ansi(style.foreground.r, style.foreground.g, style.foreground.b); | ||||
|             Fixed(ansi).normal() | ||||
|                 Fixed(ansi) | ||||
|             }; | ||||
|  | ||||
|             if style.font_style.contains(FontStyle::BOLD) { | ||||
|                 color.bold() | ||||
|             } else if style.font_style.contains(FontStyle::UNDERLINE) { | ||||
|                 color.underline() | ||||
|             } else if style.font_style.contains(FontStyle::ITALIC) { | ||||
|                 color.italic() | ||||
|             } else { | ||||
|                 color.normal() | ||||
|             } | ||||
|         }; | ||||
|  | ||||
|         write!(s, "{}", style.paint(text)).unwrap(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user