mirror of
https://github.com/helix-editor/helix
synced 2026-07-21 21:24:55 +02:00
3d3aa794fd
The `url::Url` crate covers the WHATWG URI which has different percent encoding rules. LSP specifies that URIs are RFC3986. Strict language servers would reject some cases like `[`/`]` characters in paths. Dropping the `url` crate also drops a significant number of transitive dependencies. Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Helix's lsp-types
This is a fork of the lsp-types crate (gluon-lang/lsp-types) taken at version v0.95.1 (commit 3e6daee). This fork focuses usability improvements that make the types easier to work with for the Helix codebase.
The URL type has been replaced with a newtype wrapper of a String. The lsp-types crate at the forked version used url::Url which provides conveniences for using URLs according to the WHATWG URL spec. Helix supports a subset of valid URLs, namely the file:// scheme, so a wrapper around a normal String is sufficient. Plus the LSP spec requires URLs to be in RFC3986 format instead.