mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 03:36: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>>
|
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 }
|
let sym_err: Option<Box<dyn Error>> = match state.from_sym(src) {
|
||||||
if let Ok(Some(value)) = state.from_exp(src) { return value }
|
Ok(Some(value)) => return value,
|
||||||
Box::new(Bsp::s(
|
Ok(None) => None,
|
||||||
Fill::x(Align::w(Tui::bold(true, Tui::fg_bg(Color::Rgb(240,160,100), Color::Rgb(48,00,00),
|
Err(e) => Some(e),
|
||||||
"Could not render:")))),
|
};
|
||||||
Max::x(40, Tui::fg_bg(Color::Rgb(250,200,120), Color::Rgb(32,00,00),
|
let exp_err = match state.from_exp(src) {
|
||||||
format!("{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>> {
|
dsl_exp!(|app: App, tail| -> Box<dyn Render<TuiOut>> {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue