]> git.lizzy.rs Git - rust.git/commitdiff
Fix workspace reloading
authorAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 3 Jul 2020 15:19:00 +0000 (17:19 +0200)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 3 Jul 2020 15:19:00 +0000 (17:19 +0200)
crates/rust-analyzer/src/config.rs

index 21acfe6445e2dc80118a1456b14146f860bf9510..0c7c36716819f554bf8eb37e8e21dda2ed9d5b29 100644 (file)
@@ -9,7 +9,6 @@
 
 use std::{ffi::OsString, path::PathBuf};
 
-use crate::diagnostics::DiagnosticsConfig;
 use flycheck::FlycheckConfig;
 use lsp_types::ClientCapabilities;
 use ra_db::AbsPathBuf;
@@ -17,6 +16,8 @@
 use ra_project_model::{CargoConfig, ProjectJson, ProjectJsonData, ProjectManifest};
 use serde::Deserialize;
 
+use crate::diagnostics::DiagnosticsConfig;
+
 #[derive(Debug, Clone)]
 pub struct Config {
     pub client_caps: ClientCapsConfig,
@@ -182,8 +183,10 @@ pub fn update(&mut self, value: &serde_json::Value) {
         log::info!("Config::update({:#})", value);
 
         let client_caps = self.client_caps.clone();
+        let linked_projects = self.linked_projects.clone();
         *self = Config::new(self.root_path.clone());
         self.client_caps = client_caps;
+        self.linked_projects = linked_projects;
 
         set(value, "/withSysroot", &mut self.with_sysroot);
         set(value, "/diagnostics/enable", &mut self.publish_diagnostics);