# 注释保留

> 当前状态：实现层补充记录。语言级 /// 和 //! 的关联规则，现阶段应优先参考 注释关联规则。
> 本文只保留 CST 保留注释和 LSP 支持相关的实现说明。

## CST 注释支持

Dujie 使用 CST（具体语法树），所有注释都会保留在 Token 流中，并在构建 CST 时关联到对应的语法节点。这为 LSP 功能（悬停提示、代码补全）提供了支持。

## 注释 Token 类型

词法阶段保留三类注释 token：

- `//`
- `///`
- `//!`

具体关联规则见 [注释关联规则](./02.comment-association)，本文不再重复定义语言级注释语义。

## LSP 功能支持

保留注释信息为以下 LSP 功能提供了支持：

<steps level="4">

#### **悬停提示** - 从 CST 节点的 `comments` 字段提取文档注释

#### **代码补全** - 利用文档注释提供智能补全

#### **文档生成** - 自动生成 API 文档

#### **代码导航** - 利用注释信息提供更好的导航体验

</steps>
