prabirshrestha/vim-lsp

async language server protocol plugin for vim and neovim

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 19 minutes ago
Type:Plugin / ExtensionCategory(s):Editors & IDEsDeveloper Tools
Added to GitGenius on September 20th, 2026
Created on November 6th, 2016
Open Issues & Pull Requests: 77 (+1)
GitHub issues: Enabled
Number of forks: 325
Total Stargazers: 3,418 (+0)
Total Subscribers: 46 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 59
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 691 days
Stale 30+ days: 57
Stale 90+ days: 54

Recent activity

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

Top labels

  • wontfix (31)

Detailed Description

vim-lsp is an async Language Server Protocol plugin for Vim 8 and Neovim.

The plugin solves the problem of integrating language server capabilities into Vim without blocking the editor during server communication. It works by implementing the Language Server Protocol asynchronously, with performance-critical bottlenecks written in Lua to avoid slowdowns in Vim script. The tool requires Vim compiled with Lua support or Neovim 0.4.0 and later to take advantage of these optimizations.

Developers should choose this tool if they want LSP support in Vim or Neovim without the overhead of heavier editor frameworks. It suits projects where users prefer a lightweight, composable approach to editor features. The plugin itself handles core LSP functionality like diagnostics, code navigation, and folding, but deliberately does not include snippet support by default; instead, users can integrate their choice of snippet engine through separate plugins like vim-vsnip, UltiSnips, or neosnippet.vim. For simplified server setup, the README points to vim-lsp-settings as a companion tool. Auto-completion integrates with omnifunc or asyncomplete.vim. The tool also supports semantic highlighting through an unofficial LSP extension, available on Neovim or Vim with the textprop feature.

The project maintains active community engagement through a Gitter channel. Development follows a modular philosophy where core functionality is kept minimal and users compose additional features through separate plugins rather than bundling them. The codebase balances Vim script with Lua to optimize performance where it matters most.