Expand description
Code completion plugin for reovim
This plugin provides auto-completion functionality:
- Trigger completion popup
- Navigate suggestions with next/prev
- Confirm selection or dismiss
§Architecture
This plugin follows the treesitter decoupling pattern:
- Defines
SourceSupporttrait for external sources to implement - Uses background saturator for non-blocking completion
- Uses ArcSwap cache for lock-free render access
- Communicates via
EventBusevents
Modules§
- command_
id - Plugin-local command IDs
Structs§
- Buffer
Words Source - Completion source that provides words from the current buffer
- Completion
Cache - Lock-free completion cache
- Completion
Confirm - Completion
Context - Context for completion requests
- Completion
Dismiss - Completion
Dismissed - Event to request completion dismissal
- Completion
Item - A completion item returned by a completion provider
- Completion
Plugin - Code completion plugin
- Completion
Plugin Window - Plugin window for completion popup
- Completion
Ready - Event emitted when completion results are ready
- Completion
Request - Request for completion computation
- Completion
Saturator Handle - Handle for sending requests to the saturator
- Completion
Select Next - Completion
Select Prev - Completion
Snapshot - A snapshot of completion state at a point in time
- Completion
Trigger - Trigger completion at current cursor position (command)
- Completion
Triggered - Event emitted when completion is triggered (contains full context)
- Register
Source - Event for registering a completion source
- Shared
Completion Manager - Shared completion manager state
- Source
Registry - Registry of completion sources
Enums§
- Completion
Kind - Completion item kind (subset of LSP
CompletionItemKind)
Traits§
- Source
Support - Trait for completion source implementations
Functions§
- spawn_
completion_ saturator - Spawn the completion saturator background task