mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-17 00:18:05 +02:00
Warn users when attempting to cherry pick with old key
I wrote this feature and even I sometimes use the wrong key so I want to make this very clear to users so that there's no confusion
This commit is contained in:
@ -106,6 +106,14 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
|||||||
GetDisabledReason: self.require(self.singleItemSelected()),
|
GetDisabledReason: self.require(self.singleItemSelected()),
|
||||||
Description: self.c.Tr.OpenDiffTool,
|
Description: self.c.Tr.OpenDiffTool,
|
||||||
},
|
},
|
||||||
|
// Putting this at the bottom of the list so that it has the lowest priority,
|
||||||
|
// meaning that if the user has configured another keybinding to the same key
|
||||||
|
// then that will take precedence.
|
||||||
|
{
|
||||||
|
// Hardcoding this key because it's not configurable
|
||||||
|
Key: opts.GetKey("c"),
|
||||||
|
Handler: self.handleOldCherryPickKey,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return bindings
|
return bindings
|
||||||
@ -284,6 +292,16 @@ func (self *BasicCommitsController) copyRange(*models.Commit) error {
|
|||||||
return self.c.Helpers().CherryPick.CopyRange(self.context.GetCommits(), self.context)
|
return self.c.Helpers().CherryPick.CopyRange(self.context.GetCommits(), self.context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *BasicCommitsController) handleOldCherryPickKey() error {
|
||||||
|
msg := utils.ResolvePlaceholderString(self.c.Tr.OldCherryPickKeyWarning,
|
||||||
|
map[string]string{
|
||||||
|
"copy": keybindings.Label(self.c.UserConfig.Keybinding.Commits.CherryPickCopy),
|
||||||
|
"paste": keybindings.Label(self.c.UserConfig.Keybinding.Commits.PasteCommits),
|
||||||
|
})
|
||||||
|
|
||||||
|
return self.c.ErrorMsg(msg)
|
||||||
|
}
|
||||||
|
|
||||||
func (self *BasicCommitsController) openDiffTool(commit *models.Commit) error {
|
func (self *BasicCommitsController) openDiffTool(commit *models.Commit) error {
|
||||||
to := commit.RefName()
|
to := commit.RefName()
|
||||||
from, reverse := self.c.Modes().Diffing.GetFromAndReverseArgsForDiff(commit.ParentRefName())
|
from, reverse := self.c.Modes().Diffing.GetFromAndReverseArgsForDiff(commit.ParentRefName())
|
||||||
|
@ -753,6 +753,7 @@ type TranslationSet struct {
|
|||||||
NoItemSelected string
|
NoItemSelected string
|
||||||
SelectedItemIsNotABranch string
|
SelectedItemIsNotABranch string
|
||||||
RangeSelectNotSupportedForSubmodules string
|
RangeSelectNotSupportedForSubmodules string
|
||||||
|
OldCherryPickKeyWarning string
|
||||||
Actions Actions
|
Actions Actions
|
||||||
Bisect Bisect
|
Bisect Bisect
|
||||||
Log Log
|
Log Log
|
||||||
@ -1685,6 +1686,8 @@ func EnglishTranslationSet() TranslationSet {
|
|||||||
NoItemSelected: "No item selected",
|
NoItemSelected: "No item selected",
|
||||||
SelectedItemIsNotABranch: "Selected item is not a branch",
|
SelectedItemIsNotABranch: "Selected item is not a branch",
|
||||||
RangeSelectNotSupportedForSubmodules: "Range select not supported for submodules",
|
RangeSelectNotSupportedForSubmodules: "Range select not supported for submodules",
|
||||||
|
OldCherryPickKeyWarning: "The 'c' key is no longer the default key for copying commits to cherry pick. Please use `{{.copy}}` instead (and `{{.paste}}` to paste). The reason for this change is that the 'v' key for selecting a range of lines when staging is now also used for selecting a range of lines in any list view, meaning that we needed to find a new key for pasting commits, and if we're going to now use `{{.paste}}` for pasting commits, we may as well use `{{.copy}}` for copying them. If you want to configure the keybindings to get the old behaviour, set the following in your config:\n\nkeybinding:\n universal:\n toggleRangeSelect: <something other than v>\n commits:\n cherryPickCopy: 'c'\n pasteCommits: 'v'",
|
||||||
|
|
||||||
Actions: Actions{
|
Actions: Actions{
|
||||||
// TODO: combine this with the original keybinding descriptions (those are all in lowercase atm)
|
// TODO: combine this with the original keybinding descriptions (those are all in lowercase atm)
|
||||||
CheckoutCommit: "Checkout commit",
|
CheckoutCommit: "Checkout commit",
|
||||||
|
Reference in New Issue
Block a user