/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2020 Olivier Goffart Copyright (c) 2020 Simon Hausmann SPDX-License-Identifier: GPL-3.0-only This file is also available under commercial licensing terms. Please contact info@sixtyfps.io for more information. LICENSE END */ //! Extensions to the LSP use lsp_types::notification::Notification; use serde::{Deserialize, Serialize}; /// Taken from rust-analizer pub enum ServerStatusNotification {} impl Notification for ServerStatusNotification { type Params = ServerStatusParams; const METHOD: &'static str = "experimental/serverStatus"; } #[derive(Deserialize, Serialize, PartialEq, Eq, Clone)] pub struct ServerStatusParams { pub health: Health, pub quiescent: bool, pub message: Option, } #[derive(Serialize, Deserialize, Clone, Copy, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub enum Health { Ok, Warning, Error, }