fix: Never create automatic doc popups outside of Insert mode (#4456)

pull/4512/head
Poliorcetics 2 years ago committed by GitHub
parent 26f21da531
commit c58e1729ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,7 +9,7 @@ use tui::text::{Span, Spans};
use super::{align_view, push_jump, Align, Context, Editor, Open}; use super::{align_view, push_jump, Align, Context, Editor, Open};
use helix_core::{path, Selection}; use helix_core::{path, Selection};
use helix_view::{apply_transaction, editor::Action, theme::Style}; use helix_view::{apply_transaction, document::Mode, editor::Action, theme::Style};
use crate::{ use crate::{
compositor::{self, Compositor}, compositor::{self, Compositor},
@ -957,6 +957,14 @@ pub fn signature_help_impl(cx: &mut Context, invoked: SignatureHelpInvoked) {
return; return;
} }
// If the signature help invocation is automatic, don't show it outside of Insert Mode:
// it very probably means the server was a little slow to respond and the user has
// already moved on to something else, making a signature help popup will just be an
// annoyance, see https://github.com/helix-editor/helix/issues/3112
if !was_manually_invoked && editor.mode != Mode::Insert {
return;
}
let response = match response { let response = match response {
// According to the spec the response should be None if there // According to the spec the response should be None if there
// are no signatures, but some servers don't follow this. // are no signatures, but some servers don't follow this.

Loading…
Cancel
Save