mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 07:04:04 +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::Colour::{Fixed, RGB}; | ||||||
| use ansi_term::Style; | use ansi_term::Style; | ||||||
| use syntect::highlighting; | use syntect::highlighting::{self, FontStyle}; | ||||||
|  |  | ||||||
| /// Approximate a 24 bit color value by a 8 bit ANSI code | /// Approximate a 24 bit color value by a 8 bit ANSI code | ||||||
| fn rgb2ansi(r: u8, g: u8, b: u8) -> u8 { | 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() { |     for &(ref style, text) in v.iter() { | ||||||
|         let style = if !colored { |         let style = if !colored { | ||||||
|             Style::default() |             Style::default() | ||||||
|         } else if true_color { |         } else { | ||||||
|             RGB(style.foreground.r, style.foreground.g, style.foreground.b).normal() |             let color = if true_color { | ||||||
|  |                 RGB(style.foreground.r, style.foreground.g, style.foreground.b) | ||||||
|             } else { |             } else { | ||||||
|                 let ansi = rgb2ansi(style.foreground.r, style.foreground.g, style.foreground.b); |                 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(); |         write!(s, "{}", style.paint(text)).unwrap(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user