From c7b79294e28fe7c835691a25597fabf226ecfc20 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 6 Sep 2026 23:44:15 +0300 Subject: feat: add conditional styles for sidebar tokens (#3693) --- src/app/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/app') diff --git a/src/app/mod.rs b/src/app/mod.rs index 0f78cf8b..110be9b7 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -1829,6 +1829,26 @@ mod tests { ); assert_eq!(app.state.sidebar_spaces.row_gap, 3); + let conditional = "[ui.sidebar.agents]\nrows = [[{ token = '$load', rules = [{ gt = 80, bold = true }] }]]\n"; + std::fs::write(&path, conditional).unwrap(); + assert_eq!( + app.reload_config().status, + crate::config::ConfigReloadStatus::Applied + ); + assert_eq!( + app.state.sidebar_agents.rows[0][0] + .style_for_value("90") + .bold, + Some(true) + ); + let previous = app.state.sidebar_agents.clone(); + std::fs::write(&path, conditional.replace("gt = 80", "gt = 'invalid'")).unwrap(); + assert_eq!( + app.reload_config().status, + crate::config::ConfigReloadStatus::Partial + ); + assert_eq!(app.state.sidebar_agents, previous); + let previous_agents = app.state.sidebar_agents.clone(); std::fs::write( &path, -- cgit v1.2.3