From 9fc645c54a711c50bde413f922d70e763bbe14d8 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Sat, 16 Aug 2025 12:48:10 -0300 Subject: [PATCH] feat: add default label to name for YAML column config Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) --- src/config.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/config.rs b/src/config.rs index 10f4ed2..5786071 100644 --- a/src/config.rs +++ b/src/config.rs @@ -5,12 +5,33 @@ use serde::{Deserialize, Serialize}; use log::{debug, error}; use crate::args::{Args}; -#[derive(Debug, Clone, Deserialize, Serialize)] +#[derive(Debug, Clone, Serialize)] pub struct ColumnConfig { pub name: String, pub label: String, } +impl<'de> serde::Deserialize<'de> for ColumnConfig { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + #[derive(Deserialize)] + struct Helper { + name: String, + label: Option, + } + + let helper = Helper::deserialize(deserializer)?; + let label = helper.label.unwrap_or_else(|| helper.name.clone()); + + Ok(ColumnConfig { + name: helper.name, + label, + }) + } +} + #[derive(Debug, Clone, Deserialize, Serialize)] pub struct ServerConfig { pub address: Option,