77 个仓库
Plugins that enhance the built-in Language Server Protocol client.
Explore 77 awesome GitHub repositories matching part of an awesome list · LSP Integration. Refine with filters or upvote what's useful.
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
Integrates the Language Server Protocol to provide IDE capabilities like go-to-definition and symbol renaming in Neovim.
This project is a configuration framework for Neovim that acts as a client for the Language Server Protocol. It bridges the gap between the text editor and external language analysis tools, enabling the integration of real-time diagnostics, intelligent code completion, and automated refactoring directly into the development environment. The framework provides a standardized interface for managing the lifecycle of external language servers as independent background processes. By utilizing a Lua-based configuration layer, it allows users to define server-specific settings and initialization opt
Standard configurations for various language servers.
RuboCop is a static code analyzer and linter for Ruby. It functions as a static analysis tool designed to detect potential bugs, identify style violations, and improve overall code quality in Ruby projects. The project provides an automated code formatter that rewrites source code to align with established community standards. It also implements a language server protocol to surface linting and formatting errors directly within text editors. Its capabilities cover automated code linting and the analysis of Ruby code style to ensure consistency across a project. These functions are driven by
Provides a Language Server Protocol implementation to integrate analysis results into text editors.
Harper is a local English linter and grammar checker designed as an IDE writing assistant. It operates as a language server that provides real-time spelling and grammar analysis for markdown and code comments, processing all linguistic data on the local device to ensure privacy and eliminate cloud dependencies. The tool is specialized for technical documentation, featuring the ability to identify and ignore text within code fences and inline blocks to prevent false positives. It allows for personalized configuration through custom dictionaries and the use of suppression comments to exclude sp
Communicates with a language server protocol to identify grammar and spelling errors and return diagnostic data.
mason.nvim is an external tool orchestrator and package manager for Neovim. It automates the installation and lifecycle management of language servers, debuggers, and formatters by acting as a client for remote tooling registries. The project functions as a security-focused installer, utilizing a security firewall to scan and block the installation of compromised or malicious packages. It synchronizes local metadata with remote registries to discover and update available development software. The system handles the full lifecycle of external binaries, including downloading, versioning, and r
Manages installation of LSP, DAP, and linting tools.
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 serv
Provides deep integration with the Language Server Protocol to offer intelligent symbol completions and signature help.
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
Integrates with the Language Server Protocol to provide navigation to definitions, references, and symbols.
Lualine.nvim is a Lua-based editor extension for Neovim that renders dynamic status, tab, and window bars. It functions as a configurable UI component used to display real-time buffer information, system context, and editor state. The plugin differentiates itself through a multi-bar rendering pipeline that independently populates the statusline, tabline, and winbar. It supports a component-based layout engine with dynamic function-based injection and condition-based visibility, allowing the interface to adjust based on window dimensions or specific filetype overrides. The project covers wide
Integrates with the Language Server Protocol to display the active language server client in the status bar.
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
Enhances the built-in LSP client with a specialized interface for navigating language server references.
Exposes syntax highlighting, autocomplete, and type-on-hover through an LSP interface.
Extends LSP capabilities to enable richer suggestions beyond default features.
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Sends arbitrary language-server RPCs and processes raw JSON responses for advanced LSP interaction.
conform.nvim is a Neovim plugin that formats code buffers using external formatters while preserving editor state such as cursor position, folds, and viewport. It supports embedded code block formatting, applying language-specific formatting rules to code blocks inside Markdown and similar documents. The plugin runs formatters asynchronously via Neovim's job control, keeping the editor responsive during formatting operations. It offers a configurable formatter selection algorithm that picks a formatter based on filetype, buffer-local variables, or custom predicate functions. Users can define
Falls back to LSP formatting when no external formatter is configured for a given file type.
todo-comments.nvim is a Neovim plugin and codebase task navigator that highlights and manages task keywords within code comments. It functions as a Lua-based highlighter and workflow extension that aggregates pending work and notes from source code into a searchable project list. The plugin provides visual tracking of task comments using custom syntax highlighting and allows for jumping between these markers within a file. It enables project-wide task management by searching for tagged comments across multiple files to organize a development roadmap.
Integrates with the Language Server Protocol and external tools to aggregate task comments across the project.
lspsaga.nvim is a Neovim LSP UI enhancement and floating window manager. It provides a visual system for presenting Language Server Protocol data through interactive overlays, serving as a code navigation tool and a refactoring interface. The project focuses on improving the interaction flow of LSP features by rendering documentation hovers, symbol definitions, and diagnostic data in floating windows. It distinguishes itself by integrating a floating window framework that also manages embedded terminal sessions for executing shell commands without leaving the editor workspace. The plugin cov
Performant UI enhancements for LSP operations.
null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
Injects diagnostics and actions via Lua.
🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim
Advanced Rust development support without extra dependencies.
An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.
Asynchronous linting complementary to LSP.
💫 Extensible UI for Neovim notifications and LSP progress messages.
Standalone UI for tracking LSP progress.
Code outline window for quick navigation.