feat: 模块7 - 多行输入支持 (textarea替换textinput)
This commit is contained in:
65
taolun.md
65
taolun.md
@@ -583,4 +583,67 @@ func (m model) doTranslate(text, toLang string) tea.Cmd {
|
||||
**下一步**: 测试TUI界面、优化体验
|
||||
|
||||
**关联文档**:
|
||||
- [changelog.md#0.6.0](changelog.md#060)
|
||||
- [changelog.md#0.6.0](changelog.md#060)
|
||||
|
||||
---
|
||||
|
||||
### [2026-04-06 14:00] 版本 0.7.0 - TUI界面改进计划
|
||||
**原因**: TUI基础功能完成后,讨论改进方向和用户体验优化
|
||||
**分析**:
|
||||
- 当前单行textinput无法输入多行文本
|
||||
- 快捷键固定显示在底部不够美观
|
||||
- 缺少命令菜单系统
|
||||
- 长翻译结果无法滚动
|
||||
|
||||
**解决方案 - 新增模块**:
|
||||
|
||||
| 步骤 | 模块 | 内容 |
|
||||
|------|------|------|
|
||||
| 7 | 多行输入 | textarea组件替换textinput |
|
||||
| 8 | 弹出框组件 | 通用modal,支持快捷键帮助 |
|
||||
| 9 | 斜杠命令菜单 | / 触发命令选择器,类似opencode |
|
||||
| 10 | 翻译结果滚动 | viewport组件 |
|
||||
| 11 | 复制功能 | clipboard集成 |
|
||||
| 12 | 状态栏扩展 | 耗时、token用量 |
|
||||
|
||||
**斜杠命令设计**:
|
||||
| 命令 | 功能 |
|
||||
|------|------|
|
||||
| `/help` | 显示快捷键帮助 |
|
||||
| `/clear` | 清空内容 |
|
||||
| `/copy` | 复制翻译结果 |
|
||||
| `/lang` | 切换语言 |
|
||||
| `/history` | 翻译历史 |
|
||||
| `/quit` | 退出 |
|
||||
|
||||
**设计亮点**:
|
||||
1. 隐藏底部快捷键提示,改为按 ? 或 F1 弹出帮助框
|
||||
2. 输入 / 触发命令菜单,上下键选择,回车执行
|
||||
3. 命令菜单支持模糊匹配
|
||||
4. modal组件通用化,可复用于其他弹窗场景
|
||||
|
||||
**关联文档**:
|
||||
- [changelog.md#0.7.0](changelog.md#070)
|
||||
|
||||
---
|
||||
|
||||
### [2026-04-06 14:30] 版本 0.7.0 - 模块7: 多行输入 (已完成)
|
||||
**原因**: 当前textinput只支持单行,需要支持多行文本输入
|
||||
**分析**:
|
||||
- 长段落、多行文本无法输入
|
||||
- 需要换用bubbles的textarea组件
|
||||
|
||||
**解决方案**:
|
||||
1. 将textinput替换为textarea
|
||||
2. 调整样式和布局(宽50,高5)
|
||||
3. 底部状态栏提示按 / 显示命令
|
||||
|
||||
**技术实现**:
|
||||
- 使用 `github.com/charmbracelet/bubbles/textarea`
|
||||
- textarea.SetWidth(50)、SetHeight(5) 设置尺寸
|
||||
- 移除底部固定快捷键提示,改为按需显示
|
||||
|
||||
**下一步**: 实现模块8: 弹出框组件
|
||||
|
||||
**关联文档**:
|
||||
- [changelog.md#0.7.0](changelog.md#070)
|
||||
Reference in New Issue
Block a user