summer_lsp/protocol/types.rs
1//! LSP 协议类型定义
2//!
3//! 定义 LSP 通信中使用的自定义类型
4
5use serde::{Deserialize, Serialize};
6
7/// 位置信息响应
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct LocationResponse {
10 /// 文件 URI
11 pub uri: String,
12 /// 范围
13 pub range: RangeResponse,
14}
15
16/// 范围响应
17#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct RangeResponse {
19 /// 起始位置
20 pub start: PositionResponse,
21 /// 结束位置
22 pub end: PositionResponse,
23}
24
25/// 位置响应
26#[derive(Debug, Clone, Serialize, Deserialize)]
27pub struct PositionResponse {
28 /// 行号(从 0 开始)
29 pub line: u32,
30 /// 列号(从 0 开始)
31 pub character: u32,
32}