30 open-source projects similar to python-lsp/python-lsp-server, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Python Lsp Server alternative.
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
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi
This project is a Go language extension for VS Code that provides a comprehensive development environment through a language server client, a debugging interface, and a test automation runner. It integrates language intelligence, formatting, and debugging capabilities to support the full Go language development lifecycle. The extension distinguishes itself by managing the Go toolchain, including the installation and configuration of external binaries required for language features. It also features a dedicated test automation interface that allows for the generation of unit test skeletons and
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
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 dis
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 project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma
This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c
sourcekit-lsp is a language server protocol implementation and IDE code intelligence backend. It functions as a Swift language server and source code indexer, providing semantic analysis, autocomplete, and navigation features to compatible text editors. The project integrates directly with the Swift toolchain and SourceKit framework to deliver precise type information. It also leverages Clang-integrated parsing to provide semantic analysis for C-family languages, enabling cross-language navigation across project files. The server manages source code indexing and symbol lookups while using a
SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It automatically applies consistent style rules and visual formatting to source files to ensure a uniform appearance across a project. The project differentiates itself by providing both a command-line interface for batch processing and an Xcode extension for integration directly into the development environment. It includes specialized capabilities for modernizing legacy API usage, simplifying language constructs, and inferring formatting options by analyzing an existing codebase
SublimeCodeIntel is a code intelligence plugin for the Sublime Text editor that provides symbol-based navigation, autocomplete, and function tooltips. It functions as an IDE feature extension and static code analysis engine, using a cross-language symbol indexer to track definitions across multiple files. The system implements static analysis tooling to map definitions and references without executing program code. This enables users to jump to symbol definitions across an entire project and receive real-time suggestions for modules and symbols while typing. The toolset covers broad capabili
The C/C++ extension for Visual Studio Code provides language support for C and C++ programming, including IntelliSense-powered code editing, navigation, and debugging capabilities. It enables syntax highlighting, code completion, hover information, and error checking for C and C++ source files, along with features like semantic colorization, symbol search, and call hierarchy exploration. The extension offers comprehensive debugging support for C/C++ programs, including launching debug sessions with breakpoints, stepping through code, and inspecting variables. It supports debugging multi-threa
Credo is a static analysis tool and linter for Elixir. It functions as a code quality analyzer that scans source code to identify stylistic inconsistencies, common mistakes, and potential security vulnerabilities. The tool provides a customizable framework for defining and testing specialized rules to enforce project-specific coding standards. It identifies complex code fragments and duplication to highlight opportunities for refactoring and simplification. Its capabilities cover automated code reviews, the enforcement of Elixir coding standards, and real-time developer feedback through edit
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
gocode is a language server backend and autocompletion daemon for the Go language. It functions as a static code analyzer and symbol indexer that provides real-time identifier and symbol suggestions to text editors. The project utilizes a client-server daemon architecture to maintain a persistent background process, avoiding the overhead of reloading package metadata for every request. It employs a two-tier metadata caching system and parses compiled package binaries to enable fast symbol lookups and declaration retrieval. The system covers broad capability areas including context-sensitive
Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language server that provides semantic intelligence by parsing source code into abstract syntax trees to infer types and resolve symbols without requiring manual type annotations. The engine distinguishes itself through the use of JSON-based type definitions, which allow it to describe library signatures and external dependencies without needing the original source code. It also features a plugin system that enables the extension of server functionality to support custom loaders or framewo
LiteIDE is a cross-platform integrated development environment designed for writing, compiling, and debugging Go source code. It functions as both a code editor with syntax highlighting and a build tool orchestrator that manages toolchains, environment profiles, and cross-compilation targets. The environment is modular and extensible, supporting third-party plugins and custom keyboard mapping to tailor the coding workflow. It provides an integrated interface for external debuggers to inspect program execution and state. The platform covers a broad range of development capabilities, including
CodeMirror is a browser-based code editor framework and modular extension system used to embed full-featured text editors into web pages. It functions as a syntax tree parsing engine and a language server protocol client, enabling structural language analysis and deep integration with external programming language services. The project is distinguished by its modular architecture, which uses a system of extensions and compartments for dynamic reconfiguration at runtime. It supports real-time collaborative editing and state synchronization through an operational transformation framework, allow
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 project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
This project is a static analysis tool and linter for Ruby on Rails designed to identify architectural smells and violations of best practices. It serves as a code quality linter, architectural auditor, security scanner, and performance analyzer for Rails applications. The tool evaluates the separation of concerns between controllers, models, and view templates to reduce technical debt. It identifies suboptimal coding patterns and enforces stylistic consistency, while specifically scanning for security vulnerabilities such as unprotected mass assignment in models. The analysis surface covers
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
Mago is a PHP static analysis tool, linter, and code formatter. It detects type errors, dead code, and logic bugs through advanced type inference and flow analysis, while providing a deterministic engine to rewrite source files according to style guides. The project distinguishes itself with a WebAssembly runtime that enables PHP analysis to execute entirely within a web browser, allowing results to be shared via URL. It also provides a minimal Dockerized toolchain distributed as a scratch image for consistent execution across different processor architectures. The toolset covers architectur
This project is a language extension for VS Code that provides comprehensive Go language support. It functions as a language server client, a debugger interface, and a toolchain manager to facilitate Go application development. The extension distinguishes itself by integrating a full suite of toolchain management capabilities, allowing for the installation and configuration of required binaries, linters, and compiler versions directly within the editor. It also provides deep integration for interactive debugging via Delve, supporting remote target debugging, process attachment, and program st
vimplus is a Vim configuration framework and IDE distribution that provides a set of pre-configured settings and a plugin management system. It functions as a curated collection of tools designed to standardize the development environment. The project distinguishes itself through multiple deployment methods, including a bash-based editor provisioner for multi-user configuration and a pre-configured Ubuntu-based container image for immediate environment provisioning without manual installation. The framework covers a broad range of editor capabilities, including symbol navigation, project-wid
Flow is a JavaScript static type checker and AST parser that identifies type errors and prevents runtime failures through static annotations. It functions as a code intelligence engine and a static analysis linter to identify unsafe coding patterns and enforce consistency across a codebase. The project includes a type annotation stripper that removes static type signatures from source code, ensuring the resulting JavaScript is compatible with any runtime environment. It also provides a parser that converts typed JavaScript into an abstract syntax tree conforming to the ESTree specification.
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
This project is a curated configuration suite and development environment bootstrapper designed to optimize Zsh and Vim. It provides a collection of dotfiles, plugins, and scripts that automate the installation of system packages and shell tools to standardize a local workstation. The suite focuses on creating a consistent experience across the command line and text editor. It implements a Zsh shell framework with syntax highlighting and fuzzy matching, alongside a Vim configuration that includes advanced plugins and modal editing. It also provides a set of sane defaults and Vim-style keybind
Rubberduck is a development environment extension designed for legacy Visual Basic and Visual Basic for Applications projects. It functions as a comprehensive suite that integrates directly into the host editor to provide static code analysis, automated refactoring, and project management capabilities. The tool distinguishes itself by implementing a formal grammar-based parsing engine that transforms source code into a structured abstract syntax tree. This allows for deep static analysis, enabling the identification of defects and style inconsistencies. It further supports development workflo