project: Take 2 on Handle textDocument/didSave and textDocument/didChange (un)registration and usage correctly (#36485)
Relands https://github.com/zed-industries/zed/pull/36441 with a
deserialization fix.
Previously, deserializing `"includeText"` into
`lsp::TextDocumentSyncSaveOptions` resulted in a `Supported(false)` type
instead of `SaveOptions(SaveOptions { include_text: Option<bool> })`.
```rs
impl From<bool> for TextDocumentSyncSaveOptions {
fn from(from: bool) -> Self {
Self::Supported(from)
}
}
```
Looks like, while dynamic registartion we only get `SaveOptions` type
and never `Supported` type.
(https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentSaveRegistrationOptions)
Release Notes:
- N/A
---------
Co-authored-by: Lukas Wirth <lukas@zed.dev>
e3b593efbdSmit Barmase committed on 8/19/2025, 1:34:48 PM· committed by GitHubparent8f56738