diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 7e52102..438c58c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,6 @@ # Summary -- [] Closes issue #... +- [] Closes # - [] I have read the [CONTIBUTING.md](../CONTRIBUTING.md) and [AI_POLICY.md](../AI_POLICY.md) guides ## How Did You Test this Change? diff --git a/README.md b/README.md index c703510..0d6226e 100644 --- a/README.md +++ b/README.md @@ -214,8 +214,10 @@ If you want the exact delta configuration I'm using - [it can be found here](htt | k | Previous node | | n | Next file | | p / N | Previous file | -| Ctrl-d | Scroll the diff down | -| Ctrl-u | Scroll the diff up | +| Ctrl-d | Scroll the diff half page down | +| Ctrl-u | Scroll the diff half page up | +| Ctrl-e | Scroll the diff one line down | +| Ctrl-y | Scroll the diff one line up | | e | Toggle the file tree | | t | Search/go-to file | | y | Copy file path | diff --git a/pkg/ui/keys.go b/pkg/ui/keys.go index 0969e75..b2e4b79 100644 --- a/pkg/ui/keys.go +++ b/pkg/ui/keys.go @@ -14,6 +14,8 @@ type KeyMap struct { PrevFile key.Binding CtrlD key.Binding CtrlU key.Binding + CtrlE key.Binding + CtrlY key.Binding ScrollLeft key.Binding ScrollRight key.Binding ToggleFileTree key.Binding @@ -67,11 +69,19 @@ var keys = &KeyMap{ ), CtrlD: key.NewBinding( key.WithKeys("ctrl+d"), - key.WithHelp("ctrl+d", "diff down"), + key.WithHelp("ctrl+d", "diff half page down"), ), CtrlU: key.NewBinding( key.WithKeys("ctrl+u"), - key.WithHelp("ctrl+u", "diff up"), + key.WithHelp("ctrl+u", "diff half page up"), + ), + CtrlE: key.NewBinding( + key.WithKeys("ctrl+e"), + key.WithHelp("ctrl+e", "diff line down"), + ), + CtrlY: key.NewBinding( + key.WithKeys("ctrl+y"), + key.WithHelp("ctrl+y", "diff line up"), ), ScrollLeft: key.NewBinding( key.WithKeys("left"), diff --git a/pkg/ui/tui.go b/pkg/ui/tui.go index 225f37e..b3c10fc 100644 --- a/pkg/ui/tui.go +++ b/pkg/ui/tui.go @@ -326,7 +326,14 @@ func (m mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { if cmd != nil { cmds = append(cmds, cmd) } - case key.Matches(msg, keys.CtrlD, keys.CtrlU): + + case key.Matches(msg, keys.CtrlE): + m.diffViewer.ScrollDown(1) + + case key.Matches(msg, keys.CtrlY): + m.diffViewer.ScrollUp(1) + + case key.Matches(msg, keys.CtrlD, keys.CtrlU, keys.CtrlE, keys.CtrlY): m.diffViewer, cmd = m.diffViewer.Update(msg) cmds = append(cmds, cmd) default: