用途:该技能用于 Gentleman.Dots 安装器的 Bubbletea TUI 开发,触发场景包括编辑 installer/internal/tui/ 下的 Go 文件、开发 TUI 屏幕、添加新 UI、处理键盘输入与导航、使用 Lipgloss 创建组件、进行屏幕切换或状态管理。
主要能力与关键模式:屏幕常量统一定义在 model.go 的 Screen 类型常量中;Model 结构体集中保存全部应用状态,如 Screen、PrevScreen、Width、Height、Cursor 及新增功能所需字段;所有输入经 Update() 的类型 switch 分发,分别处理 tea.KeyMsg、tea.WindowSizeMsg 和自定义消息;每个屏幕有独立的按键处理函数并返回 (Model, Cmd),方向键与 j/k 用于移动,enter/空格选择,esc 返回上一屏;可实现可滚动内容,按高度计算可见项并处理滚动位置;可通过自定义消息类型配合 tea.Cmd 异步加载数据。
使用方式:添加新屏幕时在 model.go 定义常量、扩展 Model 字段、在 handleKeyPress 增加分支、在 update.go 写处理函数、在 view.go 添加视图分支并补充 GetScreenTitle()。构建与测试命令:cd installer && go build ./cmd/gentleman-installer;cd installer && go test ./internal/tui/...;cd installer && go test -run TestNewFeature。
适用场景:添加安装器新界面、实现键盘导航、创建可滚动列表、处理自定义异步消息。
限制:仅针对 Gentleman.Dots 安装器的 TUI 代码;其他平台或版本支持情况暂未提供。