mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
improve error display
This commit is contained in:
parent
cac3fe044e
commit
ea47d605a6
1 changed files with 19 additions and 9 deletions
|
|
@ -216,16 +216,26 @@ impl App {
|
|||
}
|
||||
|
||||
fn render_dsl <'t, S> (state: &'t S, src: &str) -> Box<dyn Render<TuiOut>>
|
||||
where S: DslSymNs<'t, Box<dyn Render<TuiOut>>> + DslExpNs<'t, Box<dyn Render<TuiOut>>>
|
||||
where S: DslSymNs<'t, Box<dyn Render<TuiOut>>> + DslExpNs<'t, Box<dyn Render<TuiOut>>>
|
||||
{
|
||||
if let Ok(Some(value)) = state.from_sym(src) { return value }
|
||||
if let Ok(Some(value)) = state.from_exp(src) { return value }
|
||||
Box::new(Bsp::s(
|
||||
Fill::x(Align::w(Tui::bold(true, Tui::fg_bg(Color::Rgb(240,160,100), Color::Rgb(48,00,00),
|
||||
"Could not render:")))),
|
||||
Max::x(40, Tui::fg_bg(Color::Rgb(250,200,120), Color::Rgb(32,00,00),
|
||||
format!("{src}")))
|
||||
))
|
||||
let sym_err: Option<Box<dyn Error>> = match state.from_sym(src) {
|
||||
Ok(Some(value)) => return value,
|
||||
Ok(None) => None,
|
||||
Err(e) => Some(e),
|
||||
};
|
||||
let exp_err = match state.from_exp(src) {
|
||||
Ok(Some(value)) => return value,
|
||||
Ok(None) => None,
|
||||
Err(e) => Some(e),
|
||||
};
|
||||
let (err_fg_1, err_bg_1) = (Color::Rgb(240, 160, 100), Color::Rgb(48, 0, 0));
|
||||
let (err_fg_2, err_bg_2) = (Color::Rgb(250, 200, 120), Color::Rgb(32, 0, 0));
|
||||
Box::new(Fill::x(col! {
|
||||
Fill::x(Margin::x(1, Align::w(Tui::bold(true, Tui::fg_bg(err_fg_1, err_bg_1, "Could not render:"))))),
|
||||
Fill::x(Margin::x(1, Tui::fg_bg(err_fg_2, err_bg_2, format!("{src}")))),
|
||||
Fill::x(Margin::x(1, Tui::fg_bg(err_fg_2, err_bg_2, format!("{sym_err:?}")))),
|
||||
Fill::x(Margin::x(1, Tui::fg_bg(err_fg_2, err_bg_2, format!("{exp_err:?}")))),
|
||||
}))
|
||||
}
|
||||
|
||||
dsl_exp!(|app: App, tail| -> Box<dyn Render<TuiOut>> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue