diff options
author | Aleksey Kladov <[email protected]> | 2020-07-15 13:37:44 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-07-15 13:37:44 +0100 |
commit | a40e05dd5d8b2c5f74c61cd08efed9dc83124657 (patch) | |
tree | 0cd983f87b9328f683cf70b6207972241b2368cd /crates/rust-analyzer/src/global_state.rs | |
parent | 6f3c8dc11d477a6d680ce018e93f007c31499bd5 (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.rs | 7 |
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(), |