diff --git a/pkg/ui/pages/repo/log.go b/pkg/ui/pages/repo/log.go index d58118246f2af89de24ecb4e13be368a1b1828c0..e38399f492842c0e2624b6ff0a5f061022d448e5 100644 --- a/pkg/ui/pages/repo/log.go +++ b/pkg/ui/pages/repo/log.go @@ -117,9 +117,12 @@ func (l *Log) ShortHelp() []key.Binding { copyKey, } case logViewDiff: + copyKey := l.common.KeyMap.Copy + copyKey.SetHelp("c", "copy diff") return []key.Binding{ l.common.KeyMap.UpDown, l.common.KeyMap.BackItem, + copyKey, l.common.KeyMap.GotoTop, l.common.KeyMap.GotoBottom, } @@ -154,9 +157,12 @@ func (l *Log) FullHelp() [][]key.Binding { }, }...) case logViewDiff: + copyKey := l.common.KeyMap.Copy + copyKey.SetHelp("c", "copy diff") k := l.vp.KeyMap b = append(b, []key.Binding{ l.common.KeyMap.BackItem, + copyKey, }) b = append(b, [][]key.Binding{ { @@ -252,6 +258,10 @@ func (l *Log) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch { case key.Matches(kmsg, l.common.KeyMap.BackItem): l.goBack() + case key.Matches(kmsg, l.common.KeyMap.Copy): + if l.currentDiff != nil { + cmds = append(cmds, copyCmd(l.currentDiff.Patch(), "Commit diff copied to clipboard")) + } } } }