Some checks failed
Release / build (push) Failing after 37s
- 添加帮助信息栏 (bubbles help组件, Ctrl+H切换) - 翻译卡片样式优化 (Padding空隙、上方内边距) - 扩展build.sh支持跨平台编译 - release.yaml使用build.sh构建
66 lines
1.4 KiB
Go
66 lines
1.4 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
|
|
Help 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", "底部"),
|
|
),
|
|
Help: key.NewBinding(
|
|
key.WithKeys("ctrl+h"),
|
|
key.WithHelp("Ctrl+H", "帮助"),
|
|
),
|
|
}
|
|
}
|
|
|
|
func (k KeyMap) ShortHelp() []key.Binding {
|
|
return []key.Binding{k.Help, k.Quit}
|
|
}
|
|
|
|
func (k KeyMap) FullHelp() [][]key.Binding {
|
|
return [][]key.Binding{
|
|
{k.Quit, k.Clear, k.SwitchLang},
|
|
{k.ScrollUp, k.ScrollDown, k.ScrollTop, k.ScrollBottom},
|
|
{k.Help},
|
|
}
|
|
}
|