mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-01-10 04:07:18 +02:00
centralise code for copying to clipboard
This commit is contained in:
parent
442f6cd854
commit
438abd6003
@ -460,15 +460,6 @@ func (gui *Gui) currentBranch() *commands.Branch {
|
||||
return gui.State.Branches[0]
|
||||
}
|
||||
|
||||
func (gui *Gui) handleClipboardCopyBranch(g *gocui.Gui, v *gocui.View) error {
|
||||
branch := gui.getSelectedBranch()
|
||||
if branch == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.OSCommand.CopyToClipboard(branch.Name)
|
||||
}
|
||||
|
||||
func (gui *Gui) handleNewBranchOffCurrentItem() error {
|
||||
context := gui.currentSideContext()
|
||||
|
||||
|
@ -571,12 +571,3 @@ func (gui *Gui) handleGotoBottomForCommitsPanel(g *gocui.Gui, v *gocui.View) err
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (gui *Gui) handleClipboardCopyCommit(g *gocui.Gui, v *gocui.View) error {
|
||||
commit := gui.getSelectedLocalCommit()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.OSCommand.CopyToClipboard(commit.Sha)
|
||||
}
|
||||
|
@ -693,3 +693,12 @@ func (gui *Gui) getCurrentSideView() *gocui.View {
|
||||
|
||||
return view
|
||||
}
|
||||
|
||||
func (gui *Gui) getSideContextSelectedItem() ListItem {
|
||||
currentSideContext := gui.currentSideContext()
|
||||
if currentSideContext == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return currentSideContext.GetSelectedItem()
|
||||
}
|
||||
|
@ -178,3 +178,14 @@ func (gui *Gui) fetch(canPromptForCredentials bool) (err error) {
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (gui *Gui) handleCopySelectedSideContextItemToClipboard() error {
|
||||
// important to note that this assumes we've selected an item in a side context
|
||||
item := gui.getSideContextSelectedItem()
|
||||
|
||||
if item == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.OSCommand.CopyToClipboard(item.ID())
|
||||
}
|
||||
|
@ -552,7 +552,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||
ViewName: "branches",
|
||||
Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY},
|
||||
Key: gui.getKey("universal.copyToClipboard"),
|
||||
Handler: gui.handleClipboardCopyBranch,
|
||||
Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard),
|
||||
Description: gui.Tr.SLocalize("copyBranchNameToClipboard"),
|
||||
},
|
||||
{
|
||||
@ -765,7 +765,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||
ViewName: "commits",
|
||||
Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY},
|
||||
Key: gui.getKey("universal.copyToClipboard"),
|
||||
Handler: gui.handleClipboardCopyCommit,
|
||||
Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard),
|
||||
Description: gui.Tr.SLocalize("copyCommitShaToClipboard"),
|
||||
},
|
||||
{
|
||||
@ -860,6 +860,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||
Handler: gui.wrappedHandler(gui.exitCherryPickingMode),
|
||||
Description: gui.Tr.SLocalize("resetCherryPick"),
|
||||
},
|
||||
{
|
||||
ViewName: "commits",
|
||||
Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY},
|
||||
Key: gui.getKey("universal.copyToClipboard"),
|
||||
Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard),
|
||||
Description: gui.Tr.SLocalize("copyCommitShaToClipboard"),
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{SUB_COMMITS_CONTEXT_KEY},
|
||||
@ -909,6 +916,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||
Handler: gui.wrappedHandler(gui.exitCherryPickingMode),
|
||||
Description: gui.Tr.SLocalize("resetCherryPick"),
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{SUB_COMMITS_CONTEXT_KEY},
|
||||
Key: gui.getKey("universal.copyToClipboard"),
|
||||
Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard),
|
||||
Description: gui.Tr.SLocalize("copyCommitShaToClipboard"),
|
||||
},
|
||||
{
|
||||
ViewName: "stash",
|
||||
Key: gui.getKey("universal.goInto"),
|
||||
|
Loading…
Reference in New Issue
Block a user