Skip to content

Commit d524c9e

Browse files
committed
Update readme with list of new functions
1 parent 9fdeec0 commit d524c9e

1 file changed

Lines changed: 35 additions & 2 deletions

File tree

README.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)