▍ humdrum codex / sportsball
license AGPL-3.0
3.0 KB raw
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package ui

import "github.com/charmbracelet/bubbles/key"

// keyMap is the global keybinding set, shared across views. Help text is
// derived from these so the footer never drifts from behavior.
type keyMap struct {
	Up           key.Binding
	Down         key.Binding
	GridLeft     key.Binding
	GridRight    key.Binding
	Enter        key.Binding
	Back         key.Binding
	NextLg       key.Binding
	PrevLg       key.Binding
	AllLg        key.Binding
	Refresh      key.Binding
	FavAway      key.Binding
	FavHome      key.Binding
	Theme        key.Binding
	State        key.Binding
	StateBack    key.Binding
	Leagues      key.Binding
	Toggle       key.Binding
	MoveUp       key.Binding
	MoveDown     key.Binding
	Standings    key.Binding
	Schedule     key.Binding
	ScheduleHome key.Binding
	ResetLeagues key.Binding
	Quit         key.Binding
}

var keys = keyMap{
	Up: key.NewBinding(
		key.WithKeys("up", "k"),
		key.WithHelp("↑/k", "up"),
	),
	Down: key.NewBinding(
		key.WithKeys("down", "j"),
		key.WithHelp("↓/j", "down"),
	),
	GridLeft: key.NewBinding(
		key.WithKeys("left"),
		key.WithHelp("←/→", "move"),
	),
	GridRight: key.NewBinding(
		key.WithKeys("right"),
		key.WithHelp("→", "right"),
	),
	Enter: key.NewBinding(
		key.WithKeys("enter", "l"),
		key.WithHelp("enter", "open game"),
	),
	Back: key.NewBinding(
		key.WithKeys("esc", "h", "backspace"),
		key.WithHelp("esc", "back"),
	),
	NextLg: key.NewBinding(
		key.WithKeys("tab", "right"),
		key.WithHelp("tab", "next league"),
	),
	PrevLg: key.NewBinding(
		key.WithKeys("shift+tab", "left"),
		key.WithHelp("⇧tab", "prev league"),
	),
	AllLg: key.NewBinding(
		key.WithKeys("a"),
		key.WithHelp("a", "all leagues"),
	),
	Refresh: key.NewBinding(
		key.WithKeys("r"),
		key.WithHelp("r", "refresh"),
	),
	FavAway: key.NewBinding(
		key.WithKeys("f"),
		key.WithHelp("f", "fav away"),
	),
	FavHome: key.NewBinding(
		key.WithKeys("F"),
		key.WithHelp("F", "fav home"),
	),
	Theme: key.NewBinding(
		key.WithKeys("t"),
		key.WithHelp("t", "theme"),
	),
	State: key.NewBinding(
		key.WithKeys("v"),
		key.WithHelp("v/V", "filter"),
	),
	StateBack: key.NewBinding(
		key.WithKeys("V"),
		key.WithHelp("V", "filter back"),
	),
	Leagues: key.NewBinding(
		key.WithKeys("L"),
		key.WithHelp("L", "leagues"),
	),
	Toggle: key.NewBinding(
		key.WithKeys(" ", "space", "x", "enter"),
		key.WithHelp("space", "toggle"),
	),
	MoveUp: key.NewBinding(
		key.WithKeys("shift+up", "K"),
		key.WithHelp("K", "move up"),
	),
	MoveDown: key.NewBinding(
		key.WithKeys("shift+down", "J"),
		key.WithHelp("J", "move down"),
	),
	Standings: key.NewBinding(
		key.WithKeys("s", "S"),
		key.WithHelp("s", "standings"),
	),
	Schedule: key.NewBinding(
		key.WithKeys("g"),
		key.WithHelp("g", "sched away"),
	),
	ScheduleHome: key.NewBinding(
		key.WithKeys("G"),
		key.WithHelp("G", "sched home"),
	),
	ResetLeagues: key.NewBinding(
		key.WithKeys("0"),
		key.WithHelp("0", "auto"),
	),
	Quit: key.NewBinding(
		key.WithKeys("q", "ctrl+c"),
		key.WithHelp("q", "quit"),
	),
}