t3ide/language-server

Language Server Protocol runtime and infrastructure for PHP

Maintainers

Package info

github.com/t3ide/language-server

pkg:composer/t3ide/language-server

Statistics

Installs: 0

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-03-22 17:47 UTC

This package is not auto-updated.

Last update: 2026-04-20 17:02:09 UTC


README

t3ide/language-server is a PHP library that provides JSON-RPC and Language Server Protocol runtime infrastructure.

It is designed as a reusable foundation for building and operating LSP servers in PHP.

What it provides

  • JSON-RPC 2.0 message parsing and serialization
  • stdio and socket server integration
  • request/notification dispatch pipeline with middleware
  • request and event dispatch strategies
  • client proxy APIs (window, workspace, diagnostics, work progress)
  • cancellation-aware request handling
  • server runtime stats helpers

Package layout

  • lib/JsonRpc/ - transport, request/response objects, client/server session handling
  • lib/Core/Dispatcher/ - method/event dispatch strategies
  • lib/Core/Middleware/ - request pipeline middleware
  • lib/Handler/ - built-in protocol handlers
  • tests/Integration/ - integration tests for pipeline, middleware, dispatcher, and handlers

Requirements

  • PHP 8.2+
  • t3ide/language-server-protocol

Installation

composer require t3ide/language-server

Development

Install dependencies:

composer install

Run tests:

./vendor/bin/phpunit

Run static analysis:

./vendor/bin/phpstan analyse -c phpstan.neon

Run coding standards check:

./vendor/bin/php-cs-fixer fix --config .php-cs-fixer.php --dry-run --diff

License

MIT. See LICENSE.md.