awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hrsh7th avatar

hrsh7th/nvim-cmp

0
View on GitHub↗
9,455 stars·437 forks·Lua·MIT·20 views

Nvim Cmp

This project is a Lua-based completion engine for Neovim that aggregates real-time text suggestions from multiple data sources into a single interface. It functions as a modular framework for extending the editor with custom completion logic, acting as both a fuzzy text suggestion tool and an interface for the Language Server Protocol.

The engine utilizes a source-agnostic provider interface to standardize how disparate data sources feed candidates into a central logic engine. It employs asynchronous candidate fetching and a non-blocking architecture to retrieve suggestions from external servers and filesystems without freezing the editor interface.

The capability surface covers a wide range of specialized completions, including language server symbols, filesystem paths, buffer text, and git metadata. It also provides integration for large language models for AI-assisted coding, as well as specialized suggestions for CSS styling, academic references, and symbol insertion.

The system includes a dynamic menu for rendering results and a keymap management system for navigating and confirming suggestions.

Features

  • Completion Frameworks - Acts as a modular framework for extending Neovim with custom Lua-based completion logic and external data providers.
  • In-Editor Text Completion - Provides real-time suggestions for code and text while typing in Neovim to reduce keystrokes and errors.
  • LSP Integration - Provides deep integration with the Language Server Protocol to offer intelligent symbol completions and signature help.
  • Asynchronous Data Fetching - Uses non-blocking threads to fetch completion candidates from external servers and filesystems without freezing the editor.
  • Provider Abstraction Layers - Standardizes how disparate data sources feed completion candidates into the central engine via a common Lua API.
  • Completion Provider Integrations - Implements a modular interface to integrate multiple completion providers for snippets, paths, and symbols.
  • Fuzzy Search Engines - Filters completion candidates from buffers, filesystem paths, and external registries using a fuzzy search engine.
  • Completion Engines - Implements a comprehensive Lua-based completion engine that aggregates suggestions from multiple sources into a single interface.
  • Language Server Integrations - Interfaces with Language Server Protocol servers to provide intelligent code completion and signature help.
  • LSP Clients - Connects Neovim to Language Server Protocol servers for intelligent symbols, signatures, and type-aware completions.
  • Lua-Based Plugin Architectures - Uses a Lua-based logic engine for filtering and sorting completion candidates within the Neovim runtime.
  • AI Coding Assistants - Integrates large language models into the editor to provide intelligent, context-aware code suggestions.
  • Context-Aware Text Editing - Scans the active document buffer to extract words and symbols for local text suggestions.
  • Custom Completion Providers - Allows customizing how completions are filtered, triggered, and displayed using custom logic functions.
  • Completion Keymaps - Provides a dedicated keymap management system for navigating, selecting, and confirming suggestions from the completion list.
  • Fuzzy Search Interfaces - Implements a fuzzy-matching interface for locating completion candidates across buffers, files, and external results.
  • Workflow Customization - Provides configuration options to match completion triggers and filtering to a developer's specific coding habits.
  • File Path Autocompletion - Suggests valid filesystem paths and folder names asynchronously to prevent editor freezing.
  • Floating Completion Menus - Renders a real-time floating menu of filtered suggestions based on the current cursor position.
  • Keymap Action Dispatchers - Maps specific keystrokes to internal functions for navigating and confirming suggestions in the completion list.
  • Completion - Primary completion engine for Neovim.

Star history

Star history chart for hrsh7th/nvim-cmpStar history chart for hrsh7th/nvim-cmp

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Nvim Cmp

Similar open-source projects, ranked by how many features they share with Nvim Cmp.
  • nvim-mini/mini.nvimnvim-mini avatar

    nvim-mini/mini.nvim

    9,325View on GitHub↗

    mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls

    Lualuamini-nvimneovim
    View on GitHub↗9,325
  • ms-jpq/coq_nvimms-jpq avatar

    ms-jpq/coq_nvim

    3,813View on GitHub↗

    coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources, including language servers, tag files, and local buffers, to provide non-blocking code completion. The engine distinguishes itself through a typo-resistant fuzzy completion filter and a two-stage weighted ranking system that prioritizes candidates based on recency and proximity. It utilizes an embedded SQLite database for local caching and background symbol indexing to accelerate lookups without freezing the editor interface. The project also includes a system for defining and expa

    Luacompletionneovimneovim-plugin
    View on GitHub↗3,813
  • w0rp/alew0rp avatar

    w0rp/ale

    14,005View on GitHub↗

    Ale is a Neovim LSP client and asynchronous linter wrapper designed to integrate language servers and syntax checkers into the editor. It provides infrastructure for background syntax validation and automated code fixing without blocking the editor interface. The project implements the Language Server Protocol to enable advanced semantic navigation, including symbol renaming, definition jumping, and the application of automatic refactoring changes. It functions as an automatic code fixer that applies formatting and repairs based on feedback from linting tools and language servers. The plugin

    Vim Script
    View on GitHub↗14,005
  • shougo/deoplete.nvimShougo avatar

    Shougo/deoplete.nvim

    5,906View on GitHub↗

    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-speci

    Pythonauto-completiondeopletenvim
    View on GitHub↗5,906
See all 30 alternatives to Nvim Cmp→

Frequently asked questions

What does hrsh7th/nvim-cmp do?

This project is a Lua-based completion engine for Neovim that aggregates real-time text suggestions from multiple data sources into a single interface. It functions as a modular framework for extending the editor with custom completion logic, acting as both a fuzzy text suggestion tool and an interface for the Language Server Protocol.

What are the main features of hrsh7th/nvim-cmp?

The main features of hrsh7th/nvim-cmp are: Completion Frameworks, In-Editor Text Completion, LSP Integration, Asynchronous Data Fetching, Provider Abstraction Layers, Completion Provider Integrations, Fuzzy Search Engines, Completion Engines.

What are some open-source alternatives to hrsh7th/nvim-cmp?

Open-source alternatives to hrsh7th/nvim-cmp include: nvim-mini/mini.nvim — mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation,… ms-jpq/coq_nvim — coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources,… w0rp/ale — Ale is a Neovim LSP client and asynchronous linter wrapper designed to integrate language servers and syntax checkers… shougo/deoplete.nvim — Deoplete.nvim is an asynchronous completion engine and framework for Neovim and Vim8. It functions as a non-blocking… astronvim/astronvim — AstroNvim is a modular Neovim distribution that functions as a comprehensive development environment. It provides a… junegunn/fzf.vim — fzf.vim is a Vim fuzzy finder plugin that integrates the fzf command-line interface into the editor. It serves as a…