use serde::Deserialize;
use super::super::{BoolOrEmpty, FullCapability};
#[derive(Debug, Deserialize, PartialEq, Clone)]
#[serde(rename_all = "camelCase")]
pub struct SemanticTokensClientCapabilities {
pub dynamic_registration: Option<bool>,
pub requests: SemanticTokensRequests,
pub token_types: Vec<String>,
pub token_modifiers: Vec<String>,
pub formats: Vec<TokenFormat>,
pub overlapping_token_support: Option<bool>,
pub multiline_token_support: Option<bool>,
pub server_cancel_support: Option<bool>,
pub augments_syntax_tokens: Option<bool>,
}
#[derive(Debug, Deserialize, PartialEq, Clone)]
pub struct SemanticTokensRequests {
pub range: Option<BoolOrEmpty>,
pub full: Option<FullCapability>,
}
#[derive(Debug, Deserialize, PartialEq, Clone)]
pub enum TokenFormat {
#[serde(rename = "relative")]
Relative,
}