For a language server protocol implementation for code intelligence, the strongest matches are vuejs/language-tools (Vue's language-tools is a specialized framework implementing a language), python-lsp/python-lsp-server (This is a Python-specific language server, not a general) and kotlin/kotlin-lsp (kotlin-lsp is a full language server for Kotlin that). rust-lang/rust-analyzer and astral-sh/ruff round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Open-source language servers providing IDE-agnostic code intelligence, autocompletion, and static analysis for various programming languages.
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
Vue's language-tools is a specialized framework implementing a language server for Vue single-file components, delivering LSP-based code intelligence (completion, diagnostics, type checking) — it fits as a language server implementation, though its scope is limited to Vue rather than providing multi-language support.
This is a Python-specific language server, not a general framework for implementing LSP support across multiple languages, so it provides code intelligence only for Python rather than the multi-language framework you are seeking.
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
kotlin-lsp is a full language server for Kotlin that uses the Language Server Protocol to provide code completion, diagnostics, and navigation, but it is a specific implementation for one language rather than a general-purpose library or framework for building language servers across multiple languages.
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 full language server for Rust, not a general-purpose library or framework you would use to build LSP implementations for multiple languages, so while it implements the protocol well for one language, it doesn't match the request for a reusable component.
Ruff is a high-performance static analysis and code formatting tool designed for Python. Built in Rust, it functions as a comprehensive engine that scans source code to detect programming errors, security vulnerabilities, and deviations from established coding standards. By parsing source code into a structured tree representation, it provides both automated linting and style enforcement across entire projects. The tool distinguishes itself through its speed and deep integration into the development lifecycle. It utilizes parallelized file processing to maximize throughput on large codebases
Ruff is a high-performance Python linter and code formatter, not a Language Server Protocol implementation framework, so it does not serve as a library for building LSP-based code intelligence features across editors.
The IntelliJ Platform is a modular framework designed for building desktop integrated development environments. It provides the core infrastructure necessary to create specialized coding tools, including a virtual file system for tracking project sources, a text editor, and a cross-platform graphical user interface framework. The platform distinguishes itself through a component-based architecture that allows developers to extend core application behavior via independent functional units. It supports the creation of custom development environments by integrating language analysis logic, enabl
The IntelliJ Platform is a framework for building desktop IDEs rather than a library or framework focused on implementing the Language Server Protocol itself, so it does not squarely match the search for a reusable LSP implementation tool.
RLS is a language server that provides language intelligence for the Rust programming language. It implements the Language Server Protocol to enable a standardized communication layer between the Rust compiler and various editor clients. The project focuses on providing real-time code completions, symbol navigation, and type information. It also supports automated structural changes, such as workspace-wide symbol renaming, to maintain semantic correctness during refactoring. The system incorporates static code analysis for linting and formatting, alongside a mechanism for incremental compila
RLS is a language server for Rust that implements the Language Server Protocol and provides completion, navigation, and diagnostics, but it is a single-language tool rather than a reusable library or framework for building LSP servers for multiple languages as you requested.
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 is a Ruby-specific linter and formatter that happens to include a Language Server Protocol implementation, but it is a concrete tool, not a framework for building language servers across multiple languages as your search requires.
This repository contains a collection of code examples that demonstrate how to build extensions for Visual Studio Code using its extension API. The samples cover the core patterns for extending the editor, including implementing code actions, completions, snippets, and semantic token highlighting. The examples show how to integrate a language server to provide diagnostics, completions, and hover information, as well as how to register a source control provider with file status and commit operations. Custom task types that run shell commands or scripts are also demonstrated, along with virtual
This repository is a collection of extension code samples for Visual Studio Code, not a reusable library or framework that implements the Language Server Protocol; while it demonstrates how to integrate a language server, it does not provide a standalone LSP implementation for building code intelligence in editors.
Ale is an asynchronous code analysis tool and integrated development environment plugin designed for lightweight text editors. It functions as a language server protocol client, enabling real-time code intelligence and diagnostic feedback by running analysis tasks in the background to ensure the editor interface remains responsive during intensive operations. The plugin utilizes an event-driven architecture to monitor text buffers and trigger linting or formatting routines automatically. It distinguishes itself through a modular extensibility framework that supports a wide range of language-s
ALE is an LSP client plugin for Vim/Neovim, not a library or framework for implementing the Language Server Protocol server-side, so it does not directly match the search for a protocol implementation tool.
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
Ty is a static type checker for Python that includes a language server for that language, but it is not a general-purpose library or framework for building LSP servers across multiple languages.
YouCompleteMe is a completion engine and semantic code analyzer for the Vim editor. It provides an integrated suite of development tools, including a Language Server Protocol client and a semantic analyzer that utilizes Clang to offer context-aware symbols and type-based highlighting. The project distinguishes itself through specialized semantic completion for C-family languages and JavaScript, offering identifiers, snippets, and automatic imports. It provides advanced visual feedback such as inlay hints for type information and parameter names, as well as semantic highlighting based on the a
YouCompleteMe is a Vim plugin that acts as an LSP client, not a framework for implementing language servers; it provides code intelligence but is a specific editor integration rather than a reusable protocol library.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| vuejs/language-tools | 6.7K | TypeScript | MIT | |
| python-lsp/python-lsp-server | 2.6K | Python | MIT | |
| kotlin/kotlin-lsp | 2.9K | Kotlin | apache-2.0 | |
| rust-lang/rust-analyzer | 16.6K | Rust | Apache-2.0 | |
| astral-sh/ruff | 48.2K | Rust | MIT | |
| jetbrains/intellij-community | 19.7K | Java | apache-2.0 | |
| rust-lang/rls | 3.5K | Rust | other | |
| rubocop-hq/rubocop | 12.9K | Ruby | MIT | |
| microsoft/vscode-extension-samples | 10.1K | TypeScript | MIT | |
| dense-analysis/ale | 14K | Vim Script | bsd-2-clause |