MujicaUI

Git · #316

ReviewComment 浅色主题渲染快照
浅色 · 渲染快照
ReviewComment 深色主题渲染快照
深色 · 渲染快照

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

字段类型默认值含义
Filestring必填文件路径。
Lineint必填行号,须为正。
Resolvedboolfalse已解决:隐藏回复框,显示“重新打开”。
Messages[]ReviewMessage必填至少一条评论(作者、时间、正文)。

ReviewCommentOptions

字段类型默认值含义
TimeFormatstring"2006-01-02 15:04"时间格式。
Disabledboolfalse禁用回复、解决与重新打开。

draft 保存回复草稿,发送后清空。

状态

  • 已解决:标题栏显示 Success 色图标与“已解决”。
  • 回复按钮在草稿为空时禁用。

事件

  • Replied():发送的回复文本(去除首尾空白)。
  • Resolved()、Reopened():对应按钮。

键盘操作

  • Tab 经过回复框与按钮;回复框内 Cmd+Enter(非 macOS 为 Ctrl+Enter)发送。

限制

  • 评论正文为纯文本,不渲染 Markdown。
  • 线程状态由调用方更新。