# prabirshrestha/vim-lsp

**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/prabirshrestha-vim-lsp).**

3,368 stars · 320 forks · Vim Script · mit

## Links

- GitHub: https://github.com/prabirshrestha/vim-lsp
- awesome-repositories: https://awesome-repositories.com/repository/prabirshrestha-vim-lsp.md

## Topics

`async` `asyncomplete` `language-server-protocol` `neovim` `vim` `vim-lsp` `vim8`

## Description

vim-lsp is a Vim plugin that implements the Language Server Protocol to provide an asynchronous code intelligence tool for the editor. It serves as a bridge between Vim and external language servers, providing semantic code analysis and IDE-like navigation and diagnostics.

The project provides a refactoring interface for renaming symbols across a workspace and applying quick-fixes. It also enables semantic highlighting, which color-codes elements based on their meaning as determined by the language server.

The plugin covers a broad surface of capabilities, including symbol navigation and discovery, static code analysis for identifying syntax errors and warnings, and automated code formatting. It also manages structural code folding and symbol reference tracking.

## Tags

### Development Tools & Productivity

- [Language Server Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations.md) — Implements the Language Server Protocol to provide IDE-agnostic code intelligence within Vim. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/vim-plugins.md) — Integrates external language servers into the Vim editor to provide IDE-like intelligence.
- [Code Intelligence](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-intelligence.md) — Provides asynchronous contextual code suggestions, navigation, and analysis without blocking the editor.
- [Static Code Analysis](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-code-analysis.md) — Performs static analysis to identify syntax errors and warnings via external language servers.
- [Code Refactoring Tools](https://awesome-repositories.com/f/development-tools-productivity/code-refactoring-tools.md) — Provides tools for renaming symbols across the workspace and applying quick-fix actions. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))
- [Vimscript Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-clients/vimscript-implementations.md) — Implements the Language Server Protocol logic using the editor's native Vimscript language.
- [Semantic Diagnostics](https://awesome-repositories.com/f/development-tools-productivity/real-time-code-diagnostics/semantic-diagnostics.md) — Provides real-time diagnostics, warnings, and structural analysis by leveraging external language servers.
- [Symbol Navigation](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation.md) — Enables jumping to definitions, declarations, and implementations of symbols within the codebase. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins.md) — Provides an extension for the Vim editor that integrates external language servers for enhanced code intelligence.
- [UI Push Updates](https://awesome-repositories.com/f/development-tools-productivity/configuration-updates/real-time-push-updates/ui-push-updates.md) — Automatically updates UI markers and error lists when the server pushes diagnostic notifications.
- [Hover Information Displays](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation/hover-information-displays.md) — Displays hover documentation, symbol types, and hierarchies for the symbol under the cursor. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))

### Part of an Awesome List

- [Code Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting.md) — Automates code formatting and style enforcement using language server capabilities.

### Networking & Communication

- [Editor LSP JSON-RPC Clients](https://awesome-repositories.com/f/networking-communication/json-rpc-implementations/editor-lsp-json-rpc-clients.md) — Uses JSON-RPC over system pipes for asynchronous communication between the editor and language servers.

### Programming Languages & Runtimes

- [Source Code Formatters](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-formatters.md) — Automatically reformats source code to adhere to consistent style guidelines via the language server. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))

### System Administration & Monitoring

- [Development Diagnostics](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/diagnostic-error-reporting/development-diagnostics.md) — Identifies and navigates through real-time syntax errors, warnings, and hints provided by the server. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))

### Software Engineering & Architecture

- [Asynchronous Process Managers](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-process-managers.md) — Manages external server processes asynchronously to ensure the editor remains responsive during code analysis.
- [Buffer State Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/buffer-state-synchronization.md) — Synchronizes text buffers and cursor positions between the Vim editor and the language server.
- [Codebase Symbol References](https://awesome-repositories.com/f/software-engineering-architecture/codebase-symbol-references.md) — Locates all occurrences of a symbol across the workspace to track its usage. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))

### User Interface & Experience

- [Semantic Highlighters](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/styling-markup/code-highlighting/semantic-highlighters.md) — Applies visual styling to code based on semantic analysis of symbols and types provided by the language server. ([source](https://cdn.jsdelivr.net/gh/prabirshrestha/vim-lsp@master/README.md))
