# yaml-language-server: $schema=https://raw.githubusercontent.com/jesseduffield/lazygit/master/schema/config.json gui: scrollHeight: 10 # how many lines you scroll by scrollPastBottom: false # enable scrolling past the bottom sidePanelWidth: 0.22 # number from 0 to 1 expandFocusedSidePanel: true theme: activeBorderColor: - "#a6da95" - bold inactiveBorderColor: - "#a5adcb" optionsTextColor: - "#8aadf4" selectedLineBgColor: - "#363a4f" cherryPickedCommitBgColor: - "#494d64" cherryPickedCommitFgColor: - "#b7bdf8" unstagedChangesColor: - "#ed8796" defaultFgColor: - "#cad3f5" searchingActiveBorderColor: - "#eed49f" commitLength: show: true branchColors: "release": "#eed49f" "hotfix": "#ed8796" "feature": "#a6da95" showBottomLine: false # for hiding the bottom information line (unless it has important information to tell you) nerdFontsVersion: "3" # nerd fonts version to use ("2" or "3"); empty means don't show nerd font icons showNumstatInFilesView: true commandLogSize: 5 showDivergenceFromBaseBranch: "arrowAndNumber" filterMode: "fuzzy" showPanelJumps: false skipRewordInEditorWarning: true # for skipping the confirmation before launching the reword editor border: "rounded" # one of 'single' | 'double' | 'rounded' | 'hidden' statusPanelView: allBranchesLog git: paging: colorArg: always pager: delta --paging=never --dark --hyperlinks-file-link-format="lazygit-edit://{path}:{line}" branchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' {{branchName}} --" parseEmoji: true allBranchesLogCmds: - git log --graph --all --color=always --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' os: editPreset: "nvim-remote" # edit: '[ -z "$NVIM" ] && (nvim -- {{filename}}) || (nvim --server "$NVIM" --remote-send "q" && nvim --server "$NVIM" --remote {{filename}})' disableStartupPopups: true notARepository: "skip" # one of: 'prompt' | 'create' | 'skip' | 'quit' promptToReturnFromSubprocess: false keybinding: universal: quit: "q" quit-alt1: "" # alternative/alias of quit return: "" # return to previous menu, will quit if there's nowhere to return quitWithoutChangingDirectory: "Q" togglePanel: "" # goto the next panel prevItem: "" # go one line up nextItem: "" # go one line down prevItem-alt: "k" # go one line up nextItem-alt: "j" # go one line down prevPage: "K" # go to next page in list nextPage: "J" # go to previous page in list gotoTop: "<" # go to top of list gotoBottom: ">" # go to bottom of list scrollLeft: "H" # scroll left within list view scrollRight: "L" # scroll right within list view prevBlock: "" # goto the previous block / panel nextBlock: "" # goto the next block / panel prevBlock-alt: "" # goto the previous block / panel nextBlock-alt: "" # goto the next block / panel jumpToBlock: ["1", "2", "3", "4", "5"] # goto the Nth block / panel nextMatch: "n" prevMatch: "N" optionMenu: # show help menu optionMenu-alt1: "?" # show help menu select: "" goInto: "" openRecentRepos: "" confirm: "" remove: "d" new: "n" edit: "e" openFile: "o" scrollUpMain: "" # main panel scroll up scrollDownMain: "" # main panel scroll down scrollUpMain-alt1: "" # main panel scroll up scrollDownMain-alt1: "" # main panel scroll down scrollUpMain-alt2: "" # main panel scroll up scrollDownMain-alt2: "" # main panel scroll down executeShellCommand: ":" createRebaseOptionsMenu: "m" pushFiles: "P" pullFiles: "p" refresh: "R" createPatchOptionsMenu: "" nextTab: "l" prevTab: "h" nextScreenMode: "+" prevScreenMode: "_" undo: "z" redo: "" filteringMenu: "" diffingMenu: "W" diffingMenu-alt: "" # deprecated copyToClipboard: "" submitEditorText: "" extrasMenu: "@" toggleWhitespaceInDiffView: "" increaseContextInDiffView: "}" decreaseContextInDiffView: "{" status: checkForUpdate: "u" recentRepos: "" files: commitChanges: "" commitChangesWithoutHook: "w" # commit changes without pre-commit hook amendLastCommit: "A" commitChangesWithEditor: "c" ignoreFile: "i" refreshFiles: "r" stashAllChanges: "s" viewStashOptions: "S" toggleStagedAll: "a" # stage/unstage all viewResetOptions: "D" fetch: "f" toggleTreeView: "`" openMergeTool: "M" openStatusFilter: "" branches: createPullRequest: "o" viewPullRequestOptions: "O" checkoutBranchByName: "c" forceCheckoutBranch: "F" rebaseBranch: "r" renameBranch: "R" mergeIntoCurrentBranch: "M" viewGitFlowOptions: "i" fastForward: "f" # fast-forward this branch from its upstream createTag: "T" pushTag: "P" setUpstream: "u" # set as upstream of checked-out branch fetchRemote: "f" commits: squashDown: "s" renameCommit: "R" renameCommitWithEditor: "r" viewResetOptions: "g" markCommitAsFixup: "f" createFixupCommit: "F" # create fixup commit for this commit squashAboveCommits: "S" moveDownCommit: "" # move commit down one moveUpCommit: "" # move commit up one amendToCommit: "A" pickCommit: "p" # pick commit (when mid-rebase) revertCommit: "t" pasteCommits: "v" tagCommit: "T" checkoutCommit: "" resetCherryPick: "" openLogMenu: "" viewBisectOptions: "b" stash: popStash: "g" renameStash: "r" commitFiles: checkoutCommitFile: "c" main: toggleSelectHunk: "a" pickBothHunks: "b" submodules: init: "i" update: "u" bulkMenu: "b" customCommands: - key: "" description: "New branch with prefix" prompts: - type: "menu" title: "Creating new branch. What kind of branch is it?" options: - name: "feature" value: "feat" - name: "hotfix" value: "hotfix" - name: "fix/bugfix" value: "fix" - name: "chore" value: "chore" - name: "experiment" value: "experiment" - type: "input" title: "What is the new branch name?" initialValue: "" command: "git checkout -b {{index .PromptResponses 0}}/{{index .PromptResponses 1}}" context: "localBranches" loadingText: "Creating branch" - key: "" description: "Create pull request on GitHub" context: files, localBranches prompts: - type: "input" title: "Pull Request Title" key: "title" initialValue: "" - type: "input" title: "Base Branch (leave empty for default branch)" key: "base" initialValue: "" - type: "menu" title: "Create as draft PR?" key: "draft" options: - name: "No" value: "" - name: "Yes" value: "--draft" - type: "menu" title: "Add Reviewers" key: "reviewers" options: - name: "CNS" value: "--reviewer peterbornerup,farhadh,benjaminbruun" - name: "None" value: "" command: > gh pr create --assignee @me --title "{{.Form.title}}" --fill {{ if ne .Form.base "" }}--base "{{.Form.base}}"{{ end }} {{.Form.draft}} {{ if eq .Form.reviewers "other" }}--reviewer "{{.Form.customReviewers}}"{{ else }}{{.Form.reviewers}}{{ end }} loadingText: "Creating pull request on GitHub" - key: "o" command: "gh repo view --web" context: "localBranches" description: "View Repo on GitHub" loadingText: "Opening GitHub - Repository ..." - key: "O" command: "gh pr view --web" context: "localBranches" description: "View PR on GitHub" loadingText: "Opening GitHub - Pull request ..." - key: "C" context: "global" description: "Create new conventional commit" prompts: - type: "menu" key: "Type" title: "Type of change" options: - name: "feat" description: "A new feature" value: "feat" - name: "fix" description: "A bug fix" value: "fix" - name: "chore" description: "Other changes that don't modify src or test files" value: "chore" - name: "build" description: "Changes that affect the build system or external dependencies" value: "build" - name: "ci" description: "Changes to CI configuration files and scripts" value: "ci" - name: "docs" description: "Documentation only changes" value: "docs" - name: "perf" description: "A code change that improves performance" value: "perf" - name: "refactor" description: "A code change that neither fixes a bug nor adds a feature" value: "refactor" - name: "revert" description: "Reverts a previous commit" value: "revert" - name: "style" description: "Changes that do not affect the meaning of the code" value: "style" - name: "test" description: "Adding missing tests or correcting existing tests" value: "test" - type: "input" title: "Scope" key: "Scope" initialValue: "" - type: "menu" key: "Breaking" title: "Breaking change" options: - name: "no" value: "" - name: "yes" value: "!" - type: "input" title: "message" key: "Message" initialValue: "" - type: "confirm" key: "Confirm" title: "Commit" body: "Are you sure you want to commit?" command: "git commit --message '{{.Form.Type}}{{ if .Form.Scope }}({{ .Form.Scope }}){{ end }}{{.Form.Breaking}}: {{.Form.Message}}'" loadingText: "Creating conventional commit..." - key: "R" command: "git reset --soft HEAD~1" context: "files" description: "Undo last commit"