5079: Fix config switching r=matklad a=matklad



bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
bors[bot] 2020-06-26 15:28:26 +00:00 committed by GitHub
commit 90fdb8bf98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,5 @@
//! Project loading & configuration updates
use std::sync::Arc;
use std::{mem, sync::Arc};
use crossbeam_channel::unbounded;
use flycheck::FlycheckHandle;
@ -14,12 +14,14 @@ use crate::{
};
impl GlobalState {
pub(crate) fn update_configuration(&mut self, new_config: Config) {
self.analysis_host.update_lru_capacity(new_config.lru_capacity);
if new_config.flycheck != self.config.flycheck {
pub(crate) fn update_configuration(&mut self, config: Config) {
let old_config = mem::replace(&mut self.config, config);
if self.config.lru_capacity != old_config.lru_capacity {
self.analysis_host.update_lru_capacity(old_config.lru_capacity);
}
if self.config.flycheck != old_config.flycheck {
self.reload_flycheck();
}
self.config = new_config;
}
pub(crate) fn reload(&mut self) {
let workspaces = {