helix-mirror/helix-lsp-types
Michael Davis 57a18e22e5
lsp_types: Make Url::from_file/directory_path infallible
These functions return `Result<Self, ()>` in the `url` crate but the
result is unnecessary since the functions never return the error branch.
We can eliminate the Result to remove some `expect`s in the calling
code.
2024-10-14 19:25:13 -04:00
..
src lsp_types: Make Url::from_file/directory_path infallible 2024-10-14 19:25:13 -04:00
Cargo.lock Vendor the lsp-types crate 2024-07-28 10:41:28 -04:00
Cargo.toml Replace url::Url with a String wrapper 2024-10-14 19:25:12 -04:00
LICENSE Vendor the lsp-types crate 2024-07-28 10:41:28 -04:00
README.md Replace url::Url with a String wrapper 2024-10-14 19:25:12 -04:00

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.