For language server protocols, the first results are rust-lang/rust-analyzer (Rust-analyzer is a dedicated Language Server Protocol implementation that delivers deep code intelligence, static analysis, and navigation features for the Rust ecosystem, matching the requested tooling), python-lsp/python-lsp-server (This repository provides a fully featured implementation of a Language Server Protocol server with built-in support for diagnostics, auto-completion, navigation, and refactoring, matching the tooling requested) and neovim/nvim-lspconfig (This repository provides a Neovim plugin that acts as an LSP client and configuration framework for managing language servers, fitting the tooling category well despite being tied to a specific editor). kotlin/kotlin-lsp and golang/tools round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Explore open-source language server protocol repositories to implement code intelligence features across different text editors.
Rust-analyzer is a language server implementation that provides real-time code intelligence, static analysis, and development productivity tools for the Rust programming language. It functions as a backend engine that communicates with text editors to deliver deep structural understanding of source code, enabling features like semantic analysis, symbol navigation, and automated refactoring. The project distinguishes itself through a core engine designed for high-performance responsiveness, utilizing incremental query-based compilation and lazy demand-driven evaluation to minimize resource con
Rust-analyzer is a dedicated Language Server Protocol implementation that delivers deep code intelligence, static analysis, and navigation features for the Rust ecosystem, matching the requested tooling.
This repository provides a fully featured implementation of a Language Server Protocol server with built-in support for diagnostics, auto-completion, navigation, and refactoring, matching the tooling requested.
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
This repository provides a Neovim plugin that acts as an LSP client and configuration framework for managing language servers, fitting the tooling category well despite being tied to a specific editor.
kotlin-lsp is a language server implementation that integrates editors with the Kotlin compiler and build tools to provide language intelligence and code analysis. It uses the Language Server Protocol to decouple heavy language processing from the text editor user interface. The project provides static code analysis to detect issues and provide real-time diagnostics. It enables source code navigation through symbol-index based jumping to definitions and an analysis of how components interact. Additional capabilities include automated source code formatting, intelligent code completion, and s
This repository is a Language Server Protocol implementation for Kotlin that provides static analysis, diagnostics, code completion, and navigation features, making it a great fit for building or consuming language server tooling.
This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal
This official Go toolset includes a concrete Language Server Protocol server implementation providing real-time code intelligence and analysis, though it is scoped specifically to Go rather than serving as a general-purpose library for building arbitrary LSP servers.
This project is a suite of specialized tools for the implementation of a language server, template parsing, and static type validation of single-file components. It provides a language server and a type checker to deliver consistent intelligence and validation for Vue components across different editors and command-line environments. The tooling utilizes a template parser to transform single-file component structures into virtual code, enabling static analysis and type checking on HTML-like structures. This process allows for the extraction of component metadata regarding props, events, and s
This repository provides a specialized language server implementation and template parsing tooling tailored specifically for Vue single-file components, delivering diagnostics and code intelligence for the framework.
ZLS is a language server for the Zig language that implements the Language Server Protocol to provide IDE-like intelligence. It functions as a code intelligence provider, static code analysis tool, and automated refactoring engine for Zig projects. The server integrates directly with the Zig compiler toolchain to derive precise type information and perform semantic analysis. It uses this integration to surface real-time compilation errors as editor diagnostics and to provide semantic syntax highlighting based on resolved types rather than regex patterns. The project covers a wide range of de
ZLS is an LSP server implementation tailored specifically for the Zig language rather than a general-purpose library or utility for building custom LSP tools.
This project is a backend service that implements the Language Server Protocol to provide IDE-integrated intelligence for PHP development. It functions as a static analysis tool that parses source code to enable advanced editor features, including autocompletion, symbol navigation, and definition resolution. The server distinguishes itself through its ability to operate within isolated containers and remote development environments. By utilizing a virtual file system abstraction and flexible communication protocols, it maintains project-wide symbol indexing and code analysis even when files a
This repository is a PHP implementation of a Language Server Protocol backend that provides IDE intelligence features like autocompletion and symbol navigation, though it focuses specifically on the server side rather than client tooling.
RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It detects style violations, potential bugs, and code smells by scanning source code without executing the program. The tool enforces a predefined Ruby style guide by flagging deviations and automatically rewriting source code to ensure consistency across projects. It includes a language server that provides real-time analysis and formatting suggestions directly within text editors.
RuboCop includes a built-in language server and implements static analysis for Ruby, making it a fitting tool for building editor integrations and diagnostics even though its scope is strictly focused on Ruby rather than a general LSP framework.
lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen
This is a Language Server Protocol client for Emacs that connects editors to external servers for completion and diagnostics, making it a strong tool for building and consuming LSP integrations within that specific editor ecosystem.
coc.nvim is a Node.js extension host and Language Server Protocol client that transforms Vim and Neovim into a full integrated development environment. It provides a framework for executing JavaScript and TypeScript plugins within a separate process to enable advanced IDE features without blocking the editor's main thread. The project is distinguished by its ability to host extensions and language servers through a centralized JSON configuration. It supports the installation and lifecycle management of third-party extensions from registries or local files, allowing users to customize language
This repository provides a Language Server Protocol client extension for Vim and Neovim that enables full IDE features, though it focuses on client consumption rather than building standalone LSP servers from scratch.
This project is a language server implementation and code editor extension designed to provide intelligence for Svelte components. It functions as a static analysis tool that parses source code to deliver real-time feedback, automated formatting, and code navigation within development environments. The tool distinguishes itself by utilizing a virtual file system mapping that translates component files into modules, allowing standard language tools to process non-standard syntax. It integrates directly with the TypeScript compiler to perform type checking and static analysis across mixed scrip
This repository provides a concrete Language Server Protocol implementation and editor extension tailored for Svelte, covering server logic, diagnostics, and code navigation.
The Kotlin Language Server is a static code analysis tool that provides real-time intelligence for Kotlin projects. By implementing the Language Server Protocol, it enables developers to access professional-grade development features, such as code completion, diagnostics, and navigation, within any compatible text editor. The project distinguishes itself through an architecture that maintains persistent, in-memory compiler instances to facilitate rapid, incremental recompilation during active development. It supports remote hosting via TCP, allowing editors to connect to centralized analysis
This project is a dedicated Kotlin language server implementation that provides real-time code intelligence and LSP support, though it functions as a standalone server application rather than a general-purpose library for building your own LSP tools.
The Python Language Server is a backend engine that provides code intelligence, autocompletion, and diagnostics for Python projects. By implementing the standardized Language Server Protocol, it enables consistent development features such as definition navigation, signature help, and documentation lookups across various text editors and integrated development environments. The project functions as a modular framework that utilizes a plugin-based architecture to support third-party extensions. This design allows for the dynamic injection of specialized capabilities, including custom type chec
This repository provides a modular Language Server Protocol backend engine for Python with code intelligence and autocompletion, though it functions primarily as a server implementation rather than a complete client library suite.
This project is a high-performance static type checker and comprehensive development toolkit for Python. It functions as a core analysis engine that identifies type inconsistencies and enforces code correctness, while simultaneously providing a language server implementation to deliver real-time diagnostics and intelligence directly within development environments. The tool distinguishes itself through a parallelized execution engine that maximizes performance across large-scale codebases and monorepo structures. It supports gradual type adoption, allowing developers to integrate type checkin
This project is a Python type checker and development toolkit that includes a built-in language server implementation for real-time diagnostics, making it a targeted tool for LSP server capabilities even though it focuses specifically on typing rather than general LSP tooling.
This project is a Language Server Protocol implementation for PostgreSQL that provides autocompletion, syntax diagnostics, and type checking for SQL and PL/pgSQL. It functions as a database schema validator and a static analysis engine designed to detect security vulnerabilities, performance bottlenecks, and dangerous migration patterns in database scripts. The server differentiates itself by using live database connections to provide schema-aware intelligence, allowing it to verify that tables, columns, and data types actually exist. It performs static analysis on procedural functions to det
This project provides a specialized Language Server Protocol implementation tailored for PostgreSQL, offering essential features like autocompletion and diagnostics though focused squarely on SQL and PL/pgSQL.
The Language Server Protocol is a vendor-neutral communication framework that provides a standardized interface for code intelligence. It decouples language-specific analysis from the editor interface, allowing development tools to exchange structured data with external language servers to power features such as autocomplete, diagnostics, and symbol navigation. By utilizing a universal protocol schema, the framework enables cross-editor plugin development and ensures interoperability across different programming environments. It employs a capability negotiation handshake to establish a shared
This repository defines the official Language Server Protocol specification and JSON-RPC schema, serving as the foundational reference and documentation needed for building servers and clients.
Pyrefly is a static type checker for Python that operates as a language server, delivering real-time diagnostics, completions, and navigation in any editor supporting the Language Server Protocol. It also performs static tensor shape analysis, using symbolic dimension variables and arithmetic to verify shape consistency in deep learning models without runtime execution. Beyond core type checking, Pyrefly supports gradual adoption workflows: it can generate a baseline of known errors so only new issues are reported, migrate configuration from other type checkers, and automatically suppress exi
Pyrefly implements a language server for Python providing real-time diagnostics, completions, and navigation, though it focuses specifically on type checking and tensor shape analysis rather than offering a general-purpose library for building arbitrary LSP servers.
The Haskell Language Server is an implementation of the Language Server Protocol that provides real-time diagnostics, code navigation, and refactoring support for Haskell projects. It functions as a backend service that enables advanced editing capabilities within standard text editors by facilitating communication between the development environment and the Haskell compiler. The project distinguishes itself through a modular, plugin-based architecture that allows for the integration of independent components for specific language features. It leverages the host compiler as a library to perfo
This repository provides a concrete Language Server Protocol server implementation specifically for Haskell, delivering diagnostics, navigation, and refactoring, though it is focused on a single language rather than being a generic utility library for building custom LSPs.
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
RuboCop is primarily a Ruby linter and static code analyzer, but it directly implements the Language Server Protocol to provide diagnostics and formatting within text editors.
Nix language server, based on nix libraries maintainer=@inclyc,@takeokunn,@Aleksanaa
This repository provides a concrete Language Server Protocol implementation specifically tailored for the Nix language, offering server-side capabilities though it does not provide client libraries or general-purpose parsing toolkits.
Phan is a static analyzer and type checker for PHP that identifies bugs and type incompatibilities without executing the code. It serves as a quality gate for continuous integration pipelines and a tool for verifying type safety, specifically checking union types, generics, and array shapes. The project is distinguished by its use of a background daemon and Language Server Protocol implementation, which provide real-time diagnostics and navigation within editors. It also features a baseline-based suppression system that allows developers to record existing errors in a snapshot file to focus e
Phan is primarily a static analyzer and type checker for PHP, but it includes built-in Language Server Protocol support for real-time editor diagnostics and navigation, aligning well with your search for LSP implementations.
The YAML Language Server is a backend service that provides intelligent editing support for YAML files by implementing the Language Server Protocol. It functions as a validation and analysis engine, enabling code editors to offer real-time diagnostics, structural feedback, and automated assistance for configuration-heavy development workflows. The project distinguishes itself through its schema-driven approach to data integrity, utilizing a JSON Schema validation engine to verify document structure against formal definitions. It supports complex configuration management by allowing developers
This repository provides a dedicated Language Server Protocol implementation tailored for YAML files, offering diagnostics and structural analysis, though it focuses specifically on YAML rather than serving as a general-purpose LSP building library.
A Java language server based on v3.0 of the protocol and implemented using the Java compiler API.
This repository provides a Java language server that implements the protocol using compiler APIs, which fits the search for LSP server implementations even though it is limited to a single language and lacks a client library.
SQL Language Server
This repository provides a complete SQL Language Server implementation for building and consuming LSP tooling, though it focuses specifically on SQL rather than acting as a general-purpose LSP framework.
A language server for Bash
This TypeScript repository provides a language server specifically for Bash, which implements the core protocol for shell script development even though it lacks a broader general-purpose LSP framework or client library.
Language server implementation for Elm
This repository provides a Language Server Protocol implementation specifically tailored for Elm, making it a solid tool for the category though limited to a single language ecosystem.
CMake LSP Implementation
This repository is a specific Language Server Protocol implementation for CMake that provides language intelligence for the build system, though it is focused entirely on CMake rather than serving as a general-purpose library for building arbitrary servers and clients.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| rust-lang/rust-analyzer | 16.6K | Rust | Apache-2.0 | |
| python-lsp/python-lsp-server | 2.6K | Python | MIT | |
| 13.4K |
| Lua |
| apache-2.0 |
| kotlin/kotlin-lsp | 2.9K | Kotlin | apache-2.0 |
| golang/tools | 8K | Go | BSD-3-Clause |
| vuejs/language-tools | 6.7K | TypeScript | MIT |
| zigtools/zls | 5K | Zig | MIT |
| felixfbecker/php-language-server | 1.2K | PHP | ISC |
| rubocop-hq/rubocop | 12.9K | Ruby | MIT |
| emacs-lsp/lsp-mode | 5.1K | Emacs Lisp | gpl-3.0 |