pub struct FontStyle { /* private fields */ }Expand description
style of font
Examples:
- set more than one shape at the same time
let mut style = FontStyle::default();
style.set_shape(FontShape::Bold | FontShape::Italic);- set the fg/bg color by name
let mut style = FontStyle::default();
style.set_fg_color(Color::Red);
style.set_bg_color(Color::Blue);- set the fg/bg color by 256-color
let mut style = FontStyle::default();
style.set_fg_color_256((255, 0, 0));
style.set_bg_color_256((0, 0, 255));Note: if you set the fg/bg color by name, the 256-color will be ignored
Implementations§
Source§impl FontStyle
impl FontStyle
Sourcepub fn set_shape(&mut self, shape: FontShape) -> &mut Self
pub fn set_shape(&mut self, shape: FontShape) -> &mut Self
Examples found in repository?
examples/complex.rs (line 28)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
fn main() {
let mut menu = Menu::new().unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// build item list
let mut item_list = Vec::new();
for i in 1..=100 {
item_list.push(Item::new(format!("{}th item", i).as_str(), i));
}
// build colorscheme, you can skip this step to use the default colorscheme
// NOTE: sometimes your terminal might not support all the colors, so you may need to adjust
// the colorscheme
let mut colorscheme = termenu::ColorScheme::default();
colorscheme
.set_title_style(
FontStyle::default()
.set_shape(FontShape::Bold | FontShape::Underline)
.set_fg_color(colored::Color::Green)
.build(),
)
.set_query_style(FontStyle::default().set_shape(FontShape::Italic).build())
.set_chosen_ln_style(
FontStyle::default()
.set_shape(FontShape::Underline)
.set_fg_color(colored::Color::Black)
.set_bg_color_256((215, 255, 0))
.build(),
)
.set_more_tag_style(
FontStyle::default()
.set_fg_color(colored::Color::Magenta)
.build(),
);
// run
let selection = menu
.set_title("test selection:")
.show_end_tag(true)
.set_max_height(0.3)
.set_colorscheme(colorscheme)
.add_list(item_list)
.select() // this is the menu entry
.unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// handle selection
if let Some(selection) = selection {
println!("You selected: {}", selection);
} else {
println!("You didn't select anything");
}
}Sourcepub fn set_fg_color(&mut self, color: Color) -> &mut Self
pub fn set_fg_color(&mut self, color: Color) -> &mut Self
Examples found in repository?
examples/complex.rs (line 29)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
fn main() {
let mut menu = Menu::new().unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// build item list
let mut item_list = Vec::new();
for i in 1..=100 {
item_list.push(Item::new(format!("{}th item", i).as_str(), i));
}
// build colorscheme, you can skip this step to use the default colorscheme
// NOTE: sometimes your terminal might not support all the colors, so you may need to adjust
// the colorscheme
let mut colorscheme = termenu::ColorScheme::default();
colorscheme
.set_title_style(
FontStyle::default()
.set_shape(FontShape::Bold | FontShape::Underline)
.set_fg_color(colored::Color::Green)
.build(),
)
.set_query_style(FontStyle::default().set_shape(FontShape::Italic).build())
.set_chosen_ln_style(
FontStyle::default()
.set_shape(FontShape::Underline)
.set_fg_color(colored::Color::Black)
.set_bg_color_256((215, 255, 0))
.build(),
)
.set_more_tag_style(
FontStyle::default()
.set_fg_color(colored::Color::Magenta)
.build(),
);
// run
let selection = menu
.set_title("test selection:")
.show_end_tag(true)
.set_max_height(0.3)
.set_colorscheme(colorscheme)
.add_list(item_list)
.select() // this is the menu entry
.unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// handle selection
if let Some(selection) = selection {
println!("You selected: {}", selection);
} else {
println!("You didn't select anything");
}
}pub fn set_bg_color(&mut self, color: Color) -> &mut Self
pub fn set_fg_color_256(&mut self, color: (u8, u8, u8)) -> &mut Self
Sourcepub fn set_bg_color_256(&mut self, color: (u8, u8, u8)) -> &mut Self
pub fn set_bg_color_256(&mut self, color: (u8, u8, u8)) -> &mut Self
Examples found in repository?
examples/complex.rs (line 37)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
fn main() {
let mut menu = Menu::new().unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// build item list
let mut item_list = Vec::new();
for i in 1..=100 {
item_list.push(Item::new(format!("{}th item", i).as_str(), i));
}
// build colorscheme, you can skip this step to use the default colorscheme
// NOTE: sometimes your terminal might not support all the colors, so you may need to adjust
// the colorscheme
let mut colorscheme = termenu::ColorScheme::default();
colorscheme
.set_title_style(
FontStyle::default()
.set_shape(FontShape::Bold | FontShape::Underline)
.set_fg_color(colored::Color::Green)
.build(),
)
.set_query_style(FontStyle::default().set_shape(FontShape::Italic).build())
.set_chosen_ln_style(
FontStyle::default()
.set_shape(FontShape::Underline)
.set_fg_color(colored::Color::Black)
.set_bg_color_256((215, 255, 0))
.build(),
)
.set_more_tag_style(
FontStyle::default()
.set_fg_color(colored::Color::Magenta)
.build(),
);
// run
let selection = menu
.set_title("test selection:")
.show_end_tag(true)
.set_max_height(0.3)
.set_colorscheme(colorscheme)
.add_list(item_list)
.select() // this is the menu entry
.unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// handle selection
if let Some(selection) = selection {
println!("You selected: {}", selection);
} else {
println!("You didn't select anything");
}
}Sourcepub fn build(&mut self) -> Self
pub fn build(&mut self) -> Self
Examples found in repository?
examples/complex.rs (line 30)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
fn main() {
let mut menu = Menu::new().unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// build item list
let mut item_list = Vec::new();
for i in 1..=100 {
item_list.push(Item::new(format!("{}th item", i).as_str(), i));
}
// build colorscheme, you can skip this step to use the default colorscheme
// NOTE: sometimes your terminal might not support all the colors, so you may need to adjust
// the colorscheme
let mut colorscheme = termenu::ColorScheme::default();
colorscheme
.set_title_style(
FontStyle::default()
.set_shape(FontShape::Bold | FontShape::Underline)
.set_fg_color(colored::Color::Green)
.build(),
)
.set_query_style(FontStyle::default().set_shape(FontShape::Italic).build())
.set_chosen_ln_style(
FontStyle::default()
.set_shape(FontShape::Underline)
.set_fg_color(colored::Color::Black)
.set_bg_color_256((215, 255, 0))
.build(),
)
.set_more_tag_style(
FontStyle::default()
.set_fg_color(colored::Color::Magenta)
.build(),
);
// run
let selection = menu
.set_title("test selection:")
.show_end_tag(true)
.set_max_height(0.3)
.set_colorscheme(colorscheme)
.add_list(item_list)
.select() // this is the menu entry
.unwrap_or_else(|e| {
quit_now!("Error: {}", e);
});
// handle selection
if let Some(selection) = selection {
println!("You selected: {}", selection);
} else {
println!("You didn't select anything");
}
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for FontStyle
impl RefUnwindSafe for FontStyle
impl Send for FontStyle
impl Sync for FontStyle
impl Unpin for FontStyle
impl UnwindSafe for FontStyle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more