#![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<IconThemeContent>,} #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]pub struct IconThemeContent { pub name: String, pub appearance: AppearanceContent, #[serde(default)] pub directory_icons: DirectoryIconsContent, #[serde(default)] pub chevron_icons: ChevronIconsContent, #[serde(default)] pub file_icons: HashMap<String, IconDefinitionContent>,} #[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)]pub struct DirectoryIconsContent { pub collapsed: Option<SharedString>, pub expanded: Option<SharedString>,} #[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)]pub struct ChevronIconsContent { pub collapsed: Option<SharedString>, pub expanded: Option<SharedString>,} #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]pub struct IconDefinitionContent { pub path: SharedString,}
#![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<IconThemeContent>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct IconThemeContent {
pub name: String,
pub appearance: AppearanceContent,
#[serde(default)]
pub directory_icons: DirectoryIconsContent,
#[serde(default)]
pub chevron_icons: ChevronIconsContent,
#[serde(default)]
pub file_icons: HashMap<String, IconDefinitionContent>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)]
pub struct DirectoryIconsContent {
pub collapsed: Option<SharedString>,
pub expanded: Option<SharedString>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)]
pub struct ChevronIconsContent {
pub collapsed: Option<SharedString>,
pub expanded: Option<SharedString>,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct IconDefinitionContent {
pub path: SharedString,
}