You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helix/helix-view/src/handlers/lsp.rs

41 lines
1.1 KiB
Rust

use crate::{DocumentId, ViewId};
#[derive(Debug, Clone, Copy)]
pub struct CompletionTrigger {
/// The char position of the primary cursor when the
/// completion was triggered
pub trigger_pos: usize,
pub doc: DocumentId,
pub view: ViewId,
/// Whether the cause of the trigger was an automatic completion (any word
/// char for words longer than minimum word length).
/// This is false for trigger chars send by the LS
pub auto: bool,
}
pub enum CompletionEvent {
/// Auto completion was triggered by typing a word char
/// or a completion trigger
Trigger(CompletionTrigger),
/// A completion was manually requested (c-x)
Manual,
/// Some text was deleted and the cursor is now at `pos`
DeleteText { pos: usize },
/// Invalidate the current auto completion trigger
Cancel,
}
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SignatureHelpInvoked {
Automatic,
Manual,
}
pub enum SignatureHelpEvent {
Invoked,
Trigger,
ReTrigger,
Cancel,
RequestComplete { open: bool },
}