mirror of https://github.com/helix-editor/helix
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.
41 lines
1.1 KiB
Rust
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 },
|
|
}
|