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

This commit is contained in:
Poliorcetics 2022-10-29 01:20:55 +02:00 committed by GitHub
parent 26f21da531
commit c58e1729ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,7 +9,7 @@ use tui::text::{Span, Spans};
use super::{align_view, push_jump, Align, Context, Editor, Open};
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::{
compositor::{self, Compositor},
@ -957,6 +957,14 @@ pub fn signature_help_impl(cx: &mut Context, invoked: SignatureHelpInvoked) {
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 {
// According to the spec the response should be None if there
// are no signatures, but some servers don't follow this.