@@ -113,6 +113,10 @@ impl Client {
113 self.offset_encoding
113 self.offset_encoding
116+ pub fn config(&self) -> Option<&Value> {
117+ self.config.as_ref()
116 /// Execute a RPC request on the language server.
120 /// Execute a RPC request on the language server.
117 async fn request<R: lsp::request::Request>(&self, params: R::Params) -> Result<R::Result>
121 async fn request<R: lsp::request::Request>(&self, params: R::Params) -> Result<R::Result>
@@ -246,6 +250,13 @@ impl Client {
246 root_uri: root,
250 root_uri: root,
247 initialization_options: self.config.clone(),
251 initialization_options: self.config.clone(),
248 capabilities: lsp::ClientCapabilities {
252 capabilities: lsp::ClientCapabilities {
253+ workspace: Some(lsp::WorkspaceClientCapabilities {
254+ configuration: Some(true),
255+ did_change_configuration: Some(lsp::DynamicRegistrationClientCapabilities {
256+ dynamic_registration: Some(false),
258+ ..Default::default()
249 text_document: Some(lsp::TextDocumentClientCapabilities {
260 text_document: Some(lsp::TextDocumentClientCapabilities {
250 completion: Some(lsp::CompletionClientCapabilities {
261 completion: Some(lsp::CompletionClientCapabilities {
251 completion_item: Some(lsp::CompletionItemCapability {
262 completion_item: Some(lsp::CompletionItemCapability {
@@ -330,6 +341,16 @@ impl Client {
330 self.exit().await
341 self.exit().await
344+ // -------------------------------------------------------------------------------------------
346+ // -------------------------------------------------------------------------------------------
348+ pub fn did_change_configuration(&self, settings: Value) -> impl Future<Output = Result<()>> {
349+ self.notify::<lsp::notification::DidChangeConfiguration>(
350+ lsp::DidChangeConfigurationParams { settings },
333 // -------------------------------------------------------------------------------------------
354 // -------------------------------------------------------------------------------------------
334 // Text document
355 // Text document
335 // -------------------------------------------------------------------------------------------
356 // -------------------------------------------------------------------------------------------