31 dépôts
Implementations of the Language Server Protocol for editor communication.
Distinguishing note: Focuses on LSP-based integration rather than native editor plugins.
Explore 31 awesome GitHub repositories matching development tools & productivity · Language Server Protocols. Refine with filters or upvote what's useful.
Zig is a general-purpose systems programming language designed for high-performance applications that require manual memory management and direct control over hardware resources. It prioritizes predictable execution by enforcing explicit control flow and requiring functions to accept explicit memory allocators, ensuring that all heap operations and logic paths remain visible to the developer. The language distinguishes itself through a powerful compile-time metaprogramming engine that allows for arbitrary code execution during the build process, enabling advanced reflection and the generation
Provides standardized editor integration for code analysis, syntax highlighting, and intelligent completion features.
Ce projet est un formateur de code déterministe et sans compromis pour Python. Il fonctionne en analysant le code source dans un arbre de syntaxe abstraite et en le régénérant selon un ensemble rigide et opinionné de règles de style. En automatisant le processus de formatage, il élimine les débats manuels sur le style et la surcharge de configuration, garantissant que le code reste cohérent sur l'ensemble des projets, indépendamment de l'entrée originale. L'outil se distingue par son accent sur la vitesse et l'intégration transparente dans les flux de travail de développement. Il utilise la mise en cache de fichiers basée sur le contenu et le traitement parallèle pour maintenir des performances élevées sur de grandes bases de code, tout en prenant en charge les hooks de contrôle de version pour appliquer la cohérence du style avant que le code ne soit validé. Pour préserver l'historique du projet, il fournit des mécanismes pour ignorer des commits spécifiques dans le suivi des auteurs du contrôle de version, garantissant que les changements de style automatisés n'obscurcissent pas la paternité originale. Au-delà des fichiers sources standard, le formateur étend ses capacités pour inclure les notebooks Jupyter, les stubs de type et les exemples de code intégrés dans la documentation. Il offre une large compatibilité via des plugins pour les principaux éditeurs de texte et environnements de développement intégrés, ainsi qu'un support pour le protocole de serveur de langage. La configuration est gérée via des fichiers au niveau du projet qui sont automatiquement découverts dans la hiérarchie des répertoires, permettant un comportement cohérent sur divers environnements de développement.
Connects code editors to formatting tools using standard protocols.
LazyVim is a modular configuration framework and distribution for Neovim that transforms a base text editor into a comprehensive integrated development environment. It provides a structured system for managing, loading, and orchestrating editor extensions using Lua, designed to standardize professional development workflows through a curated collection of settings and plugins. The project distinguishes itself through a focus on performance and stability, utilizing deferred plugin initialization to minimize startup latency and resource consumption. Its architecture relies on a directory-based
Integrates the Language Server Protocol to provide standardized code intelligence and diagnostics across multiple languages.
Biome is a unified developer tooling suite that provides code formatting, linting, and static analysis for JavaScript and TypeScript projects. It functions as a command-line interface designed to automate the maintenance of code quality and style consistency throughout the development lifecycle. The tool distinguishes itself through a high-performance engine built in Rust, which utilizes a single-pass abstract syntax tree to perform formatting and linting simultaneously. By leveraging parallel multi-threaded execution and incremental file system caching, it minimizes latency during analysis t
Provides real-time feedback and diagnostic data to development environments via the Language Server Protocol.
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
Provides a standardized communication interface that decouples language analysis logic from the editor to support multi-language code intelligence.
GraphiQL is an interactive browser-based integrated development environment for writing, testing, and documenting GraphQL queries and mutations. It functions as a code editor, an API exploration tool, and a schema explorer, providing a visual interface for browsing GraphQL types and fields. The project provides a language server that delivers schema-driven autocompletion, linting, and validation via the Language Server Protocol. It allows for the embedding of high-performance editors into external projects and supports the injection of custom tools and components through a sidebar plugin API.
Implements the Language Server Protocol to deliver diagnostics and autocompletion for GraphQL files.
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
Implements the Language Server Protocol to provide editor-agnostic code intelligence and structural analysis.
AstroNvim is a modular Neovim distribution that functions as a comprehensive development environment. It provides a pre-configured framework for managing editor settings, plugin ecosystems, and language server integrations, effectively transforming a base text editor into a full-featured integrated development environment. The project distinguishes itself through a highly customizable Lua-based architecture that emphasizes modularity and performance. It enables users to manage complex editor configurations through a centralized, declarative system that supports lazy loading, community-maintai
Configures and manages language server protocol utilities for enhanced development workflows.
This project is a research-oriented repository that serves as a centralized database for system-level prompts and internal behavioral instructions extracted from various large language models. Its primary purpose is to provide a transparent, accessible reference for researchers and developers to study how artificial intelligence models are configured, constrained, and governed. The repository distinguishes itself by cataloging the hidden directives and operational guidelines that define model personas and safety boundaries. By archiving these instruction sets, it enables comparative analysis
Communicates with language servers to provide deep code analysis and diagnostic feedback for development tasks.
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
Integrates with language servers to provide real-time code intelligence and semantic analysis.
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
Implements the Language Server Protocol to communicate linting errors to an IDE-agnostic editor.
RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It identifies style violations, smells, and errors in source code to ensure consistency and maintainability based on community guidelines. The project provides automatic source code formatting to rewrite files according to defined stylistic standards. It also functions as a language server protocol implementation, surfacing violations and suggested fixes directly within code editors. The tool covers code complexity monitoring to track the size of classes and methods and employs non-inclusive language detection to
Implements the Language Server Protocol to communicate analysis results and suggested fixes to editors in real-time.
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.
Provides a standardized JSON-RPC interface to communicate analysis results to external editors.
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
Provides examples showing how to connect a language server to provide diagnostics, completions, and hover information.
This project is a Rust-based AI agent framework and tool orchestrator that provides a command-line interface for interacting with large language models. It functions as an AI tool orchestrator that routes client requests to language servers and manages the planning and handoffs between specialized agents to solve complex tasks. The system distinguishes itself as a language porting validator, using deterministic mocks and specifications to verify feature parity between different language implementations of a codebase. It further extends agent capabilities by acting as a Model Context Protocol
Directs requests for symbols and definitions through a stateful registry to ensure accurate responses from language servers.
CopilotForXcode is an AI-powered coding assistant integrated directly into Xcode as a source editor extension. It functions as an agent that can automate multi-step project tasks, such as editing files, running terminal commands, and searching across the entire codebase, all while understanding the full context of the current Xcode project. The assistant provides a context-aware chat interface that answers coding questions based on open files, symbols, and recent edits. It also offers diff-based code review, analyzing changes to provide feedback on code quality and potential issues before mer
Communicates with a language server using LSP to provide real-time code completions, diagnostics, and context-aware suggestions for Swift and Objective-C.
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
Runs multiple LSP servers per language for goto, references, hover, and format-on-save.
QOwnNotes is a desktop note editor that stores each note as a plain-text Markdown file on the local filesystem, avoiding proprietary formats and enabling direct file access. It functions as a Nextcloud Notes client, syncing notes and metadata with Nextcloud or ownCloud servers through a companion API service for versioning and sharing. The application also integrates with AI providers and exposes a local MCP server for external agents to search and fetch notes, and includes a companion browser extension for capturing web content, bookmarks, and screenshots. The editor distinguishes itself thr
Connects to external language servers for grammar checking, Markdown linting, and code completions.
TFLint est un outil d'analyse statique et un validateur d'infrastructure-en-tant-que-code conçu pour identifier les erreurs et appliquer les meilleures pratiques au sein des fichiers de configuration Terraform. Il fonctionne comme une porte de qualité pour les flux de travail automatisés et un serveur de langage qui fournit des diagnostics en temps réel et des erreurs de linting directement au sein des éditeurs de texte pris en charge. Le projet utilise un framework de plugin gRPC qui permet l'intégration de règles de validation spécifiques au fournisseur personnalisées via des binaires indépendants et un SDK dédié. Cette architecture sépare la logique de linting de base de la validation spécifique au cloud, prenant en charge l'installation automatisée d'ensembles de règles externes pour vérifier les propriétés des ressources par rapport aux spécifications officielles. Le moteur d'analyse résout les valeurs de configuration et évalue les fonctions intégrées, développant les blocs dynamiques et les collections de ressources pour inspecter la structure finale instanciée. Il couvre l'application des normes de codage, l'analyse des appels de module et la détection des attributs de ressource invalides, avec la possibilité d'exporter des résultats structurés dans des formats tels que SARIF. L'outil inclut une interface en ligne de commande pour le filtrage des cibles d'analyse et fournit une correction automatique des problèmes pour les règles prises en charge.
Implements the Language Server Protocol to communicate linting errors and diagnostics to text editors.
Phan est un analyseur statique et vérificateur de type pour PHP qui identifie les bugs et les incompatibilités de type sans exécuter le code. Il sert de porte de qualité pour les pipelines d'intégration continue et d'outil pour vérifier la sécurité des types, en vérifiant spécifiquement les types union, les génériques et les formes de tableaux. Le projet se distingue par l'utilisation d'un démon en arrière-plan et d'une implémentation du Language Server Protocol, qui fournissent des diagnostics et une navigation en temps réel au sein des éditeurs. Il dispose également d'un système de suppression basé sur une ligne de base (baseline) qui permet aux développeurs d'enregistrer les erreurs existantes dans un fichier instantané pour se concentrer exclusivement sur les nouvelles régressions. Le moteur d'analyse couvre un large éventail de capacités, incluant la détection de code mort, la validation de compatibilité linguistique entre différentes versions de PHP, et l'inférence de types de variables et de modèles. Il prend en charge une analyse extensible via un système de plugins et fournit des corrections de code automatisées pour un sous-ensemble de problèmes détectés. Les utilisateurs peuvent amorcer le processus en générant un fichier de configuration avec des niveaux de rigueur sélectionnables pour valider progressivement leur base de code.
Implements the Language Server Protocol to provide real-time diagnostics and navigation in editors.