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 的示例
添加自定义请求、通知和响应
如果您想自定义请求/响应对,首先使用 Serialize
和 Deserialize
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