A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/lsp/client.rs')
-rw-r--r--src/lsp/client.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lsp/client.rs b/src/lsp/client.rs
index 3c5dc93..2650b5f 100644
--- a/src/lsp/client.rs
+++ b/src/lsp/client.rs
@@ -6,6 +6,7 @@ use std::sync::atomic::Ordering::Relaxed;
use Default::default;
use crossbeam::channel::{Receiver, SendError, Sender};
use futures::FutureExt;
+use json_value_merge::Merge;
use log::debug;
use lsp_server::{
Message, Notification as N, Request as LRq, Response as Re,
@@ -18,6 +19,7 @@ use tokio::sync::oneshot;
use ttools::*;
use crate::lsp::BehaviourAfter::{self, *};
+use crate::lsp::init_opts::ra_config;
use crate::lsp::{RequestError, Rq};
use crate::text::cursor::ceach;
use crate::text::{RopeExt, SortTedits, TextArea};
@@ -575,6 +577,15 @@ impl Client {
})
.map(fst)
}
+
+ pub fn _update_config(&self, with: serde_json::Value) {
+ let mut x = ra_config();
+ x.merge(&with);
+ self.notify::<DidChangeConfiguration>(
+ &DidChangeConfigurationParams { settings: x },
+ )
+ .unwrap();
+ }
}
pub trait PathURI {