pub struct EditorTheme<'a> {
pub base: Style,
pub cursor_style: Style,
pub selection_style: Style,
pub block: Option<Block<'a>>,
pub status_line: Option<EditorStatusLine>,
}Expand description
The theme data of the Editor.
Fields§
§base: StyleThe base text style
cursor_style: StyleThe cursor style
selection_style: StyleThe text style in visual mode when a text is selected
block: Option<Block<'a>>The surrounding block
status_line: Option<EditorStatusLine>An optional [StatusLine] displaying the editor mode
Implementations§
Source§impl<'a> EditorTheme<'a>
impl<'a> EditorTheme<'a>
Sourcepub fn base(self, base: Style) -> Self
pub fn base(self, base: Style) -> Self
This method allows you to customize the base appearance of the Editor.
Examples found in repository?
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }More examples
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }Sourcepub fn base_style(&self) -> Style
pub fn base_style(&self) -> Style
Returns the base style.
Sourcepub fn block(self, block: Block<'a>) -> Self
pub fn block(self, block: Block<'a>) -> Self
This method allows you to customize the block surrrounding the Editor.
Examples found in repository?
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }More examples
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }Sourcepub fn cursor_style(self, style: Style) -> Self
pub fn cursor_style(self, style: Style) -> Self
This method allows you to customize the style of the cursor of the Editor.
Examples found in repository?
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }More examples
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }Sourcepub fn hide_cursor(self) -> Self
pub fn hide_cursor(self) -> Self
Hides the cursors.
Sourcepub fn selection_style(self, style: Style) -> Self
pub fn selection_style(self, style: Style) -> Self
This method allows you to customize the style of the selection of the Editor in visual mode.
Examples found in repository?
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }More examples
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }Sourcepub fn status_line(self, status_line: EditorStatusLine) -> Self
pub fn status_line(self, status_line: EditorStatusLine) -> Self
This method allows you to customize the style of the [StatusLine]
of the Editor. See [StatusLine] on how to modify its appearance.
Use hide_status_line to hide the status line.
Examples found in repository?
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }More examples
14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }14 pub fn new() -> Self {
15 Self {
16 editor: EditorTheme::default()
17 .block(
18 Block::default()
19 .borders(Borders::ALL)
20 .border_type(BorderType::Thick)
21 .title("|Editor|")
22 .title_alignment(Alignment::Center),
23 )
24 .base(Style::default().bg(DARK_NIGHT).fg(WHITE))
25 .cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
26 .selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
27 .status_line(
28 EditorStatusLine::default()
29 .style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
30 .style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
31 .align_left(true),
32 ),
33 }
34 }Sourcepub fn hide_status_line(self) -> Self
pub fn hide_status_line(self) -> Self
Hides the status lilne.
Trait Implementations§
Source§impl Default for EditorTheme<'_>
impl Default for EditorTheme<'_>
Source§fn default() -> Self
fn default() -> Self
Creates a new instance of EditorTheme.
This constructor initializes with default style.
Auto Trait Implementations§
impl<'a> Freeze for EditorTheme<'a>
impl<'a> RefUnwindSafe for EditorTheme<'a>
impl<'a> Send for EditorTheme<'a>
impl<'a> Sync for EditorTheme<'a>
impl<'a> Unpin for EditorTheme<'a>
impl<'a> UnwindSafe for EditorTheme<'a>
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
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>
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>
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