Add auto-merge setting and merge now functionality
This commit is contained in:
@@ -40,6 +40,8 @@ type ViewKeyBindings struct {
|
||||
Dashboard []string `toml:"dashboard"`
|
||||
Health []string `toml:"health"`
|
||||
Edit []string `toml:"edit"`
|
||||
AutoMerge []string `toml:"auto_merge"`
|
||||
MergeNow []string `toml:"merge_now"`
|
||||
ToggleList []string `toml:"toggle_list"`
|
||||
}
|
||||
|
||||
@@ -119,6 +121,7 @@ func defaultKeyBindings() KeyBindings {
|
||||
Views: ViewKeyBindings{
|
||||
Open: []string{"enter", "l"}, Dashboard: []string{"d"},
|
||||
Health: []string{"H"}, Edit: []string{"e"}, ToggleList: []string{"tab"},
|
||||
AutoMerge: []string{"a"}, MergeNow: []string{"M"},
|
||||
},
|
||||
Threads: ThreadKeyBindings{
|
||||
Search: []string{"/"}, ClearFilter: []string{"F"},
|
||||
@@ -294,6 +297,14 @@ func (k KeyBindings) canonicalMainKey(key string, current screen) string {
|
||||
return "enter"
|
||||
}
|
||||
}
|
||||
if current == dashboardScreen {
|
||||
switch {
|
||||
case keyMatches(key, k.Views.AutoMerge):
|
||||
return "a"
|
||||
case keyMatches(key, k.Views.MergeNow):
|
||||
return "M"
|
||||
}
|
||||
}
|
||||
if current == threadScreen {
|
||||
switch {
|
||||
case keyMatches(key, k.Navigation.Left):
|
||||
@@ -387,6 +398,7 @@ func validateKeyBindings(bindings KeyBindings) error {
|
||||
{"keybindings.views", map[string][]string{
|
||||
"open": bindings.Views.Open, "dashboard": bindings.Views.Dashboard,
|
||||
"health": bindings.Views.Health, "edit": bindings.Views.Edit,
|
||||
"auto_merge": bindings.Views.AutoMerge, "merge_now": bindings.Views.MergeNow,
|
||||
"toggle_list": bindings.Views.ToggleList,
|
||||
}},
|
||||
{"keybindings.threads", map[string][]string{
|
||||
@@ -478,6 +490,8 @@ func validateKeyBindingContexts(bindings KeyBindings) error {
|
||||
if err := validateKeyContext("dashboard", append(screenCommon,
|
||||
contextBinding{"open", views.Open},
|
||||
contextBinding{"edit", views.Edit},
|
||||
contextBinding{"auto_merge", views.AutoMerge},
|
||||
contextBinding{"merge_now", views.MergeNow},
|
||||
)...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user