This commit is contained in:
2026-06-23 05:02:15 +08:00
commit e6f1776d4f
264 changed files with 54215 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
package tui
import tea "charm.land/bubbletea/v2"
// keyMsg builds a v2 key-press message from a canonical key string for tests
// (e.g. "enter", "esc", "ctrl+s", " ", "C").
func keyMsg(s string) tea.KeyPressMsg {
switch s {
case "enter":
return tea.KeyPressMsg{Code: tea.KeyEnter}
case "esc":
return tea.KeyPressMsg{Code: tea.KeyEsc}
case "tab":
return tea.KeyPressMsg{Code: tea.KeyTab}
case "shift+tab":
return tea.KeyPressMsg{Code: tea.KeyTab, Mod: tea.ModShift}
case "ctrl+s":
return tea.KeyPressMsg{Code: 's', Mod: tea.ModCtrl}
case "ctrl+l":
return tea.KeyPressMsg{Code: 'l', Mod: tea.ModCtrl}
case " ", "space":
return tea.KeyPressMsg{Code: tea.KeySpace}
default:
return tea.KeyPressMsg{Code: []rune(s)[0], Text: s}
}
}