summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg/gui/cheatsheet.go3
-rw-r--r--pkg/gui/diffview.go33
-rw-r--r--pkg/gui/gui-util.go33
-rw-r--r--pkg/gui/keybindings.go40
4 files changed, 70 insertions, 39 deletions
diff --git a/pkg/gui/cheatsheet.go b/pkg/gui/cheatsheet.go
index af6d7d9..43020a5 100644
--- a/pkg/gui/cheatsheet.go
+++ b/pkg/gui/cheatsheet.go
@@ -17,10 +17,9 @@ func (gui *Gui) openCheatSheetView(g *gocui.Gui, v *gocui.View) error {
return err
}
v.Title = cheatSheetViewFeature.Title
- fmt.Fprintln(v, " ")
for _, k := range gui.KeyBindings {
if k.View == mainViewFeature.Name || k.View == "" {
- binding := " " + k.Display + ": " + k.Description
+ binding := " " + cyan.Sprint(k.Display) + ": " + k.Description
fmt.Fprintln(v, binding)
}
}
diff --git a/pkg/gui/diffview.go b/pkg/gui/diffview.go
index 06038d8..6f512ce 100644
--- a/pkg/gui/diffview.go
+++ b/pkg/gui/diffview.go
@@ -54,39 +54,6 @@ func (gui *Gui) closeCommitDiffView(g *gocui.Gui, v *gocui.View) error {
return nil
}
-// cursor down acts like half-page down for faster scrolling
-func (gui *Gui) commitCursorDown(g *gocui.Gui, v *gocui.View) error {
- if v != nil {
- ox, oy := v.Origin()
- _, vy := v.Size()
-
- // TODO: do something when it hits bottom
- if err := v.SetOrigin(ox, oy+vy/2); err != nil {
- return err
- }
- }
- return nil
-}
-
-// cursor up acts like half-page up for faster scrolling
-func (gui *Gui) commitCursorUp(g *gocui.Gui, v *gocui.View) error {
- if v != nil {
- ox, oy := v.Origin()
- _, vy := v.Size()
-
- if oy-vy/2 > 0 {
- if err := v.SetOrigin(ox, oy-vy/2); err != nil {
- return err
- }
- } else if oy-vy/2 <= 0 {
- if err := v.SetOrigin(0, 0); err != nil {
- return err
- }
- }
- }
- return nil
-}
-
// colorize the plain diff text collected from system output
// the style is near to original diff command
func colorizeDiff(original string) (colorized []string) {
diff --git a/pkg/gui/gui-util.go b/pkg/gui/gui-util.go
index d3f0934..2ae8cae 100644
--- a/pkg/gui/gui-util.go
+++ b/pkg/gui/gui-util.go
@@ -132,3 +132,36 @@ func (gui *Gui) refreshAfterSort(g *gocui.Gui) error {
gui.refreshViews(g, entity)
return nil
}
+
+// cursor down acts like half-page down for faster scrolling
+func (gui *Gui) fastCursorDown(g *gocui.Gui, v *gocui.View) error {
+ if v != nil {
+ ox, oy := v.Origin()
+ _, vy := v.Size()
+
+ // TODO: do something when it hits bottom
+ if err := v.SetOrigin(ox, oy+vy/2); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// cursor up acts like half-page up for faster scrolling
+func (gui *Gui) fastCursorUp(g *gocui.Gui, v *gocui.View) error {
+ if v != nil {
+ ox, oy := v.Origin()
+ _, vy := v.Size()
+
+ if oy-vy/2 > 0 {
+ if err := v.SetOrigin(ox, oy-vy/2); err != nil {
+ return err
+ }
+ } else if oy-vy/2 <= 0 {
+ if err := v.SetOrigin(0, 0); err != nil {
+ return err
+ }
+ }
+ }
+ return nil
+}
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 5905f2f..a388b51 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -193,7 +193,7 @@ func (gui *Gui) generateKeybindings() error {
View: commitDiffViewFeature.Name,
Key: gocui.KeyArrowUp,
Modifier: gocui.ModNone,
- Handler: gui.commitCursorUp,
+ Handler: gui.fastCursorUp,
Display: "↑",
Description: "Page up",
Vital: true,
@@ -201,7 +201,7 @@ func (gui *Gui) generateKeybindings() error {
View: commitDiffViewFeature.Name,
Key: gocui.KeyArrowDown,
Modifier: gocui.ModNone,
- Handler: gui.commitCursorDown,
+ Handler: gui.fastCursorDown,
Display: "↓",
Description: "Page down",
Vital: true,
@@ -209,7 +209,7 @@ func (gui *Gui) generateKeybindings() error {
View: commitDiffViewFeature.Name,
Key: 'k',
Modifier: gocui.ModNone,
- Handler: gui.commitCursorUp,
+ Handler: gui.fastCursorUp,
Display: "k",
Description: "Page up",
Vital: false,
@@ -217,7 +217,7 @@ func (gui *Gui) generateKeybindings() error {
View: commitDiffViewFeature.Name,
Key: 'j',
Modifier: gocui.ModNone,
- Handler: gui.commitCursorDown,
+ Handler: gui.fastCursorDown,
Display: "j",
Description: "Page down",
Vital: false,
@@ -230,6 +230,38 @@ func (gui *Gui) generateKeybindings() error {
Description: "close/cancel",
Vital: true,
}, {
+ View: cheatSheetViewFeature.Name,
+ Key: gocui.KeyArrowUp,
+ Modifier: gocui.ModNone,
+ Handler: gui.fastCursorUp,
+ Display: "↑",
+ Description: "Up",
+ Vital: true,
+ }, {
+ View: cheatSheetViewFeature.Name,
+ Key: gocui.KeyArrowDown,
+ Modifier: gocui.ModNone,
+ Handler: gui.fastCursorDown,
+ Display: "↓",
+ Description: "Down",
+ Vital: true,
+ }, {
+ View: cheatSheetViewFeature.Name,
+ Key: 'k',
+ Modifier: gocui.ModNone,
+ Handler: gui.fastCursorUp,
+ Display: "k",
+ Description: "Up",
+ Vital: false,
+ }, {
+ View: cheatSheetViewFeature.Name,
+ Key: 'j',
+ Modifier: gocui.ModNone,
+ Handler: gui.fastCursorDown,
+ Display: "j",
+ Description: "Down",
+ Vital: false,
+ }, {
View: errorViewFeature.Name,
Key: 'c',
Modifier: gocui.ModNone,