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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}More examples
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}More examples
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}More examples
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}More examples
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}More examples
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
pub fn new() -> Self {
Self {
editor: EditorTheme::default()
.block(
Block::default()
.borders(Borders::ALL)
.border_type(BorderType::Thick)
.title("|Editor|")
.title_alignment(Alignment::Center),
)
.base(Style::default().bg(DARK_NIGHT).fg(WHITE))
.cursor_style(Style::default().bg(WHITE).fg(DARK_NIGHT))
.selection_style(Style::default().bg(ORANGE).fg(DARK_NIGHT))
.status_line(
EditorStatusLine::default()
.style_text(Style::default().fg(DARK_NIGHT).bg(GREEN))
.style_line(Style::default().fg(WHITE).bg(DARK_GRAY))
.align_left(true),
),
}
}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