thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: #lsp-server
astral-sh/ruff ★ 49808 2445 APPLICATION

This repository contains the Ruff Python linter and formatter, along with the Ty Python type checker, both written in Rust. It is a monolith of several dozen crates assembled into a workspace, delivering a CLI tool, a Language Server Protocol (LSP) server, and a web playground. In production, Ruff analyzes Python source files against hundreds of lint rules from flake8, pylint, pyupgrade, and other plugins, formats code to be compatible with Black, and provides IDE features via LSP. Ty adds type checking and advanced IDE features like goto-definition and workspace symbols. The architecture is modular: a parser produces an AST, semantic analysis operates on that AST, lint rules are checked via pluggable visitors, formatting is done through an IR-based printer, and diagnostics are rendered in multiple formats (JSON, JUnit, SARIF, etc.). The LSP server reuses many of these components through a Salsa-based incremental database for caching. The repository is a model of how to structure a high-performance developer tool in Rust, with extensive test fixtures, fuzzing, and benchmarks. While primarily an application, it includes some data-like assets (test fixture corpora, ecosystem check scripts) but nothing that would classify it as a data research project.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
Piebald-AI/claude-code-lsps ★ 521 60 APPLICATION

This repository is a Claude Code marketplace providing Language Server Protocol (LSP) plugins for enhanced code intelligence. It contains self-contained plugin directories for over 30 programming languages, each with plugin.json metadata and .lsp.json LSP configuration files. The repository includes validation and synchronization scripts that ensure consistency between plugin definitions and the marketplace manifest (.claude-plugin/marketplace.json). When installed through Claude Code's plugin system, these plugins enable features like go-to-definition, find-references, hover info, and symbol search for respective languages.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
kdl-org/kdl-rs ★ 518 72 APPLICATION

This is a Rust library (`kdl`) for parsing, manipulating, and serializing the KDL Document Language. It provides a fully round-trip-preserving parser (formatting, whitespace, comments) supporting both KDL v2 and, optionally, v1. The library exposes a rich AST (`KdlDocument`, `KdlNode`, `KdlEntry`, `KdlIdentifier`, `KdlValue`) with builder patterns and formatting configuration. It integrates with `serde` for deserializing/serializing Rust types from/to KDL, using a well-documented mapping convention (e.g., `#args`, `#rest`, property renames via `#@`). Error handling is implemented via `miette` for rich diagnostics. The repository also includes a language server (`kdl-lsp`) based on `tower-lsp` that provides diagnostics for KDL files, though incomplete. Comprehensive compliance tests (hundreds of input/expected KDL files) ensure spec adherence. The architecture is a single library crate with optional serde support, a separate v1 fallback crate, and an LSP tool. The core parser uses `winnow` with error recovery. Dead code from a disabled KQL query engine exists, and serde support is marked experimental, indicating some technical drift. Overall, it's a high-quality, professionally engineered library with excellent test coverage and well-thought-out abstractions.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
zigtools/zls ★ 5252 461 APPLICATION

ZLS (Zig Language Server) is a comprehensive implementation of the Language Server Protocol (LSP) for the Zig programming language. Written entirely in Zig, it provides rich IDE features including code completion, go-to-definition, hover information, semantic tokens, inlay hints, code actions, diagnostics, document symbols, folding ranges, signature help, and workspace symbol search. The server integrates with Zig's build system via the Build System Protocol (BSP) and can run `zig ast-check` for diagnostics, or use its own built-in semantic analysis engine. Architecturally, ZLS is a monolithic LSP server with a modular design. The core `Server` struct manages workspaces, document stores (`DocumentStore`), configuration (`Config`), and dispatches requests to feature modules under `src/features/`. The `Analyser` struct in `src/analysis.zig` provides type inference and symbol resolution using an `InternPool` for deduplicated type/value storage. A newer analysis backend under `src/analyser/` (InternPool, StringPool, degibberish) is partly implemented but not yet fully integrated. The test suite is extensive, with over 9,000 lines of completion tests alone, using a custom testing framework and placeholder-based assertions. Key dependencies include `known-folders` for platform-specific directory discovery, `diffz` for text diffing, `lsp_kit` for LSP protocol types, and `tracy` for profiling. The build system is managed via `build.zig` with dependency definitions in `build.zig.zon`. ZLS is highly configurable through a JSON configuration file, with options for snippets, inlay hints, build-on-save, and more. It is actively maintained, targets Zig master, and has a strong focus on correctness and performance, though some areas (like generic resolution and combinatorial types) remain heuristic-based.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
MadAppGang/dingo ★ 1912 39 APPLICATION

Dingo is a source-to-source transpiler for a custom language that extends Go with Rust-inspired features like sum types (enums), pattern matching, error propagation (`?`), safe navigation (`?.`), null coalescing (`??`), lambdas, tuples, and functional utilities (Option/Result). The transpiled output is clean, idiomatic Go with zero runtime overhead. The repository includes a full CLI tool (`dingo`) with build, run, fmt, lint, and update commands, as well as a language server (`dingo-lsp`) that wraps gopls as a proxy and uses source maps (`.dmap` binary format) for position translation. Editor integrations cover VS Code, Neovim, and JetBrains. The codebase is organized as a monolith with a modular plugin architecture for AST transformations. While actively developed and containing several well-crafted reusable components (source map binary format, error formatting with carets and suggestions, concurrent type cache, animated terminal mascot), the project shows signs of architectural fragmentation: duplicate parser implementations, a legacy preprocessor coexisting with a newer AST pipeline, multiple skipped tests, and known incomplete features tracked in TODOs. The scope is ambitious — many language features are implemented but the overall coherence suffers from incremental AI-assisted development patterns visible in the extensive ai-docs archive.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
microsoft/vscode-black-formatter ★ 196 49 APPLICATION

This repository is the official Microsoft Visual Studio Code extension for the Black Python code formatter. It provides formatting support for Python files directly within VS Code, including full-document, range, and multi-range formatting, as well as notebook cell formatting. The architecture follows a client-server LSP pattern: a TypeScript extension (client) communicates via stdio or named pipe with a Python LSP server that invokes Black. The server is built on pygls and lsprotocol, with a shared infrastructure library (`@vscode/common-python-lsp`) for common LSP utilities. The extension bundles Black as a dependency and supports flexible configuration (custom paths, interpreters, arguments). It includes comprehensive unit and integration tests for both TypeScript and Python components, with test fixtures covering edge cases like unformatted/formatted pairs, notebook scenarios, and internationalization. While the implementation is solid and follows established patterns for VS Code formatter extensions, it relies heavily on a shared submodule and has some minor version inconsistencies (e.g., outdated minimum version constant in the server code). The project is under active development (pre-release status) with automated CI/CD, dependency management via Dependabot, and AI-assisted workflows for issue triage and template synchronization.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: