316 ReviewComment 评审评论
用途
行级评审讨论:显示文件与行号、评论列表,支持回复、解决与重新打开。
最小示例
thread := git.ReviewThread{File: "main.go", Line: 12, Messages: []git.ReviewMessage{
{Author: "Uika", When: time.Now(), Body: "Can this return early?"},
}}
draft := ""
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
r := git.ReviewComment(c, thread, &draft, git.ReviewCommentOptions{})
if text, ok := r.Replied(); ok {
thread.Messages = append(thread.Messages, git.ReviewMessage{Author: "Sakiko", When: time.Now(), Body: text})
}
if r.Resolved() || r.Reopened() {
thread.Resolved = !thread.Resolved
}
}
ui.Render(view, 400, 300, 1)签名:func ReviewComment(c *ui.Context, thread ReviewThread, draft *string, opts ReviewCommentOptions) ReviewCommentResult
参数
ReviewThread
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
| File | string | 必填 | 文件路径。 |
| Line | int | 必填 | 行号,须为正。 |
| Resolved | bool | false | 已解决:隐藏回复框,显示“重新打开”。 |
| Messages | []ReviewMessage | 必填 | 至少一条评论(作者、时间、正文)。 |
ReviewCommentOptions
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
| TimeFormat | string | "2006-01-02 15:04" | 时间格式。 |
| Disabled | bool | false | 禁用回复、解决与重新打开。 |
draft 保存回复草稿,发送后清空。
状态
- 已解决:标题栏显示 Success 色图标与“已解决”。
- 回复按钮在草稿为空时禁用。
事件
Replied():发送的回复文本(去除首尾空白)。Resolved()、Reopened():对应按钮。
键盘操作
- Tab 经过回复框与按钮;回复框内 Cmd+Enter(非 macOS 为 Ctrl+Enter)发送。
限制
- 评论正文为纯文本,不渲染 Markdown。
- 线程状态由调用方更新。

