aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/lsp_utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rust-analyzer/src/lsp_utils.rs')
-rw-r--r--crates/rust-analyzer/src/lsp_utils.rs21
1 files changed, 8 insertions, 13 deletions
diff --git a/crates/rust-analyzer/src/lsp_utils.rs b/crates/rust-analyzer/src/lsp_utils.rs
index fd793a17c..99f4998a9 100644
--- a/crates/rust-analyzer/src/lsp_utils.rs
+++ b/crates/rust-analyzer/src/lsp_utils.rs
@@ -2,7 +2,6 @@
2use std::{error::Error, ops::Range}; 2use std::{error::Error, ops::Range};
3 3
4use lsp_server::Notification; 4use lsp_server::Notification;
5use lsp_types::request::Request;
6use ra_db::Canceled; 5use ra_db::Canceled;
7use ra_ide::LineIndex; 6use ra_ide::LineIndex;
8use serde::Serialize; 7use serde::Serialize;
@@ -43,9 +42,9 @@ impl Progress {
43impl GlobalState { 42impl GlobalState {
44 pub(crate) fn show_message(&mut self, typ: lsp_types::MessageType, message: String) { 43 pub(crate) fn show_message(&mut self, typ: lsp_types::MessageType, message: String) {
45 let message = message.into(); 44 let message = message.into();
46 let params = lsp_types::ShowMessageParams { typ, message }; 45 self.send_notification::<lsp_types::notification::ShowMessage>(
47 let not = notification_new::<lsp_types::notification::ShowMessage>(params); 46 lsp_types::ShowMessageParams { typ, message },
48 self.send(not.into()); 47 )
49 } 48 }
50 49
51 pub(crate) fn report_progress( 50 pub(crate) fn report_progress(
@@ -61,12 +60,10 @@ impl GlobalState {
61 let token = lsp_types::ProgressToken::String(format!("rustAnalyzer/{}", title)); 60 let token = lsp_types::ProgressToken::String(format!("rustAnalyzer/{}", title));
62 let work_done_progress = match state { 61 let work_done_progress = match state {
63 Progress::Begin => { 62 Progress::Begin => {
64 let work_done_progress_create = self.req_queue.outgoing.register( 63 self.send_request::<lsp_types::request::WorkDoneProgressCreate>(
65 lsp_types::request::WorkDoneProgressCreate::METHOD.to_string(),
66 lsp_types::WorkDoneProgressCreateParams { token: token.clone() }, 64 lsp_types::WorkDoneProgressCreateParams { token: token.clone() },
67 |_, _| (), 65 |_, _| (),
68 ); 66 );
69 self.send(work_done_progress_create.into());
70 67
71 lsp_types::WorkDoneProgress::Begin(lsp_types::WorkDoneProgressBegin { 68 lsp_types::WorkDoneProgress::Begin(lsp_types::WorkDoneProgressBegin {
72 title: title.into(), 69 title: title.into(),
@@ -86,12 +83,10 @@ impl GlobalState {
86 lsp_types::WorkDoneProgress::End(lsp_types::WorkDoneProgressEnd { message }) 83 lsp_types::WorkDoneProgress::End(lsp_types::WorkDoneProgressEnd { message })
87 } 84 }
88 }; 85 };
89 let notification = 86 self.send_notification::<lsp_types::notification::Progress>(lsp_types::ProgressParams {
90 notification_new::<lsp_types::notification::Progress>(lsp_types::ProgressParams { 87 token,
91 token, 88 value: lsp_types::ProgressParamsValue::WorkDone(work_done_progress),
92 value: lsp_types::ProgressParamsValue::WorkDone(work_done_progress), 89 });
93 });
94 self.send(notification.into());
95 } 90 }
96} 91}
97 92