diff --git a/components/clarity-lsp/src/common/backend.rs b/components/clarity-lsp/src/common/backend.rs index d62ed9599..a32a2d394 100644 --- a/components/clarity-lsp/src/common/backend.rs +++ b/components/clarity-lsp/src/common/backend.rs @@ -372,7 +372,7 @@ pub fn process_mutating_request( LspRequest::Initialize(params) => { let initialization_options = params .initialization_options - .and_then(|o| serde_json::from_str(o.as_str()?).ok()) + .and_then(|o| serde_json::from_value(o).ok()) .unwrap_or(InitializationOptions::default()); match editor_state.try_write(|es| es.settings = initialization_options.clone()) { diff --git a/components/clarity-lsp/src/common/requests/capabilities.rs b/components/clarity-lsp/src/common/requests/capabilities.rs index d5ed28463..f04e32bb8 100644 --- a/components/clarity-lsp/src/common/requests/capabilities.rs +++ b/components/clarity-lsp/src/common/requests/capabilities.rs @@ -6,7 +6,7 @@ use lsp_types::{ use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Deserialize, Serialize, Default)] -#[serde(rename_all = "camelCase")] +#[serde(rename_all = "camelCase", default)] pub struct InitializationOptions { completion: bool, pub completion_smart_parenthesis_wrap: bool,