Skip to main content

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}