helix/helix-view/src/handlers/lsp.rs

41 lines
1.1 KiB
Rust
Raw Normal View History

2023-08-17 08:45:17 +08:00
use crate::{DocumentId, ViewId};
2022-03-28 10:05:26 +08:00
2023-08-17 08:45:17 +08:00
#[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 },
}