summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authornullawhale <kura98.21@gmail.com>2020-10-12 11:13:19 +0300
committerJesse Duffield <jessedduffield@gmail.com>2020-10-12 21:04:01 +1100
commit1ff405edd8aa818a2924ab61c930ab58a77e03ea (patch)
tree7b0182047653f70c340e57b57c12e47dc63c55a2 /pkg/gui
parent031e97ef91654a53e7e534e7d4aa032e06eee319 (diff)
Copy a commit message to clipboard: Changes to latest version
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/commits_panel.go13
-rw-r--r--pkg/gui/keybindings.go7
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),