diff --git a/dsl/src/dsl.rs b/dsl/src/dsl.rs index ffdf38c..90cbaed 100644 --- a/dsl/src/dsl.rs +++ b/dsl/src/dsl.rs @@ -9,7 +9,7 @@ use const_panic::PanicFmt; use std::fmt::Debug; pub(crate) use ::{ std::sync::Arc, - //std::error::Error, + std::error::Error, konst::iter::for_each, konst::string::{str_from, str_range, char_indices}, thiserror::Error, @@ -225,3 +225,27 @@ pub(crate) fn ok_flat (x: Option>) -> DslPerhaps { } } }); + +#[deprecated] +/// `T` + [Dsl] -> `Self`. +pub trait FromDsl: Sized { + fn from_dsl (state: &T, dsl: &impl Dsl) -> Perhaps; + fn from_dsl_or (state: &T, dsl: &impl Dsl, err: Box) -> Usually { + Self::from_dsl(state, dsl)?.ok_or(err) + } + fn from_dsl_or_else (state: &T, dsl: &impl Dsl, err: impl Fn()->Box) -> Usually { + Self::from_dsl(state, dsl)?.ok_or_else(err) + } +} + +#[deprecated] +/// `self` + [Dsl] -> `T` +pub trait DslInto { + fn dsl_into (&self, dsl: &impl Dsl) -> Perhaps; + fn dsl_into_or (&self, dsl: &impl Dsl, err: Box) -> Usually { + self.dsl_into(dsl)?.ok_or(err) + } + fn dsl_into_or_else (&self, dsl: &impl Dsl, err: impl Fn()->Box) -> Usually { + self.dsl_into(dsl)?.ok_or_else(err) + } +} diff --git a/tui/src/tui_content.rs b/tui/src/tui_content.rs index 184d7ea..34d5697 100644 --- a/tui/src/tui_content.rs +++ b/tui/src/tui_content.rs @@ -63,7 +63,7 @@ impl> Layout for TuiForeground { impl + Draw> Draw for TuiForeground { fn draw (&self, to: &mut TuiOut) { let area = self.layout(to.area()); - to.fill_fg(area, self.0.0); + to.fill_bg(area, self.0.0); to.place_at(area, &self.0.1); } } diff --git a/tui/src/tui_content/tui_style.rs b/tui/src/tui_content/tui_style.rs new file mode 100644 index 0000000..c7b7e81 --- /dev/null +++ b/tui/src/tui_content/tui_style.rs @@ -0,0 +1 @@ +use crate::*;