diff options
author | nullawhale <kura98.21@gmail.com> | 2020-10-12 11:13:19 +0300 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-12 21:04:01 +1100 |
commit | 1ff405edd8aa818a2924ab61c930ab58a77e03ea (patch) | |
tree | 7b0182047653f70c340e57b57c12e47dc63c55a2 /pkg/gui | |
parent | 031e97ef91654a53e7e534e7d4aa032e06eee319 (diff) |
Copy a commit message to clipboard: Changes to latest version
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/commits_panel.go | 13 | ||||
-rw-r--r-- | pkg/gui/keybindings.go | 7 |
2 files changed, 20 insertions, 0 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index 10932c1c8..36fa7bd44 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -591,3 +591,16 @@ func (gui *Gui) handleGotoBottomForCommitsPanel(g *gocui.Gui, v *gocui.View) err return nil } + +func (gui *Gui) handleCopySelectedCommitMessageToClipboard() error { + commit := gui.getSelectedLocalCommit() + if commit == nil { + return nil + } + + message, err := gui.GitCommand.GetCommitMessage(commit.Sha) + if err != nil { + return gui.surfaceError(err) + } + return gui.OSCommand.CopyToClipboard(message) +} diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 2093bfca7..ba3e7a509 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -823,6 +823,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "commits", + Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Key: gui.getKey(config.Commits.CopyCommitMessageToClipboard), + Handler: gui.wrappedHandler(gui.handleCopySelectedCommitMessageToClipboard), + Description: gui.Tr.LcCopyCommitMessageToClipboard, + }, + { + ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.wrappedHandler(gui.handleViewReflogCommitFiles), |