diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-02 07:56:14 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-10 00:23:01 +1100 |
commit | 2e05ac0c90848c71ab23728859a7bd4b67c39114 (patch) | |
tree | 936571f345de7b87ebbcc2025d29c04fc1e9d129 /pkg/gui/keybindings.go | |
parent | 40c5cd4b4b3436da2616e848d40e7760ec99167f (diff) |
paging keybindings for line by line panel
support searching in line by line panel
move mutexes into their own struct
add line by line panel mutex
apply LBL panel mutex
bump gocui to prevent crashing when search item count decreases
Diffstat (limited to 'pkg/gui/keybindings.go')
-rw-r--r-- | pkg/gui/keybindings.go | 84 |
1 files changed, 64 insertions, 20 deletions
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index a92434561..ac87b6dd8 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -1147,14 +1147,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItem), - Handler: gui.handleSelectPrevLine, + Handler: gui.wrappedHandler(gui.handleSelectPrevLine), Description: gui.Tr.PrevLine, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItem), - Handler: gui.handleSelectNextLine, + Handler: gui.wrappedHandler(gui.handleSelectNextLine), Description: gui.Tr.NextLine, }, { @@ -1162,56 +1162,56 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItemAlt), Modifier: gocui.ModNone, - Handler: gui.handleSelectPrevLine, + Handler: gui.wrappedHandler(gui.handleSelectPrevLine), }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItemAlt), Modifier: gocui.ModNone, - Handler: gui.handleSelectNextLine, + Handler: gui.wrappedHandler(gui.handleSelectNextLine), }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, - Handler: gui.handleSelectPrevLine, + Handler: gui.wrappedHandler(gui.handleSelectPrevLine), }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, - Handler: gui.handleSelectNextLine, + Handler: gui.wrappedHandler(gui.handleSelectNextLine), }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlock), - Handler: gui.handleSelectPrevHunk, + Handler: gui.wrappedHandler(gui.handleSelectPrevHunk), Description: gui.Tr.PrevHunk, }, { - ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, - Key: gui.getKey(config.Universal.NextBlock), - Handler: gui.handleSelectNextHunk, - Description: gui.Tr.NextHunk, - }, - { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, - Handler: gui.handleSelectPrevHunk, + Handler: gui.wrappedHandler(gui.handleSelectPrevHunk), + }, + { + ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.NextBlock), + Handler: gui.wrappedHandler(gui.handleSelectNextHunk), + Description: gui.Tr.NextHunk, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, - Handler: gui.handleSelectNextHunk, + Handler: gui.wrappedHandler(gui.handleSelectNextHunk), }, { ViewName: "main", @@ -1229,6 +1229,50 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.NextPage), + Modifier: gocui.ModNone, + Handler: gui.wrappedHandler(gui.handleLineByLineNextPage), + Description: gui.Tr.LcNextPage, + Tag: "navigation", + }, + { + ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.PrevPage), + Modifier: gocui.ModNone, + Handler: gui.wrappedHandler(gui.handleLineByLinePrevPage), + Description: gui.Tr.LcPrevPage, + Tag: "navigation", + }, + { + ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.GotoTop), + Modifier: gocui.ModNone, + Handler: gui.wrappedHandler(gui.handleLineByLineGotoTop), + Description: gui.Tr.LcGotoTop, + Tag: "navigation", + }, + { + ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.GotoBottom), + Modifier: gocui.ModNone, + Handler: gui.wrappedHandler(gui.handleLineByLineGotoBottom), + Description: gui.Tr.LcGotoBottom, + Tag: "navigation", + }, + { + ViewName: "main", + Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Key: gui.getKey(config.Universal.StartSearch), + Handler: gui.handleOpenSearch, + Description: gui.Tr.LcStartSearch, + Tag: "navigation", + }, + { + ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleToggleSelectionForPatch, @@ -1238,7 +1282,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleDragSelect), - Handler: gui.handleToggleSelectRange, + Handler: gui.wrappedHandler(gui.handleToggleSelectRange), Description: gui.Tr.ToggleDragSelect, }, // Alias 'V' -> 'v' @@ -1246,14 +1290,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleDragSelectAlt), - Handler: gui.handleToggleSelectRange, + Handler: gui.wrappedHandler(gui.handleToggleSelectRange), Description: gui.Tr.ToggleDragSelect, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleSelectHunk), - Handler: gui.handleToggleSelectHunk, + Handler: gui.wrappedHandler(gui.handleToggleSelectHunk), Description: gui.Tr.ToggleSelectHunk, }, { @@ -1261,7 +1305,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, - Handler: gui.handleMouseDown, + Handler: gui.handleLBLMouseDown, }, { ViewName: "main", |