#![allow(missing_docs)] use gpui::SharedString; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use crate::AppearanceContent; #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] pub struct IconThemeFamilyContent { pub name: String, pub author: String, pub themes: Vec, } #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] pub struct IconThemeContent { pub name: String, pub appearance: AppearanceContent, #[serde(default)] pub directory_icons: DirectoryIconsContent, #[serde(default)] pub named_directory_icons: HashMap, #[serde(default)] pub chevron_icons: ChevronIconsContent, #[serde(default)] pub file_stems: HashMap, #[serde(default)] pub file_suffixes: HashMap, #[serde(default)] pub file_icons: HashMap, } #[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)] pub struct DirectoryIconsContent { pub collapsed: Option, pub expanded: Option, } #[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)] pub struct ChevronIconsContent { pub collapsed: Option, pub expanded: Option, } #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] pub struct IconDefinitionContent { pub path: SharedString, }