1 Commits
Author SHA1 Message Date
Ketema Harris 502d3f3e60 fix(lsp): Omit params field for shutdown/exit methods (#870)
WHY:
- HLS (Haskell) and rust-analyzer use Void/unit types for shutdown/exit
- These strict-typed servers reject ANY params field (even empty {})
- PR #851 changed to send params:{} for Delphi/FPC compatibility
- This broke HLS/rust-analyzer with "Cannot parse Void" errors

EXPECTED:
- shutdown/exit methods: omit params field entirely (HLS/rust-analyzer compat)
- Other methods with None: send params:{} (Delphi/FPC compat)
- Other methods with params: include them unchanged (standard behavior)
- Three-way compatibility preserved per JSON-RPC 2.0 spec

Refs: oraios/serena#870
2026-01-10 23:31:23 -05:00