From f48cd6a76821649afd0ba791b0586d30b5a7b877 Mon Sep 17 00:00:00 2001 From: akbash Date: Sun, 13 Sep 2026 15:50:29 +0300 Subject: fix: order ui accent before nested config tables (#2698) * fix: order ui accent before nested config tables refs #2697 * test: reject duplicate ui accent examples refs #2697 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> --- src/main.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 87f3ce0a..12711f3a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -333,6 +333,10 @@ const DEFAULT_CONFIG: &str = r##"# herdr configuration # distinct static glyphs for blocked, working, done, idle, and unknown states. # status_indicators = "dots" +# Accent color for highlights, borders, and navigation UI. +# Accepts: hex (#89b4fa), named colors (cyan, blue, magenta), or rgb(r,g,b) +# accent = "cyan" + # Expanded agent rows. Built-ins are state_icon, state_text, machine, workspace, tab, # pane, agent, terminal_title, and terminal_title_stripped. # Custom values reported through pane metadata use a $name token. @@ -354,10 +358,6 @@ const DEFAULT_CONFIG: &str = r##"# herdr configuration # row_gap = 0 # rows = [["state_icon", "workspace"], ["branch", "git_status"]] -# Accent color for highlights, borders, and navigation UI. -# Accepts: hex (#89b4fa), named colors (cyan, blue, magenta), or rgb(r,g,b) -# accent = "cyan" - # Background notification popup delivery [ui.toast] # off = disable pop-up notifications @@ -797,6 +797,17 @@ fn main() -> io::Result<()> { mod tests { use super::*; + #[test] + fn default_config_lists_ui_accent_before_nested_tables() { + let accent_marker = "# accent = \"cyan\""; + assert_eq!(DEFAULT_CONFIG.matches(accent_marker).count(), 1); + + let accent = DEFAULT_CONFIG.find(accent_marker).unwrap(); + let sidebar = DEFAULT_CONFIG.find("# [ui.sidebar.agents]").unwrap(); + + assert!(accent < sidebar); + } + #[test] fn nested_herdr_blocks_when_env_is_set() { let config = config::Config::default(); -- cgit v1.2.3