Currently we use url crate provided serde deserialisation, which doesn't percent-decode the string. As a real life example svelteserver encodes the uri but tsc does not.
Example deserialization using lsp-types lib: Rust Playground
Example deserialization using vscode-uri (official implementation): Javascript Playground
From: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#uri
Although not a strict requirement from spec, the reference implementation tries to percent-decode the uri safely: https://github.com/microsoft/vscode-uri/blob/6dec22d7dcc6c63c30343d3a8d56050d0078cb6a/src/uri.ts#L274. If this was supported here, it might make the dealing with
Uri
a little simpler for the dependent projects.Currently we use url crate provided serde deserialisation, which doesn't percent-decode the string. As a real life example svelteserver encodes the
uri
but tsc does not.Example deserialization using
lsp-types
lib: Rust Playground Example deserialization usingvscode-uri
(official implementation): Javascript Playground