3 个版本

0.2.2 2022年2月24日
0.2.1 2022年2月21日
0.2.0 2022年2月20日

69#lsp 中排名

每月 22 次下载
用于 lsp-io

自定义许可协议

240KB
5K SLoC

lsp-ty

此 crate 提供了用于 LSP 的类型,以及一些处理消息的辅助结构、宏和特质。

有关 LSP 的更多信息,请参阅 LSP - 概览.

演示用法

查看 lsp-io 的示例

添加自定义请求、通知和响应

如果您想自定义请求/响应对,首先使用 SerializeDeserialize derive 定义请求参数和响应结果类型。

#[derive(Clone, PartialEq, Debug, Default, Deserialize, Serialize)]
pub struct MyParams {
    pub name: String,
    pub pos: Position
}

#[derive(Clone, PartialEq, Debug, Default, Deserialize, Serialize)]
pub struct MyResult {
    pub data: Vec<String>
}

然后使用 impl_req 辅助宏来自动为您自定义类型完成 FromReq 特质。

// the second param is you custom request method
impl_req!(MyParams, "custom/my", MyResult);

实现通知消息与上述类似,不同之处在于,通知不需要指定响应类型。

依赖关系

~1.7–3MB
~83K SLoC