par_term_config/config/config_struct/shader_overrides_config.rs
1//! Per-shader configuration overrides.
2//!
3//! Extracted from the top-level [`super::Config`] struct via `#[serde(flatten)]`.
4//! All fields serialise at the top level of the YAML config file -- existing
5//! config files remain 100% compatible.
6
7use crate::types::{CursorShaderConfig, ShaderConfig};
8use serde::{Deserialize, Serialize};
9use std::collections::HashMap;
10
11/// Per-file overrides for background and cursor shader settings.
12#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13pub struct ShaderOverridesConfig {
14 /// Per-shader configuration overrides (key = shader filename)
15 /// These override settings embedded in shader metadata and global defaults
16 #[serde(default)]
17 pub shader_configs: HashMap<String, ShaderConfig>,
18
19 /// Per-cursor-shader configuration overrides (key = shader filename)
20 #[serde(default)]
21 pub cursor_shader_configs: HashMap<String, CursorShaderConfig>,
22}