@@ -6,11 +6,44 @@ A PHP Language Server Protocol (LSP) implementation in Rust.
66
77## Features
88
9- - LSP lifecycle management (initialize, shutdown, document sync)
10- - Basic completion
9+ ### Document Synchronization
10+
11+ - Full text document sync (open, change, close)
12+
13+ ### Completion
14+
15+ - Instance member completion via ` -> ` (methods and properties)
16+ - Static member completion via ` :: ` (static methods, static properties, and constants)
17+ - ` parent:: ` completion (static and non-static members, excluding private)
18+ - ` $this ` , ` self ` , and ` static ` keyword resolution to the current class
19+ - Property chain resolution (e.g. ` $this->service-> ` )
20+ - Variable type resolution from assignments (` $var = new Foo() ` ) and parameter type hints
21+ - Inheritance-aware completion — walks the class hierarchy to include inherited members
22+ - Magic method filtering (` __construct ` , ` __destruct ` , etc. are excluded from results)
23+ - Full method signature display in completion labels (parameters, types, return type)
1124
1225<img width =" 683 " height =" 339 " alt =" image " src =" https://github.com/user-attachments/assets/65e8220d-5d94-466f-aea7-2f239a8d4b19 " />
1326
27+ ### Go to Definition
28+
29+ - Jump to class, interface, trait, and enum definitions
30+ - Same-file and cross-file definition lookup
31+ - Fully-qualified, partially-qualified, and unqualified name resolution via ` use ` statements and the current namespace
32+
33+ ### PHP Parsing
34+
35+ - Extracts classes, interfaces, methods, properties, and constants
36+ - Parses visibility modifiers, static modifiers, type hints, and parameter info
37+ - Supports constructor-promoted properties
38+ - Parses ` use ` statements and namespace declarations
39+
40+ ### Composer / PSR-4 Integration
41+
42+ - Parses ` composer.json ` for PSR-4 autoload mappings (` autoload ` and ` autoload-dev ` )
43+ - Parses vendor autoload mappings from ` vendor/composer/autoload_psr4.php `
44+ - On-demand class loading from disk via PSR-4 resolution
45+ - Caches parsed files to avoid redundant parsing
46+
1447## Building
1548
1649``` bash
0 commit comments