use custom help menu
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
)
|
||||
|
||||
type DashboardKeyMap struct {
|
||||
Help key.Binding
|
||||
Quit key.Binding
|
||||
SelectIssue key.Binding
|
||||
BackToList key.Binding
|
||||
@@ -14,6 +15,10 @@ type DashboardKeyMap struct {
|
||||
}
|
||||
|
||||
var defaultDashboardKeyMap = DashboardKeyMap{
|
||||
Help: key.NewBinding(
|
||||
key.WithKeys("?"),
|
||||
key.WithHelp("?", "help"),
|
||||
),
|
||||
Quit: key.NewBinding(
|
||||
key.WithKeys("q", "ctrl+c"),
|
||||
key.WithHelp("q", "quit"),
|
||||
@@ -28,18 +33,32 @@ var defaultDashboardKeyMap = DashboardKeyMap{
|
||||
),
|
||||
ScrollUp: key.NewBinding(
|
||||
key.WithKeys("up", "k"),
|
||||
key.WithHelp("↑/k", "scroll up"),
|
||||
key.WithHelp("↑/k", "up"),
|
||||
),
|
||||
ScrollDown: key.NewBinding(
|
||||
key.WithKeys("down", "j"),
|
||||
key.WithHelp("↓/j", "scroll down"),
|
||||
key.WithHelp("↓/j", "down"),
|
||||
),
|
||||
}
|
||||
|
||||
func (m DashboardKeyMap) ShortHelp() []key.Binding {
|
||||
return []key.Binding{m.ScrollDown, m.ScrollUp, m.Quit, m.Help}
|
||||
}
|
||||
|
||||
func (m DashboardKeyMap) FullHelp() [][]key.Binding {
|
||||
return [][]key.Binding{
|
||||
{m.SelectIssue, m.BackToList},
|
||||
{m.ScrollUp, m.ScrollDown},
|
||||
{m.Help, m.Quit},
|
||||
}
|
||||
}
|
||||
|
||||
func (d *Model) handleKeyMsg(msg tea.KeyMsg) tea.Cmd {
|
||||
var cmd tea.Cmd
|
||||
|
||||
switch {
|
||||
case key.Matches(msg, d.keyMap.Help):
|
||||
d.help.ShowAll = !d.help.ShowAll
|
||||
case key.Matches(msg, d.keyMap.Quit):
|
||||
return tea.Quit
|
||||
case !d.focusedOnIssue && key.Matches(msg, d.keyMap.SelectIssue):
|
||||
@@ -47,9 +66,9 @@ func (d *Model) handleKeyMsg(msg tea.KeyMsg) tea.Cmd {
|
||||
case d.focusedOnIssue && key.Matches(msg, d.keyMap.BackToList):
|
||||
d.focusedOnIssue = false
|
||||
case d.focusedOnIssue && key.Matches(msg, d.keyMap.ScrollUp):
|
||||
d.issueView.Viewport.LineUp(1)
|
||||
d.issueView.Viewport.ScrollUp(1)
|
||||
case d.focusedOnIssue && key.Matches(msg, d.keyMap.ScrollDown):
|
||||
d.issueView.Viewport.LineDown(1)
|
||||
d.issueView.Viewport.ScrollDown(1)
|
||||
}
|
||||
|
||||
return cmd
|
||||
|
||||
Reference in New Issue
Block a user