use derive_more::Deref;
use serde::{Deserialize, Serialize};
#[derive(Deref, Debug, Clone, Default, Serialize, Deserialize)]
pub(crate) struct Color(usize);
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub(crate) struct Tag {
pub(crate) color: Color,
pub(crate) description: String,
pub(crate) deleted: bool,
}
impl Tag {
pub(crate) fn new(description: String, num_known_tags: usize) -> Self {
Self {
color: Color(num_known_tags),
description,
deleted: false,
}
}
}
impl std::fmt::Display for Tag {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.description)?;
Ok(())
}
}