use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(default, rename_all = "camelCase")]
pub struct LanguageServerConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub diagnostics: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub lint: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub typecheck: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub editor: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ecosystem: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub completion: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hover: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub definition: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub references: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub document_symbols: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workspace_symbols: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub code_actions: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rename: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub formatting: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub code_lens: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub semantic_tokens: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub document_links: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub folding_ranges: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub inlay_hints: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_rename: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub corsa: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tsgo: Option<bool>,
}
impl LanguageServerConfig {
pub fn is_default(&self) -> bool {
self == &Self::default()
}
}
pub type LspConfig = LanguageServerConfig;