aboutsummaryrefslogtreecommitdiff
path: root/helix-tui/src/widgets/block.rs
diff options
context:
space:
mode:
authorIvan Tham2022-05-14 14:28:37 +0000
committerBlaž Hrastnik2022-05-22 01:26:32 +0000
commit1837b5e4a61f0230b3cd382ed487fa09be7b2b68 (patch)
tree1025a430cffa521be6f24cab7472769d94584e48 /helix-tui/src/widgets/block.rs
parentbfc4ff4dcfd9135924d90bb822f2e23ae9cb2420 (diff)
Refactor Block with Default and bitflags
Specifying empty for bitflags is not recommended, it is now removed and added Default. For BorderType, it now defaults to plain.
Diffstat (limited to 'helix-tui/src/widgets/block.rs')
-rw-r--r--helix-tui/src/widgets/block.rs21
1 files changed, 8 insertions, 13 deletions
diff --git a/helix-tui/src/widgets/block.rs b/helix-tui/src/widgets/block.rs
index 26223c3e..3c05a2a3 100644
--- a/helix-tui/src/widgets/block.rs
+++ b/helix-tui/src/widgets/block.rs
@@ -6,6 +6,7 @@ use crate::{
};
use helix_view::graphics::{Rect, Style};
+/// Border render type. Defaults to [`BorderType::Plain`].
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum BorderType {
Plain,
@@ -25,6 +26,12 @@ impl BorderType {
}
}
+impl Default for BorderType {
+ fn default() -> BorderType {
+ BorderType::Plain
+ }
+}
+
/// Base widget to be used with all upper level ones. It may be used to display a box border around
/// the widget and/or add a title.
///
@@ -40,7 +47,7 @@ impl BorderType {
/// .border_type(BorderType::Rounded)
/// .style(Style::default().bg(Color::Black));
/// ```
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Default, Clone, PartialEq)]
pub struct Block<'a> {
/// Optional title place on the upper left of the block
title: Option<Spans<'a>>,
@@ -55,18 +62,6 @@ pub struct Block<'a> {
style: Style,
}
-impl<'a> Default for Block<'a> {
- fn default() -> Block<'a> {
- Block {
- title: None,
- borders: Borders::NONE,
- border_style: Default::default(),
- border_type: BorderType::Plain,
- style: Default::default(),
- }
- }
-}
-
impl<'a> Block<'a> {
pub fn title<T>(mut self, title: T) -> Block<'a>
where