use df_ls_core::{ReferenceTo, Referenceable};
use df_ls_syntax_analysis::TokenDeserialize;
use serde::{Deserialize, Serialize};
#[derive(
Serialize, Deserialize, Clone, Debug, Default, TokenDeserialize, PartialEq, Eq, Referenceable,
)]
pub struct ColorToken {
#[token_de(token = "COLOR", on_duplicate_to_parent, primary_token)]
#[referenceable(self_reference)]
pub reference: Option<ReferenceTo<Self>>,
#[token_de(token = "NAME")]
pub name: Option<String>,
#[token_de(token = "WORD")]
pub word: Vec<ReferenceTo<crate::WordToken>>,
#[token_de(token = "RGB")]
pub rgb: Option<(u8, u8, u8)>,
}