mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-04-21 12:16:54 +02:00
Merge branch 'master' into custom-keybindings
This commit is contained in:
commit
c507e5f562
@ -1109,3 +1109,7 @@ func (c *GitCommand) DeleteTag(tagName string) error {
|
|||||||
func (c *GitCommand) PushTag(remoteName string, tagName string) error {
|
func (c *GitCommand) PushTag(remoteName string, tagName string) error {
|
||||||
return c.OSCommand.RunCommand("git push %s %s", remoteName, tagName)
|
return c.OSCommand.RunCommand("git push %s %s", remoteName, tagName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *GitCommand) FetchRemote(remoteName string) error {
|
||||||
|
return c.OSCommand.RunCommand("git fetch %s", remoteName)
|
||||||
|
}
|
||||||
|
@ -83,3 +83,38 @@ func (gui *Gui) RenderCommitLength() {
|
|||||||
v := gui.getCommitMessageView()
|
v := gui.getCommitMessageView()
|
||||||
v.Subtitle = gui.getBufferLength(v)
|
v.Subtitle = gui.getBufferLength(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// we've just copy+pasted the editor from gocui to here so that we can also re-
|
||||||
|
// render the commit message length on each keypress
|
||||||
|
func (gui *Gui) commitMessageEditor(v *gocui.View, key gocui.Key, ch rune, mod gocui.Modifier) {
|
||||||
|
switch {
|
||||||
|
case key == gocui.KeyBackspace || key == gocui.KeyBackspace2:
|
||||||
|
v.EditDelete(true)
|
||||||
|
case key == gocui.KeyDelete:
|
||||||
|
v.EditDelete(false)
|
||||||
|
case key == gocui.KeyArrowDown:
|
||||||
|
v.MoveCursor(0, 1, false)
|
||||||
|
case key == gocui.KeyArrowUp:
|
||||||
|
v.MoveCursor(0, -1, false)
|
||||||
|
case key == gocui.KeyArrowLeft:
|
||||||
|
v.MoveCursor(-1, 0, false)
|
||||||
|
case key == gocui.KeyArrowRight:
|
||||||
|
v.MoveCursor(1, 0, false)
|
||||||
|
case key == gocui.KeyTab:
|
||||||
|
v.EditNewLine()
|
||||||
|
case key == gocui.KeySpace:
|
||||||
|
v.EditWrite(' ')
|
||||||
|
case key == gocui.KeyInsert:
|
||||||
|
v.Overwrite = !v.Overwrite
|
||||||
|
case key == gocui.KeyCtrlU:
|
||||||
|
v.EditDeleteToStartOfLine()
|
||||||
|
case key == gocui.KeyCtrlA:
|
||||||
|
v.EditGotoToStartOfLine()
|
||||||
|
case key == gocui.KeyCtrlE:
|
||||||
|
v.EditGotoToEndOfLine()
|
||||||
|
default:
|
||||||
|
v.EditWrite(ch)
|
||||||
|
}
|
||||||
|
|
||||||
|
gui.RenderCommitLength()
|
||||||
|
}
|
||||||
|
@ -553,6 +553,7 @@ func (gui *Gui) layout(g *gocui.Gui) error {
|
|||||||
commitMessageView.Title = gui.Tr.SLocalize("CommitMessage")
|
commitMessageView.Title = gui.Tr.SLocalize("CommitMessage")
|
||||||
commitMessageView.FgColor = textColor
|
commitMessageView.FgColor = textColor
|
||||||
commitMessageView.Editable = true
|
commitMessageView.Editable = true
|
||||||
|
commitMessageView.Editor = gocui.EditorFunc(gui.commitMessageEditor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -737,6 +737,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
|||||||
Handler: gui.handleRemoteBranchesEscape,
|
Handler: gui.handleRemoteBranchesEscape,
|
||||||
Description: gui.Tr.SLocalize("ReturnToRemotesList"),
|
Description: gui.Tr.SLocalize("ReturnToRemotesList"),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
ViewName: "branches",
|
||||||
|
Contexts: []string{"remotes"},
|
||||||
|
Key: 'f',
|
||||||
|
Modifier: gocui.ModNone,
|
||||||
|
Handler: gui.handleFetchRemote,
|
||||||
|
Description: gui.Tr.SLocalize("fetchRemote"),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
Key: gui.getKey("commits.squashDown"),
|
Key: gui.getKey("commits.squashDown"),
|
||||||
|
@ -176,3 +176,18 @@ func (gui *Gui) handleEditRemote(g *gocui.Gui, v *gocui.View) error {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (gui *Gui) handleFetchRemote(g *gocui.Gui, v *gocui.View) error {
|
||||||
|
remote := gui.getSelectedRemote()
|
||||||
|
if remote == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return gui.WithWaitingStatus(gui.Tr.SLocalize("FetchingRemoteStatus"), func() error {
|
||||||
|
if err := gui.GitCommand.FetchRemote(remote.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return gui.refreshRemotes()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -912,6 +912,12 @@ func addEnglish(i18nObject *i18n.Bundle) error {
|
|||||||
}, &i18n.Message{
|
}, &i18n.Message{
|
||||||
ID: "CreateTagTitle",
|
ID: "CreateTagTitle",
|
||||||
Other: "Tag name:",
|
Other: "Tag name:",
|
||||||
|
}, &i18n.Message{
|
||||||
|
ID: "fetchRemote",
|
||||||
|
Other: "fetch remote",
|
||||||
|
}, &i18n.Message{
|
||||||
|
ID: "FetchingRemoteStatus",
|
||||||
|
Other: "fetching remote",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user