1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2024-12-14 11:23:09 +02:00
lazygit/pkg/config/user_config.go

574 lines
23 KiB
Go
Raw Normal View History

2020-10-03 06:54:55 +02:00
package config
import (
"time"
)
2020-10-04 00:53:56 +02:00
type UserConfig struct {
Gui GuiConfig `yaml:"gui"`
Git GitConfig `yaml:"git"`
Update UpdateConfig `yaml:"update"`
2021-01-05 19:38:49 +02:00
Refresher RefresherConfig `yaml:"refresher"`
2020-10-04 00:53:56 +02:00
Reporting string `yaml:"reporting"`
SplashUpdatesIndex int `yaml:"splashUpdatesIndex"`
ConfirmOnQuit bool `yaml:"confirmOnQuit"`
QuitOnTopLevelReturn bool `yaml:"quitOnTopLevelReturn"`
Keybinding KeybindingConfig `yaml:"keybinding"`
// OS determines what defaults are set for opening files and links
OS OSConfig `yaml:"os,omitempty"`
DisableStartupPopups bool `yaml:"disableStartupPopups"`
CustomCommands []CustomCommand `yaml:"customCommands"`
Services map[string]string `yaml:"services"`
NotARepository string `yaml:"notARepository"`
PromptToReturnFromSubprocess bool `yaml:"promptToReturnFromSubprocess"`
2020-10-04 00:53:56 +02:00
}
2021-01-05 19:38:49 +02:00
type RefresherConfig struct {
RefreshInterval int `yaml:"refreshInterval"`
FetchInterval int `yaml:"fetchInterval"`
}
2020-10-04 00:53:56 +02:00
type GuiConfig struct {
AuthorColors map[string]string `yaml:"authorColors"`
BranchColors map[string]string `yaml:"branchColors"`
ScrollHeight int `yaml:"scrollHeight"`
ScrollPastBottom bool `yaml:"scrollPastBottom"`
MouseEvents bool `yaml:"mouseEvents"`
SkipUnstageLineWarning bool `yaml:"skipUnstageLineWarning"`
SkipStashWarning bool `yaml:"skipStashWarning"`
SidePanelWidth float64 `yaml:"sidePanelWidth"`
ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"`
MainPanelSplitMode string `yaml:"mainPanelSplitMode"`
Language string `yaml:"language"`
TimeFormat string `yaml:"timeFormat"`
Theme ThemeConfig `yaml:"theme"`
CommitLength CommitLengthConfig `yaml:"commitLength"`
SkipNoStagedFilesWarning bool `yaml:"skipNoStagedFilesWarning"`
2021-06-14 10:17:08 +02:00
ShowListFooter bool `yaml:"showListFooter"`
ShowFileTree bool `yaml:"showFileTree"`
2021-04-12 13:41:12 +02:00
ShowRandomTip bool `yaml:"showRandomTip"`
2021-04-11 07:01:49 +02:00
ShowCommandLog bool `yaml:"showCommandLog"`
2022-04-18 01:41:40 +02:00
ShowBottomLine bool `yaml:"showBottomLine"`
2022-04-23 03:14:42 +02:00
ShowIcons bool `yaml:"showIcons"`
2021-04-11 14:03:55 +02:00
CommandLogSize int `yaml:"commandLogSize"`
SplitDiff string `yaml:"splitDiff"`
2020-10-03 06:54:55 +02:00
}
type ThemeConfig struct {
2021-09-29 15:00:56 +02:00
LightTheme bool `yaml:"lightTheme"`
ActiveBorderColor []string `yaml:"activeBorderColor"`
InactiveBorderColor []string `yaml:"inactiveBorderColor"`
OptionsTextColor []string `yaml:"optionsTextColor"`
SelectedLineBgColor []string `yaml:"selectedLineBgColor"`
SelectedRangeBgColor []string `yaml:"selectedRangeBgColor"`
CherryPickedCommitBgColor []string `yaml:"cherryPickedCommitBgColor"`
CherryPickedCommitFgColor []string `yaml:"cherryPickedCommitFgColor"`
2022-01-29 01:15:55 +02:00
UnstagedChangesColor []string `yaml:"unstagedChangesColor"`
2020-10-03 06:54:55 +02:00
}
2020-10-04 00:53:56 +02:00
type CommitLengthConfig struct {
Show bool `yaml:"show"`
2020-10-03 06:54:55 +02:00
}
2020-10-04 00:53:56 +02:00
type GitConfig struct {
Paging PagingConfig `yaml:"paging"`
Commit CommitConfig `yaml:"commit"`
2020-10-04 00:53:56 +02:00
Merging MergingConfig `yaml:"merging"`
SkipHookPrefix string `yaml:"skipHookPrefix"`
AutoFetch bool `yaml:"autoFetch"`
AutoRefresh bool `yaml:"autoRefresh"`
2020-10-04 00:53:56 +02:00
BranchLogCmd string `yaml:"branchLogCmd"`
2020-11-27 09:07:14 +02:00
AllBranchesLogCmd string `yaml:"allBranchesLogCmd"`
2020-10-04 00:53:56 +02:00
OverrideGpg bool `yaml:"overrideGpg"`
DisableForcePushing bool `yaml:"disableForcePushing"`
CommitPrefixes map[string]CommitPrefixConfig `yaml:"commitPrefixes"`
2022-04-03 22:19:15 +02:00
// this should really be under 'gui', not 'git'
ParseEmoji bool `yaml:"parseEmoji"`
Log LogConfig `yaml:"log"`
DiffContextSize int `yaml:"diffContextSize"`
2020-10-04 00:53:56 +02:00
}
2020-10-03 06:54:55 +02:00
2020-10-04 00:53:56 +02:00
type PagingConfig struct {
ColorArg string `yaml:"colorArg"`
Pager string `yaml:"pager"`
UseConfig bool `yaml:"useConfig"`
}
2020-10-03 06:54:55 +02:00
type CommitConfig struct {
SignOff bool `yaml:"signOff"`
}
2020-10-04 00:53:56 +02:00
type MergingConfig struct {
ManualCommit bool `yaml:"manualCommit"`
Args string `yaml:"args"`
}
2021-11-02 11:05:23 +02:00
type LogConfig struct {
2022-05-30 17:19:48 +02:00
Order string `yaml:"order"` // one of date-order, author-date-order, topo-order
ShowGraph string `yaml:"showGraph"` // one of always, never, when-maximised
ShowWholeGraph bool `yaml:"showWholeGraph"`
2021-11-02 11:05:23 +02:00
}
2020-10-04 00:53:56 +02:00
type CommitPrefixConfig struct {
Pattern string `yaml:"pattern"`
Replace string `yaml:"replace"`
}
type UpdateConfig struct {
Method string `yaml:"method"`
Days int64 `yaml:"days"`
}
type KeybindingConfig struct {
Universal KeybindingUniversalConfig `yaml:"universal"`
Status KeybindingStatusConfig `yaml:"status"`
Files KeybindingFilesConfig `yaml:"files"`
Branches KeybindingBranchesConfig `yaml:"branches"`
Commits KeybindingCommitsConfig `yaml:"commits"`
Stash KeybindingStashConfig `yaml:"stash"`
CommitFiles KeybindingCommitFilesConfig `yaml:"commitFiles"`
Main KeybindingMainConfig `yaml:"main"`
Submodules KeybindingSubmodulesConfig `yaml:"submodules"`
}
2021-04-11 15:32:20 +02:00
// damn looks like we have some inconsistencies here with -alt and -alt1
2020-10-04 00:53:56 +02:00
type KeybindingUniversalConfig struct {
Quit string `yaml:"quit"`
QuitAlt1 string `yaml:"quit-alt1"`
Return string `yaml:"return"`
QuitWithoutChangingDirectory string `yaml:"quitWithoutChangingDirectory"`
TogglePanel string `yaml:"togglePanel"`
PrevItem string `yaml:"prevItem"`
NextItem string `yaml:"nextItem"`
PrevItemAlt string `yaml:"prevItem-alt"`
NextItemAlt string `yaml:"nextItem-alt"`
PrevPage string `yaml:"prevPage"`
NextPage string `yaml:"nextPage"`
2021-11-02 11:35:53 +02:00
ScrollLeft string `yaml:"scrollLeft"`
ScrollRight string `yaml:"scrollRight"`
GotoTop string `yaml:"gotoTop"`
GotoBottom string `yaml:"gotoBottom"`
PrevBlock string `yaml:"prevBlock"`
NextBlock string `yaml:"nextBlock"`
PrevBlockAlt string `yaml:"prevBlock-alt"`
NextBlockAlt string `yaml:"nextBlock-alt"`
NextBlockAlt2 string `yaml:"nextBlock-alt2"`
PrevBlockAlt2 string `yaml:"prevBlock-alt2"`
JumpToBlock []string `yaml:"jumpToBlock"`
NextMatch string `yaml:"nextMatch"`
PrevMatch string `yaml:"prevMatch"`
StartSearch string `yaml:"startSearch"`
OptionMenu string `yaml:"optionMenu"`
OptionMenuAlt1 string `yaml:"optionMenu-alt1"`
Select string `yaml:"select"`
GoInto string `yaml:"goInto"`
Confirm string `yaml:"confirm"`
ConfirmAlt1 string `yaml:"confirm-alt1"`
Remove string `yaml:"remove"`
New string `yaml:"new"`
Edit string `yaml:"edit"`
OpenFile string `yaml:"openFile"`
ScrollUpMain string `yaml:"scrollUpMain"`
ScrollDownMain string `yaml:"scrollDownMain"`
ScrollUpMainAlt1 string `yaml:"scrollUpMain-alt1"`
ScrollDownMainAlt1 string `yaml:"scrollDownMain-alt1"`
ScrollUpMainAlt2 string `yaml:"scrollUpMain-alt2"`
ScrollDownMainAlt2 string `yaml:"scrollDownMain-alt2"`
ExecuteCustomCommand string `yaml:"executeCustomCommand"`
CreateRebaseOptionsMenu string `yaml:"createRebaseOptionsMenu"`
PushFiles string `yaml:"pushFiles"`
PullFiles string `yaml:"pullFiles"`
Refresh string `yaml:"refresh"`
CreatePatchOptionsMenu string `yaml:"createPatchOptionsMenu"`
NextTab string `yaml:"nextTab"`
PrevTab string `yaml:"prevTab"`
NextScreenMode string `yaml:"nextScreenMode"`
PrevScreenMode string `yaml:"prevScreenMode"`
Undo string `yaml:"undo"`
Redo string `yaml:"redo"`
FilteringMenu string `yaml:"filteringMenu"`
DiffingMenu string `yaml:"diffingMenu"`
DiffingMenuAlt string `yaml:"diffingMenu-alt"`
CopyToClipboard string `yaml:"copyToClipboard"`
OpenRecentRepos string `yaml:"openRecentRepos"`
SubmitEditorText string `yaml:"submitEditorText"`
AppendNewline string `yaml:"appendNewline"`
ExtrasMenu string `yaml:"extrasMenu"`
ToggleWhitespaceInDiffView string `yaml:"toggleWhitespaceInDiffView"`
IncreaseContextInDiffView string `yaml:"increaseContextInDiffView"`
DecreaseContextInDiffView string `yaml:"decreaseContextInDiffView"`
2020-10-04 00:53:56 +02:00
}
type KeybindingStatusConfig struct {
2020-11-27 09:07:14 +02:00
CheckForUpdate string `yaml:"checkForUpdate"`
RecentRepos string `yaml:"recentRepos"`
AllBranchesLogGraph string `yaml:"allBranchesLogGraph"`
2020-10-04 00:53:56 +02:00
}
type KeybindingFilesConfig struct {
CommitChanges string `yaml:"commitChanges"`
CommitChangesWithoutHook string `yaml:"commitChangesWithoutHook"`
AmendLastCommit string `yaml:"amendLastCommit"`
CommitChangesWithEditor string `yaml:"commitChangesWithEditor"`
IgnoreOrExcludeFile string `yaml:"IgnoreOrExcludeFile"`
2020-10-04 00:53:56 +02:00
RefreshFiles string `yaml:"refreshFiles"`
StashAllChanges string `yaml:"stashAllChanges"`
ViewStashOptions string `yaml:"viewStashOptions"`
ToggleStagedAll string `yaml:"toggleStagedAll"`
ViewResetOptions string `yaml:"viewResetOptions"`
Fetch string `yaml:"fetch"`
2021-03-20 23:41:06 +02:00
ToggleTreeView string `yaml:"toggleTreeView"`
2021-04-11 02:05:39 +02:00
OpenMergeTool string `yaml:"openMergeTool"`
OpenStatusFilter string `yaml:"openStatusFilter"`
2020-10-04 00:53:56 +02:00
}
type KeybindingBranchesConfig struct {
CreatePullRequest string `yaml:"createPullRequest"`
2021-04-21 13:23:36 +02:00
ViewPullRequestOptions string `yaml:"viewPullRequestOptions"`
CopyPullRequestURL string `yaml:"copyPullRequestURL"`
2020-10-04 00:53:56 +02:00
CheckoutBranchByName string `yaml:"checkoutBranchByName"`
ForceCheckoutBranch string `yaml:"forceCheckoutBranch"`
RebaseBranch string `yaml:"rebaseBranch"`
RenameBranch string `yaml:"renameBranch"`
MergeIntoCurrentBranch string `yaml:"mergeIntoCurrentBranch"`
ViewGitFlowOptions string `yaml:"viewGitFlowOptions"`
FastForward string `yaml:"fastForward"`
PushTag string `yaml:"pushTag"`
SetUpstream string `yaml:"setUpstream"`
FetchRemote string `yaml:"fetchRemote"`
}
type KeybindingCommitsConfig struct {
2022-03-24 22:04:33 +02:00
SquashDown string `yaml:"squashDown"`
RenameCommit string `yaml:"renameCommit"`
RenameCommitWithEditor string `yaml:"renameCommitWithEditor"`
ViewResetOptions string `yaml:"viewResetOptions"`
MarkCommitAsFixup string `yaml:"markCommitAsFixup"`
CreateFixupCommit string `yaml:"createFixupCommit"`
SquashAboveCommits string `yaml:"squashAboveCommits"`
MoveDownCommit string `yaml:"moveDownCommit"`
MoveUpCommit string `yaml:"moveUpCommit"`
AmendToCommit string `yaml:"amendToCommit"`
ResetCommitAuthor string `yaml:"resetCommitAuthor"`
2022-03-24 22:04:33 +02:00
PickCommit string `yaml:"pickCommit"`
RevertCommit string `yaml:"revertCommit"`
CherryPickCopy string `yaml:"cherryPickCopy"`
CherryPickCopyRange string `yaml:"cherryPickCopyRange"`
PasteCommits string `yaml:"pasteCommits"`
TagCommit string `yaml:"tagCommit"`
CheckoutCommit string `yaml:"checkoutCommit"`
ResetCherryPick string `yaml:"resetCherryPick"`
CopyCommitAttributeToClipboard string `yaml:"copyCommitAttributeToClipboard"`
OpenLogMenu string `yaml:"openLogMenu"`
OpenInBrowser string `yaml:"openInBrowser"`
ViewBisectOptions string `yaml:"viewBisectOptions"`
2020-10-04 00:53:56 +02:00
}
type KeybindingStashConfig struct {
PopStash string `yaml:"popStash"`
}
type KeybindingCommitFilesConfig struct {
CheckoutCommitFile string `yaml:"checkoutCommitFile"`
}
type KeybindingMainConfig struct {
ToggleDragSelect string `yaml:"toggleDragSelect"`
ToggleDragSelectAlt string `yaml:"toggleDragSelect-alt"`
ToggleSelectHunk string `yaml:"toggleSelectHunk"`
PickBothHunks string `yaml:"pickBothHunks"`
2022-05-04 14:20:45 +02:00
EditSelectHunk string `yaml:"editSelectHunk"`
2020-10-04 00:53:56 +02:00
}
type KeybindingSubmodulesConfig struct {
Init string `yaml:"init"`
Update string `yaml:"update"`
BulkMenu string `yaml:"bulkMenu"`
}
// OSConfig contains config on the level of the os
type OSConfig struct {
2021-05-20 08:44:58 +02:00
// EditCommand is the command for editing a file
EditCommand string `yaml:"editCommand,omitempty"`
2021-08-04 11:43:34 +02:00
// EditCommandTemplate is the command template for editing a file
EditCommandTemplate string `yaml:"editCommandTemplate,omitempty"`
2020-10-04 00:53:56 +02:00
// OpenCommand is the command for opening a file
OpenCommand string `yaml:"openCommand,omitempty"`
// OpenCommand is the command for opening a link
OpenLinkCommand string `yaml:"openLinkCommand,omitempty"`
2020-10-03 06:54:55 +02:00
}
type CustomCommand struct {
Key string `yaml:"key"`
Context string `yaml:"context"`
Command string `yaml:"command"`
Subprocess bool `yaml:"subprocess"`
Prompts []CustomCommandPrompt `yaml:"prompts"`
LoadingText string `yaml:"loadingText"`
Description string `yaml:"description"`
2022-01-19 09:32:27 +02:00
Stream bool `yaml:"stream"`
ShowOutput bool `yaml:"showOutput"`
2020-10-03 06:54:55 +02:00
}
2020-10-04 00:53:56 +02:00
type CustomCommandPrompt struct {
2022-08-14 11:15:21 +02:00
// one of 'input', 'menu', 'confirm', or 'menuFromCommand'
Type string `yaml:"type"`
2020-10-04 00:53:56 +02:00
Title string `yaml:"title"`
2022-07-04 01:27:25 +02:00
// this only apply to input prompts
2020-10-04 00:53:56 +02:00
InitialValue string `yaml:"initialValue"`
// this only applies to confirm prompts
Body string `yaml:"body"`
2020-10-04 00:53:56 +02:00
// this only applies to menus
Options []CustomCommandMenuOption
2021-07-17 19:02:11 +02:00
// this only applies to menuFromCommand
Command string `yaml:"command"`
Filter string `yaml:"filter"`
ValueFormat string `yaml:"valueFormat"`
LabelFormat string `yaml:"labelFormat"`
2020-10-04 00:53:56 +02:00
}
type CustomCommandMenuOption struct {
Name string `yaml:"name"`
Description string `yaml:"description"`
Value string `yaml:"value"`
}
func GetDefaultConfig() *UserConfig {
return &UserConfig{
Gui: GuiConfig{
ScrollHeight: 2,
ScrollPastBottom: true,
MouseEvents: true,
SkipUnstageLineWarning: false,
2022-01-24 10:05:12 +02:00
SkipStashWarning: false,
2020-10-04 00:53:56 +02:00
SidePanelWidth: 0.3333,
ExpandFocusedSidePanel: false,
MainPanelSplitMode: "flexible",
Language: "auto",
TimeFormat: time.RFC822,
2020-10-04 00:53:56 +02:00
Theme: ThemeConfig{
LightTheme: false,
ActiveBorderColor: []string{"green", "bold"},
InactiveBorderColor: []string{"white"},
OptionsTextColor: []string{"blue"},
2022-04-15 01:37:04 +02:00
SelectedLineBgColor: []string{"blue"},
SelectedRangeBgColor: []string{"blue"},
2022-04-15 01:37:04 +02:00
CherryPickedCommitBgColor: []string{"cyan"},
CherryPickedCommitFgColor: []string{"blue"},
2022-01-29 01:15:55 +02:00
UnstagedChangesColor: []string{"red"},
2020-10-04 00:53:56 +02:00
},
CommitLength: CommitLengthConfig{Show: true},
SkipNoStagedFilesWarning: false,
2021-06-14 10:17:08 +02:00
ShowListFooter: true,
2021-04-11 14:03:55 +02:00
ShowCommandLog: true,
2022-04-18 01:41:40 +02:00
ShowBottomLine: true,
2021-10-22 13:24:50 +02:00
ShowFileTree: true,
2021-04-12 13:41:12 +02:00
ShowRandomTip: true,
2022-04-23 03:14:42 +02:00
ShowIcons: false,
2021-04-11 14:03:55 +02:00
CommandLogSize: 8,
SplitDiff: "auto",
2020-10-04 00:53:56 +02:00
},
Git: GitConfig{
Paging: PagingConfig{
ColorArg: "always",
Pager: "",
2022-03-19 00:38:49 +02:00
UseConfig: false,
},
Commit: CommitConfig{
SignOff: false,
},
2020-10-04 00:53:56 +02:00
Merging: MergingConfig{
ManualCommit: false,
Args: "",
},
2021-11-02 11:05:23 +02:00
Log: LogConfig{
2022-05-30 17:19:48 +02:00
Order: "topo-order",
ShowGraph: "when-maximised",
ShowWholeGraph: false,
2021-11-02 11:05:23 +02:00
},
2020-10-04 00:53:56 +02:00
SkipHookPrefix: "WIP",
AutoFetch: true,
AutoRefresh: true,
2020-10-04 00:53:56 +02:00
BranchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --",
2020-11-27 09:07:14 +02:00
AllBranchesLogCmd: "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium",
2020-10-04 00:53:56 +02:00
DisableForcePushing: false,
CommitPrefixes: map[string]CommitPrefixConfig(nil),
2021-07-16 14:06:01 +02:00
ParseEmoji: false,
DiffContextSize: 3,
2020-10-04 00:53:56 +02:00
},
2021-01-05 19:38:49 +02:00
Refresher: RefresherConfig{
RefreshInterval: 10,
FetchInterval: 60,
},
2020-10-04 00:53:56 +02:00
Update: UpdateConfig{
Method: "prompt",
Days: 14,
},
Reporting: "undetermined",
SplashUpdatesIndex: 0,
ConfirmOnQuit: false,
QuitOnTopLevelReturn: false,
2020-10-04 00:53:56 +02:00
Keybinding: KeybindingConfig{
Universal: KeybindingUniversalConfig{
Quit: "q",
QuitAlt1: "<c-c>",
Return: "<esc>",
QuitWithoutChangingDirectory: "Q",
TogglePanel: "<tab>",
PrevItem: "<up>",
NextItem: "<down>",
PrevItemAlt: "k",
NextItemAlt: "j",
PrevPage: ",",
NextPage: ".",
2021-11-02 11:35:53 +02:00
ScrollLeft: "H",
ScrollRight: "L",
2020-10-04 00:53:56 +02:00
GotoTop: "<",
GotoBottom: ">",
PrevBlock: "<left>",
NextBlock: "<right>",
PrevBlockAlt: "h",
NextBlockAlt: "l",
2021-04-11 15:32:20 +02:00
PrevBlockAlt2: "<backtab>",
NextBlockAlt2: "<tab>",
JumpToBlock: []string{"1", "2", "3", "4", "5"},
2020-10-04 00:53:56 +02:00
NextMatch: "n",
PrevMatch: "N",
StartSearch: "/",
OptionMenu: "x",
OptionMenuAlt1: "?",
Select: "<space>",
GoInto: "<enter>",
Confirm: "<enter>",
ConfirmAlt1: "y",
Remove: "d",
New: "n",
Edit: "e",
OpenFile: "o",
OpenRecentRepos: "<c-r>",
2020-10-04 00:53:56 +02:00
ScrollUpMain: "<pgup>",
ScrollDownMain: "<pgdown>",
ScrollUpMainAlt1: "K",
ScrollDownMainAlt1: "J",
ScrollUpMainAlt2: "<c-u>",
ScrollDownMainAlt2: "<c-d>",
ExecuteCustomCommand: ":",
CreateRebaseOptionsMenu: "m",
PushFiles: "P",
PullFiles: "p",
Refresh: "R",
CreatePatchOptionsMenu: "<c-p>",
NextTab: "]",
PrevTab: "[",
NextScreenMode: "+",
PrevScreenMode: "_",
Undo: "z",
Redo: "<c-z>",
FilteringMenu: "<c-s>",
DiffingMenu: "W",
DiffingMenuAlt: "<c-e>",
CopyToClipboard: "<c-o>",
SubmitEditorText: "<enter>",
AppendNewline: "<a-enter>",
ExtrasMenu: "@",
ToggleWhitespaceInDiffView: "<c-w>",
IncreaseContextInDiffView: "}",
DecreaseContextInDiffView: "{",
2020-10-04 00:53:56 +02:00
},
Status: KeybindingStatusConfig{
2020-11-27 09:07:14 +02:00
CheckForUpdate: "u",
RecentRepos: "<enter>",
AllBranchesLogGraph: "a",
2020-10-04 00:53:56 +02:00
},
Files: KeybindingFilesConfig{
CommitChanges: "c",
CommitChangesWithoutHook: "w",
AmendLastCommit: "A",
CommitChangesWithEditor: "C",
IgnoreOrExcludeFile: "i",
2020-10-04 00:53:56 +02:00
RefreshFiles: "r",
StashAllChanges: "s",
ViewStashOptions: "S",
ToggleStagedAll: "a",
ViewResetOptions: "D",
Fetch: "f",
2021-03-20 23:41:06 +02:00
ToggleTreeView: "`",
2021-04-11 02:05:39 +02:00
OpenMergeTool: "M",
OpenStatusFilter: "<c-b>",
2020-10-04 00:53:56 +02:00
},
Branches: KeybindingBranchesConfig{
CopyPullRequestURL: "<c-y>",
2020-10-04 00:53:56 +02:00
CreatePullRequest: "o",
2021-04-21 13:23:36 +02:00
ViewPullRequestOptions: "O",
2020-10-04 00:53:56 +02:00
CheckoutBranchByName: "c",
ForceCheckoutBranch: "F",
RebaseBranch: "r",
RenameBranch: "R",
MergeIntoCurrentBranch: "M",
ViewGitFlowOptions: "i",
FastForward: "f",
PushTag: "P",
SetUpstream: "u",
FetchRemote: "f",
},
Commits: KeybindingCommitsConfig{
2022-03-24 22:04:33 +02:00
SquashDown: "s",
RenameCommit: "r",
RenameCommitWithEditor: "R",
ViewResetOptions: "g",
MarkCommitAsFixup: "f",
CreateFixupCommit: "F",
SquashAboveCommits: "S",
MoveDownCommit: "<c-j>",
MoveUpCommit: "<c-k>",
AmendToCommit: "A",
ResetCommitAuthor: "a",
2022-03-24 22:04:33 +02:00
PickCommit: "p",
RevertCommit: "t",
CherryPickCopy: "c",
CherryPickCopyRange: "C",
PasteCommits: "v",
TagCommit: "T",
CheckoutCommit: "<space>",
ResetCherryPick: "<c-R>",
CopyCommitAttributeToClipboard: "y",
OpenLogMenu: "<c-l>",
OpenInBrowser: "o",
ViewBisectOptions: "b",
2020-10-04 00:53:56 +02:00
},
Stash: KeybindingStashConfig{
PopStash: "g",
},
CommitFiles: KeybindingCommitFilesConfig{
CheckoutCommitFile: "c",
},
Main: KeybindingMainConfig{
ToggleDragSelect: "v",
ToggleDragSelectAlt: "V",
ToggleSelectHunk: "a",
PickBothHunks: "b",
2022-05-04 14:20:45 +02:00
EditSelectHunk: "E",
2020-10-04 00:53:56 +02:00
},
Submodules: KeybindingSubmodulesConfig{
Init: "i",
Update: "u",
BulkMenu: "b",
},
},
OS: GetPlatformDefaultConfig(),
DisableStartupPopups: false,
CustomCommands: []CustomCommand(nil),
Services: map[string]string(nil),
NotARepository: "prompt",
PromptToReturnFromSubprocess: true,
2020-10-04 00:53:56 +02:00
}
2020-10-03 06:54:55 +02:00
}