49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
|
|
package tui
|
||
|
|
|
||
|
|
import (
|
||
|
|
"charm.land/bubbles/v2/key"
|
||
|
|
)
|
||
|
|
|
||
|
|
type KeyMap struct {
|
||
|
|
Quit key.Binding
|
||
|
|
Clear key.Binding
|
||
|
|
SwitchLang key.Binding
|
||
|
|
ScrollUp key.Binding
|
||
|
|
ScrollDown key.Binding
|
||
|
|
ScrollTop key.Binding
|
||
|
|
ScrollBottom key.Binding
|
||
|
|
}
|
||
|
|
|
||
|
|
func NewKeyMap() KeyMap {
|
||
|
|
return KeyMap{
|
||
|
|
Quit: key.NewBinding(
|
||
|
|
key.WithKeys("ctrl+c", "esc"),
|
||
|
|
key.WithHelp("Ctrl+C", "退出"),
|
||
|
|
),
|
||
|
|
Clear: key.NewBinding(
|
||
|
|
key.WithKeys("ctrl+l"),
|
||
|
|
key.WithHelp("Ctrl+L", "清空输入"),
|
||
|
|
),
|
||
|
|
SwitchLang: key.NewBinding(
|
||
|
|
key.WithKeys("ctrl+t"),
|
||
|
|
key.WithHelp("Ctrl+T", "切换语言"),
|
||
|
|
),
|
||
|
|
ScrollUp: key.NewBinding(
|
||
|
|
key.WithKeys("up", "ctrl+up"),
|
||
|
|
key.WithHelp("↑/Ctrl+↑", "上滚"),
|
||
|
|
),
|
||
|
|
ScrollDown: key.NewBinding(
|
||
|
|
key.WithKeys("down", "ctrl+down"),
|
||
|
|
key.WithHelp("↓/Ctrl+↓", "下滚"),
|
||
|
|
),
|
||
|
|
ScrollTop: key.NewBinding(
|
||
|
|
key.WithKeys("home"),
|
||
|
|
key.WithHelp("Home", "顶部"),
|
||
|
|
),
|
||
|
|
ScrollBottom: key.NewBinding(
|
||
|
|
key.WithKeys("end"),
|
||
|
|
key.WithHelp("End", "底部"),
|
||
|
|
),
|
||
|
|
}
|
||
|
|
}
|