@@ -295,14 +295,6 @@ impl Application {
295 server_id: usize,
295 server_id: usize,
297 use helix_lsp::{Call, MethodCall, Notification};
297 use helix_lsp::{Call, MethodCall, Notification};
298− let editor_view = self
300− .find(std::any::type_name::<ui::EditorView>())
301− .expect("expected at least one EditorView");
302− let editor_view = editor_view
304− .downcast_mut::<ui::EditorView>()
307 match call {
299 match call {
308 Call::Notification(helix_lsp::jsonrpc::Notification { method, params, .. }) => {
300 Call::Notification(helix_lsp::jsonrpc::Notification { method, params, .. }) => {
@@ -412,7 +404,19 @@ impl Application {
412 Notification::LogMessage(params) => {
404 Notification::LogMessage(params) => {
413 log::info!("window/logMessage: {:?}", params);
405 log::info!("window/logMessage: {:?}", params);
415− Notification::ProgressMessage(params) => {
407+ Notification::ProgressMessage(params)
410+ .has_component(std::any::type_name::<ui::Prompt>()) =>
412+ let editor_view = self
414+ .find(std::any::type_name::<ui::EditorView>())
415+ .expect("expected at least one EditorView");
416+ let editor_view = editor_view
418+ .downcast_mut::<ui::EditorView>()
416 let lsp::ProgressParams { token, value } = params;
420 let lsp::ProgressParams { token, value } = params;
418 let lsp::ProgressParamsValue::WorkDone(work) = value;
422 let lsp::ProgressParamsValue::WorkDone(work) = value;
@@ -487,6 +491,9 @@ impl Application {
487 self.editor.set_status(status);
491 self.editor.set_status(status);
494+ Notification::ProgressMessage(_params) => {
492 Call::MethodCall(helix_lsp::jsonrpc::MethodCall {
499 Call::MethodCall(helix_lsp::jsonrpc::MethodCall {
@@ -521,6 +528,14 @@ impl Application {
521 MethodCall::WorkDoneProgressCreate(params) => {
528 MethodCall::WorkDoneProgressCreate(params) => {
522 self.lsp_progress.create(server_id, params.token);
529 self.lsp_progress.create(server_id, params.token);
531+ let editor_view = self
533+ .find(std::any::type_name::<ui::EditorView>())
534+ .expect("expected at least one EditorView");
535+ let editor_view = editor_view
537+ .downcast_mut::<ui::EditorView>()
524 let spinner = editor_view.spinners_mut().get_or_create(server_id);
539 let spinner = editor_view.spinners_mut().get_or_create(server_id);
525 if spinner.is_stopped() {
540 if spinner.is_stopped() {
526 spinner.start();
541 spinner.start();