use serde::Serialize; #[derive(Serialize)] #[serde(tag = "type")] pub enum Annotation { #[serde(rename = "link")] Link { lineno: u32, colno: u32, len: u32, to: String, #[serde(skip_serializing_if = "Option::is_none")] title: Option, #[serde(skip_serializing_if = "Option::is_none")] color: Option, }, #[serde(rename = "markdown")] Markdown { lineno: u32, title: String, content: String, }, }