ms-jpq/coq_nvim

Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 21 minutes ago
Type:Plugin / ExtensionCategory(s):Editors & IDEsDeveloper Tools
Added to GitGenius on September 18th, 2026
Created on July 16th, 2020
Open Issues & Pull Requests: 186 (+0)
GitHub issues: Enabled
Number of forks: 103
Total Stargazers: 3,815 (+0)
Total Subscribers: 14 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.5 days
Mean response time: 84.3 days
90th percentile: 134.8 days
Tracked items: 50

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 56% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 35
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 846 days
Stale 30+ days: 35
Stale 90+ days: 33

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Detailed Description

coq.nvim is a completion engine for Neovim that prioritizes speed through native C data structures and concurrent scheduling.

The tool addresses the need for responsive code completion by combining several performance optimizations: native C in-memory B-trees for fast lookups, SQLite virtual machine interrupts, a coroutine-based scheduler that processes completions incrementally and can be interrupted, and TCP-style flow control. Results appear on every keystroke without throttling. The fuzzy search algorithm uses typo resistance with recency and proximity bonuses, applying weighted ensemble metrics to rank candidates. The tool integrates with Neovim's LSP client to provide incremental completion with client-side caching, supports multiple language servers simultaneously, handles multiple text encodings, and includes snippet expansion with linked regions. TreeSitter integration shows code context through partial document parsing that automatically disables on large files. A built-in snippet library covers most LSP and Vim grammar patterns, and users can define custom snippets with a live REPL. CTags support provides LSP-like incremental background compilation.

The tool suits developers who want completion results without perceptible latency and who value fuzzy matching that tolerates typos. It works well in projects using Neovim's native LSP client, particularly those combining multiple language servers. The README emphasizes performance as its distinguishing characteristic, noting that results appear faster than the demonstration videos suggest due to compression.

Development shows sustained focus on performance optimization, with detailed documentation of the scheduler architecture and fuzzy search metrics. The project maintains comprehensive built-in snippet coverage and actively supports multiple completion sources including LSP, TreeSitter, and CTags. Documentation addresses configuration of preview window placement, keybindings, and display options, indicating attention to user customization needs.