# shougo/deoplete.nvim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shougo-deoplete-nvim).**

5,906 stars · 284 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/Shougo/deoplete.nvim
- awesome-repositories: https://awesome-repositories.com/repository/shougo-deoplete-nvim.md

## Topics

`auto-completion` `deoplete` `nvim` `python` `vim`

## Description

Deoplete.nvim is an asynchronous completion engine and framework for Neovim and Vim8. It functions as a non-blocking system for fetching and displaying text suggestions, serving as a modular extension that integrates multiple external completion sources without freezing the editor user interface.

The project operates as a Language Server Protocol client, bridging the editor to external language servers to provide context-aware, type-safe completions. It further distinguishes itself by supporting intelligent text prediction through the integration of machine learning engines and language-specific logic.

The system covers a broad range of capabilities including an event-driven trigger system, dynamic candidate filtering, and a plugin-based source architecture. These components allow for the construction of tailored completion systems by connecting various data sources and filtering rules.

## Tags

### Development Tools & Productivity

- [Code Completion](https://awesome-repositories.com/f/development-tools-productivity/code-completion.md) — Provides real-time, asynchronous code completion suggestions for Neovim and Vim8 editors.
- [Completion Engines](https://awesome-repositories.com/f/development-tools-productivity/completion-engines.md) — Acts as a central engine that aggregates multiple data sources to deliver real-time text suggestions.
- [Completion Frameworks](https://awesome-repositories.com/f/development-tools-productivity/custom-completion-providers/completion-frameworks.md) — Provides a structural framework and API for building custom completion logic and data providers.
- [Language Server Protocol Clients](https://awesome-repositories.com/f/development-tools-productivity/emacs-extensions/language-server-protocol-clients.md) — Functions as a client that communicates with external language servers via the Language Server Protocol.
- [Language Server Clients](https://awesome-repositories.com/f/development-tools-productivity/language-server-clients.md) — Provides the client-side integration logic required to communicate with external language servers.
- [Language Server Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations.md) — Implements the Language Server Protocol to provide context-aware, type-safe code intelligence within the editor.
- [Completion Engines](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins/completion-engines.md) — Provides an autocompletion engine for Neovim that integrates LSP, snippets, and external sources.
- [Completion Triggers](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-triggers/event-driven-triggers/completion-triggers.md) — Automatically fires completion requests by monitoring keystrokes and buffer changes.

### Part of an Awesome List

- [Multi-Source Completion Integrators](https://awesome-repositories.com/f/awesome-lists/devtools/snippet-management/lsp-snippet-delivery/multi-source-completion-integrators.md) — Integrates multiple completion sources including LSP servers, snippets, and buffer words through a unified interface. ([source](https://github.com/Shougo/deoplete.nvim/wiki/Completion-Sources))

### Software Engineering & Architecture

- [Datasource Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/datasource-plugin-architectures.md) — Implements a plugin-based architecture that allows external data sources to register and provide completion suggestions.
- [Suggestion Sorting & Filtering](https://awesome-repositories.com/f/software-engineering-architecture/intent-based-coordination/intent-to-skill-mappings/semantic-intent-mapping/candidate-noise-filtering/suggestion-sorting-filtering.md) — Provides a system for sorting and filtering raw completion suggestions before they are presented to the user.

### Networking & Communication

- [Asynchronous Message Passing](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/asynchronous-message-passing.md) — Uses non-blocking communication channels to exchange data between the Neovim main thread and asynchronous processes.

### Programming Languages & Runtimes

- [Asynchronous Event Loops](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-event-loops.md) — Implements a non-blocking event-driven execution model to handle completion requests without freezing the editor UI.
