aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/global_state.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-07-15 13:37:44 +0100
committerAleksey Kladov <[email protected]>2020-07-15 13:37:44 +0100
commita40e05dd5d8b2c5f74c61cd08efed9dc83124657 (patch)
tree0cd983f87b9328f683cf70b6207972241b2368cd /crates/rust-analyzer/src/global_state.rs
parent6f3c8dc11d477a6d680ce018e93f007c31499bd5 (diff)
Don't drop flycheck messages during restart
closes #5386
Diffstat (limited to 'crates/rust-analyzer/src/global_state.rs')
-rw-r--r--crates/rust-analyzer/src/global_state.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/global_state.rs b/crates/rust-analyzer/src/global_state.rs
index 9a9a6547a..94973b90a 100644
--- a/crates/rust-analyzer/src/global_state.rs
+++ b/crates/rust-analyzer/src/global_state.rs
@@ -63,7 +63,9 @@ pub(crate) struct GlobalState {
63 req_queue: ReqQueue, 63 req_queue: ReqQueue,
64 pub(crate) task_pool: Handle<TaskPool<Task>, Receiver<Task>>, 64 pub(crate) task_pool: Handle<TaskPool<Task>, Receiver<Task>>,
65 pub(crate) loader: Handle<Box<dyn vfs::loader::Handle>, Receiver<vfs::loader::Message>>, 65 pub(crate) loader: Handle<Box<dyn vfs::loader::Handle>, Receiver<vfs::loader::Message>>,
66 pub(crate) flycheck: Option<Handle<FlycheckHandle, Receiver<flycheck::Message>>>, 66 pub(crate) flycheck: Option<FlycheckHandle>,
67 pub(crate) flycheck_sender: Sender<flycheck::Message>,
68 pub(crate) flycheck_receiver: Receiver<flycheck::Message>,
67 pub(crate) config: Config, 69 pub(crate) config: Config,
68 pub(crate) analysis_host: AnalysisHost, 70 pub(crate) analysis_host: AnalysisHost,
69 pub(crate) diagnostics: DiagnosticCollection, 71 pub(crate) diagnostics: DiagnosticCollection,
@@ -103,12 +105,15 @@ impl GlobalState {
103 }; 105 };
104 106
105 let analysis_host = AnalysisHost::new(config.lru_capacity); 107 let analysis_host = AnalysisHost::new(config.lru_capacity);
108 let (flycheck_sender, flycheck_receiver) = unbounded();
106 GlobalState { 109 GlobalState {
107 sender, 110 sender,
108 req_queue: ReqQueue::default(), 111 req_queue: ReqQueue::default(),
109 task_pool, 112 task_pool,
110 loader, 113 loader,
111 flycheck: None, 114 flycheck: None,
115 flycheck_sender,
116 flycheck_receiver,
112 config, 117 config,
113 analysis_host, 118 analysis_host,
114 diagnostics: Default::default(), 119 diagnostics: Default::default(),