11
This commit is contained in:
@@ -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}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user