summaryrefslogtreecommitdiffstats
path: root/schema
diff options
context:
space:
mode:
authorKarim Khaleel <code.karim@gmail.com>2023-09-30 02:47:06 +0300
committerStefan Haller <stefan@haller-berlin.de>2023-12-02 10:46:24 +0100
commit1a035db4c817ac07cd59f0f2aa4e1efd1a9b75b6 (patch)
tree42ada62060c643a6d09fb904a8775121defb4167 /schema
parentdf5b3693d6821d6d946afffb6002ea1dd4647929 (diff)
Add UserConfig jsonschema generation script
Diffstat (limited to 'schema')
-rw-r--r--schema/config.json1501
1 files changed, 1501 insertions, 0 deletions
diff --git a/schema/config.json b/schema/config.json
new file mode 100644
index 000000000..2f1dba309
--- /dev/null
+++ b/schema/config.json
@@ -0,0 +1,1501 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://github.com/jesseduffield/lazygit/pkg/config/user-config",
+ "properties": {
+ "gui": {
+ "properties": {
+ "authorColors": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-author-color"
+ },
+ "branchColors": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object",
+ "description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-branch-color"
+ },
+ "scrollHeight": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The number of lines you scroll by when scrolling the main window",
+ "default": 2
+ },
+ "scrollPastBottom": {
+ "type": "boolean",
+ "description": "If true, allow scrolling past the bottom of the content in the main window",
+ "default": true
+ },
+ "scrollOffMargin": {
+ "type": "integer",
+ "description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#scroll-off-margin",
+ "default": 2
+ },
+ "scrollOffBehavior": {
+ "type": "string",
+ "description": "One of: 'margin' (default) | 'jump'",
+ "default": "margin"
+ },
+ "mouseEvents": {
+ "type": "boolean",
+ "description": "If true, capture mouse events.\nWhen mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS.",
+ "default": true
+ },
+ "skipDiscardChangeWarning": {
+ "type": "boolean",
+ "description": "If true, do not show a warning when discarding changes in the staging view."
+ },
+ "skipStashWarning": {
+ "type": "boolean",
+ "description": "If true, do not show warning when applying/popping the stash"
+ },
+ "skipNoStagedFilesWarning": {
+ "type": "boolean",
+ "description": "If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files."
+ },
+ "skipRewordInEditorWarning": {
+ "type": "boolean",
+ "description": "If true, do not show a warning when rewording a commit via an external editor"
+ },
+ "sidePanelWidth": {
+ "type": "number",
+ "maximum": 1,
+ "minimum": 0,
+ "description": "Fraction of the total screen width to use for the left side section. You may want to pick a small number (e.g. 0.2) if you're using a narrow screen, so that you can see more of the main section.\nNumber from 0 to 1.0.",
+ "default": 0.3333
+ },
+ "expandFocusedSidePanel": {
+ "type": "boolean",
+ "description": "If true, increase the height of the focused side window; creating an accordion effect."
+ },
+ "mainPanelSplitMode": {
+ "type": "string",
+ "enum": [
+ "horizontal",
+ "flexible",
+ "vertical"
+ ],
+ "description": "Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.\nOptions are:\n- 'horizontal': split the window horizontally\n- 'vertical': split the window vertically\n- 'flexible': (default) split the window horizontally if the window is wide enough, otherwise split vertically",
+ "default": "flexible"
+ },
+ "language": {
+ "type": "string",
+ "enum": [
+ "auto",
+ "en",
+ "zh-TW",
+ "zh-CN",
+ "pl",
+ "nl",
+ "ja",
+ "ko",
+ "ru"
+ ],
+ "description": "One of 'auto' (default) | 'en' | 'zh-CN' | 'zh-TW' | 'pl' | 'nl' | 'ja' | 'ko' | 'ru'",
+ "default": "auto"
+ },
+ "timeFormat": {
+ "type": "string",
+ "description": "Format used when displaying time e.g. commit time.\nUses Go's time format syntax: https://pkg.go.dev/time#Time.Format",
+ "default": "02 Jan 06"
+ },
+ "shortTimeFormat": {
+ "type": "string",
+ "description": "Format used when displaying time if the time is less than 24 hours ago.\nUses Go's time format syntax: https://pkg.go.dev/time#Time.Format",
+ "default": "3:04PM"
+ },
+ "theme": {
+ "properties": {
+ "activeBorderColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Border color of focused window",
+ "default": [
+ "green",
+ "bold"
+ ]
+ },
+ "inactiveBorderColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Border color of non-focused windows",
+ "default": [
+ "default"
+ ]
+ },
+ "searchingActiveBorderColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Border color of focused window when searching in that window",
+ "default": [
+ "cyan",
+ "bold"
+ ]
+ },
+ "optionsTextColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Color of keybindings help text in the bottom line",
+ "default": [
+ "blue"
+ ]
+ },
+ "selectedLineBgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Background color of selected line.\nSee https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#highlighting-the-selected-line",
+ "default": [
+ "blue"
+ ]
+ },
+ "selectedRangeBgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Background color of selected range\nSee https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#highlighting-the-selected-line",
+ "default": [
+ "blue"
+ ]
+ },
+ "cherryPickedCommitFgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Foreground color of copied commit",
+ "default": [
+ "blue"
+ ]
+ },
+ "cherryPickedCommitBgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Background color of copied commit",
+ "default": [
+ "cyan"
+ ]
+ },
+ "markedBaseCommitFgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "description": "Foreground color of marked base commit (for rebase)",
+ "default": [
+ "blue"
+ ]
+ },
+ "markedBaseCommitBgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "description": "Background color of marked base commit (for rebase)",
+ "default": [
+ "yellow"
+ ]
+ },
+ "unstagedChangesColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Color for file with unstaged changes",
+ "default": [
+ "red"
+ ]
+ },
+ "defaultFgColor": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "description": "Default text color",
+ "default": [
+ "default"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to colors and styles.\nSee https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#color-attributes"
+ },
+ "commitLength": {
+ "properties": {
+ "show": {
+ "type": "boolean",
+ "description": "If true, show an indicator of commit message length",
+ "default": true
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to the commit length indicator"
+ },
+ "showListFooter": {
+ "type": "boolean",
+ "description": "If true, show the '5 of 20' footer at the bottom of list views",
+ "default": true
+ },
+ "showFileTree": {
+ "type": "boolean",
+ "description": "If true, display the files in the file views as a tree. If false, display the files as a flat list.\nThis can be toggled from within Lazygit with the '~' key, but that will not change the default.",
+ "default": true
+ },
+ "showRandomTip": {
+ "type": "boolean",
+ "description": "If true, show a random tip in the command log when Lazygit starts",
+ "default": true
+ },
+ "showCommandLog": {
+ "type": "boolean",
+ "description": "If true, show the command log",
+ "default": true
+ },
+ "showBottomLine": {
+ "type": "boolean",
+ "description": "If true, show the bottom line that contains keybinding info and useful buttons. If false, this line will be hidden except to display a loader for an in-progress action.",
+ "default": true
+ },
+ "showPanelJumps": {
+ "type": "boolean",
+ "description": "If true, show jump-to-window keybindings in window titles.",
+ "default": true
+ },
+ "showIcons": {
+ "type": "boolean",
+ "description": "Deprecated: use nerdFontsVersion instead"
+ },
+ "nerdFontsVersion": {
+ "type": "string",
+ "enum": [
+ "2",
+ "3",
+ ""
+ ],
+ "description": "Nerd fonts version to use.\nOne of: '2' | '3' | empty string (default)\nIf empty, do not show icons."
+ },
+ "showBranchCommitHash": {
+ "type": "boolean",
+ "description": "If true, show commit hashes alongside branch names in the branches view."
+ },
+ "commandLogSize": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "Height of the command log view",
+ "default": 8
+ },
+ "splitDiff": {
+ "type": "string",
+ "enum": [
+ "auto",
+ "always"
+ ],
+ "description": "Whether to split the main window when viewing file changes.\nOne of: 'auto' | 'always'\nIf 'auto', only split the main window when a file has both staged and unstaged changes",
+ "default": "auto"
+ },
+ "windowSize": {
+ "type": "string",
+ "enum": [
+ "normal",
+ "half",
+ "full"
+ ],
+ "description": "Default size for focused window. Window size can be changed from within Lazygit with '+' and '_' (but this won't change the default).\nOne of: 'normal' (default) | 'half' | 'full'"
+ },
+ "border": {
+ "type": "string",
+ "enum": [
+ "single",
+ "double",
+ "rounded",
+ "hidden"
+ ],
+ "description": "Window border style.\nOne of 'rounded' (default) | 'single' | 'double' | 'hidden'",
+ "default": "rounded"
+ },
+ "animateExplosion": {
+ "type": "boolean",
+ "description": "If true, show a seriously epic explosion animation when nuking the working tree.",
+ "default": true
+ },
+ "portraitMode": {
+ "type": "string",
+ "description": "Whether to stack UI components on top of each other.\nOne of 'auto' (default) | 'always' | 'never'",
+ "default": "auto"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to the Lazygit UI"
+ },
+ "git": {
+ "properties": {
+ "paging": {
+ "properties": {
+ "colorArg": {
+ "type": "string",
+ "enum": [
+ "always",
+ "never"
+ ],
+ "description": "Value of the --color arg in the git diff command. Some pagers want this to be set to 'always' and some want it set to 'never'",
+ "default": "always"
+ },
+ "pager": {
+ "type": "string",
+ "minLength": 1,
+ "description": "e.g.\ndiff-so-fancy\ndelta --dark --paging=never\nydiff -p cat -s --wrap --width={{columnWidth}}",
+ "default": "",
+ "examples": [
+ "delta --dark --paging=never",
+ "diff-so-fancy",
+ "ydiff -p cat -s --wrap --width={{columnWidth}}"
+ ]
+ },
+ "useConfig": {
+ "type": "boolean",
+ "description": "If true, Lazygit will use whatever pager is specified in `$GIT_PAGER`, `$PAGER`, or your *git config*. If the pager ends with something like ` | less` we will strip that part out, because less doesn't play nice with our rendering approach. If the custom pager uses less under the hood, that will also break rendering (hence the `--paging=never` flag for the `delta` pager)."
+ },
+ "externalDiffCommand": {
+ "type": "string",
+ "description": "e.g. 'difft --color=always'"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md"
+ },
+ "commit": {
+ "properties": {
+ "signOff": {
+ "type": "boolean",
+ "description": "If true, pass '--signoff' flag when committing"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to committing"
+ },
+ "merging": {
+ "properties": {
+ "manualCommit": {
+ "type": "boolean",
+ "description": "If true, run merges in a subprocess so that if a commit message is required, Lazygit will not hang\nOnly applicable to unix users."
+ },
+ "args": {
+ "type": "string",
+ "description": "Extra args passed to `git merge`, e.g. --no-ff",
+ "examples": [
+ "--no-ff"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to merging"
+ },
+ "mainBranches": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true,
+ "description": "list of branches that are considered 'main' branches, used when displaying commits",
+ "default": [
+ "master",
+ "main"
+ ]
+ },
+ "skipHookPrefix": {
+ "type": "string",
+ "description": "Prefix to use when skipping hooks. E.g. if set to 'WIP', then pre-commit hooks will be skipped when the commit message starts with 'WIP'",
+ "default": "WIP"
+ },
+ "autoFetch": {
+ "type": "boolean",
+ "description": "If true, periodically fetch from remote",
+ "default": true
+ },
+ "autoRefresh": {
+ "type": "boolean",
+ "description": "If true, periodically refresh files and submodules",
+ "default": true
+ },
+ "fetchAll": {
+ "type": "boolean",
+ "description": "If true, pass the --all arg to git fetch",
+ "default": true
+ },
+ "branchLogCmd": {
+ "type": "string",
+ "description": "Command used when displaying the current branch git log in the main window",
+ "default": "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --"
+ },
+ "allBranchesLogCmd": {
+ "type": "string",
+ "description": "Command used to display git log of all branches in the main window",
+ "default": "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium"
+ },
+ "overrideGpg": {
+ "type": "boolean",
+ "description": "If true, do not spawn a separate process when using GPG"
+ },
+ "disableForcePushing": {
+ "type": "boolean",
+ "description": "If true, do not allow force pushes"
+ },
+ "commitPrefixes": {
+ "additionalProperties": {
+ "properties": {
+ "pattern": {
+ "type": "string",
+ "minLength": 1,
+ "description": "pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use \"^\\\\w+\\\\/(\\\\w+-\\\\w+).*\"",
+ "examples": [
+ "^\\w+\\/(\\w+-\\w+).*"
+ ]
+ },
+ "replace": {
+ "type": "string",
+ "minLength": 1,
+ "description": "Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use \"[$1] \"",
+ "examples": [
+ "[$1] "
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "type": "object",
+ "description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix"
+ },
+ "parseEmoji": {
+ "type": "boolean",
+ "description": "If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀\n(This should really be under 'gui', not 'git')"
+ },
+ "log": {
+ "properties": {
+ "order": {
+ "type": "string",
+ "enum": [
+ "date-order",
+ "author-date-order",
+ "topo-order",
+ "default"
+ ],
+ "description": "One of: 'date-order' | 'author-date-order' | 'topo-order | default'\n'topo-order' makes it easier to read the git log graph, but commits may not\nappear chronologically. See https://git-scm.com/docs/",
+ "default": "topo-order"
+ },
+ "showGraph": {
+ "type": "string",
+ "enum": [
+ "always",
+ "never",
+ "when-maximised"
+ ],
+ "description": "This determines whether the git graph is rendered in the commits panel\nOne of 'always' | 'never' | 'when-maximised'",
+ "default": "when-maximised"
+ },
+ "showWholeGraph": {
+ "type": "boolean",
+ "description": "displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config for showing the log in the commits view"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Config relating to git"
+ },
+ "update": {
+ "properties": {
+ "method": {
+ "type": "string",
+ "enum": [
+ "prompt",
+ "background",
+ "never"
+ ],
+ "description": "One of: 'prompt' (default) | 'background' | 'never'",
+ "default": "prompt"
+ },
+ "days": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "Period in days between update checks",
+ "default": 14
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Periodic update checks"
+ },
+ "refresher": {
+ "properties": {
+ "refreshInterval": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "File/submodule refresh interval in seconds.\nAuto-refresh can be disabled via option 'git.autoRefresh'.",
+ "default": 10
+ },
+ "fetchInterval": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "Re-fetch interval in seconds.\nAuto-fetch can be disabled via option 'git.autoFetch'.",
+ "default": 60
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "description": "Background refreshes"
+ },
+ "confirmOnQuit": {
+ "type": "boolean",
+ "description": "If true, show a confirmation popup before quitting Lazygit"
+ },
+ "quitOnTopLevelReturn": {
+ "type": "boolean",
+ "description": "If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close"
+ },
+ "keybinding": {
+ "properties": {
+ "universal": {
+ "properties": {
+ "quit": {
+ "type": "string",
+ "default": "q"
+ },
+ "quit-alt1": {
+ "type": "string",
+ "default": "\u003cc-c\u003e"
+ },
+ "return": {
+ "type": "string",
+ "default": "\u003cesc\u003e"
+ },
+ "quitWithoutChangingDirectory": {
+ "type": "string",
+ "default": "Q"
+ },
+ "togglePanel": {
+ "type": "string",
+ "default": "\u003ctab\u003e"
+ },
+ "prevItem": {
+ "type": "string",
+ "default": "\u003cup\u003e"
+ },
+ "nextItem": {
+ "type": "string",
+ "default": "\u003cdown\u003e"
+ },
+ "prevItem-alt": {
+ "type": "string",
+ "default": "k"
+ },
+ "nextItem-alt": {
+ "type": "string",
+ "default": "j"
+ },
+ "prevPage": {
+ "type": "string",
+ "default": ","
+ },
+ "nextPage": {
+ "type": "string",
+ "default": "."
+ },
+ "scrollLeft": {
+ "type": "string",
+ "default": "H"
+ },
+ "scrollRight": {
+ "type": "string",
+ "default": "L"
+ },
+ "gotoTop": {
+ "type": "string",
+ "default": "\u003c"
+ },
+ "gotoBottom": {
+ "type": "string",
+ "default": "\u003e"
+ },
+ "prevBlock": {
+ "type": "string",
+ "default": "\u003cleft\u003e"
+ },
+ "nextBlock": {
+ "type": "string",
+ "default": "\u003cright\u003e"
+ },
+ "prevBlock-alt": {
+ "type": "string",
+ "default": "h"
+ },
+ "nextBlock-alt": {
+ "type": "string",
+ "default": "l"
+ },
+ "nextBlock-alt2": {
+ "type": "string",
+ "default": "\u003ctab\u003e"
+ },
+ "prevBlock-alt2": {
+ "type": "string",
+ "default": "\u003cbacktab\u003e"
+ },
+ "jumpToBlock": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "default": [
+ "1",
+ "2",
+ "3",
+ "4",
+ "5"
+ ]
+ },
+ "nextMatch": {
+ "type": "string",
+ "default": "n"
+ },
+ "prevMatch": {
+ "type": "string",
+ "default": "N"
+ },
+ "startSearch": {
+ "type": "string",
+ "default": "/"
+ },
+ "optionMenu": {
+ "type": "string",
+ "default": "\u003cdisabled\u003e"
+ },
+ "optionMenu-alt1": {
+ "type": "string",
+ "default": "?"
+ },
+ "select": {
+ "type": "string",
+ "default": "\u003cspace\u003e"
+ },
+ "goInto": {
+ "type": "string",
+ "default": "\u003center\u003e"
+ },
+ "confirm": {
+ "type": "string",
+ "default": "\u003center\u003e"
+ },
+ "confirmInEditor": {
+ "type": "string",
+ "default": "\u003ca-enter\u003e"
+ },
+ "remove": {
+ "type": "string",
+ "default": "d"
+ },
+ "new": {
+ "type": "string",
+ "default": "n"
+ },
+ "edit": {
+ "type": "string",
+ "default": "e"
+ },
+ "openFile": {
+ "type": "string",
+ "default": "o"
+ },
+ "scrollUpMain": {
+ "type": "string",
+ "default": "\u003cpgup\u003e"
+ },
+ "scrollDownMain": {
+ "type": "string",
+ "default": "\u003cpgdown\u003e"
+ },
+ "scrollUpMain-alt1": {
+ "type": "string",
+ "default": "K"
+ },
+ "scrollDownMain-alt1": {
+ "type": "string",
+ "default": "J"
+ },
+ "scrollUpMain-alt2": {
+ "type": "string",
+ "default": "\u003cc-u\u003e"
+ },
+ "scrollDownMain-alt2": {
+ "type": "string",
+ "default": "\u003cc-d\u003e"
+ },
+ "executeCustomCommand": {
+ "type": "string",
+ "default": ":"
+ },
+ "createRebaseOptionsMenu": {
+ "type": "string",
+ "default": "m"
+ },
+ "pushFiles": {
+ "type": "string",
+ "description": "'Files' appended for legacy reasons",
+ "default": "P"
+ },
+ "pullFiles": {
+ "type": "string",
+ "description": "'Files' appended for legacy reasons",
+ "default": "p"
+ },
+ "refresh": {
+ "type": "string",
+ "default": "R"
+ },
+ "createPatchOptionsMenu": {
+ "type": "string",
+ "default": "\u003cc-p\u003e"
+ },
+ "nextTab": {
+ "type": "string",
+ "default": "]"
+ },
+ "prevTab": {
+ "type": "string",
+ "default": "["
+ },
+ "nextScreenMode": {
+ "type": "string",
+ "default": "+"
+ },
+ "prevScreenMode": {
+ "type": "string",
+ "default": "_"
+ },
+ "undo": {
+ "type": "string",
+ "default": "z"
+ },
+ "redo": {
+ "type": "string",
+ "default": "\u003cc-z\u003e"
+ },
+ "filteringMenu": {
+ "type": "string",
+ "default": "\u003cc-s\u003e"
+ },
+ "diffingMenu": {
+ "type": "string",
+ "default": "W"
+ },
+ "diffingMenu-alt": {
+ "type": "string",
+ "default": "\u003cc-e\u003e"
+ },
+ "copyToClipboard": {
+ "type": "string",
+ "default": "\u003cc-o\u003e"
+ },
+ "openRecentRepos": {
+ "type": "string",
+ "default": "\u003cc-r\u003e"
+ },
+ "submitEditorText": {
+ "type": "string",
+ "default": "\u003center\u003e"
+ },
+ "extrasMenu": {
+ "type": "string",
+ "default": "@"
+ },
+ "toggleWhitespaceInDiffView": {
+ "type": "string",
+ "default": "\u003cc-w\u003e"
+ },
+ "increaseContextInDiffView": {
+ "type": "string",
+ "default": "}"
+ },
+ "decreaseContextInDiffView": {
+ "type": "string",
+ "default": "{"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "status": {
+ "properties": {
+ "checkForUpdate": {
+ "type": "string",
+ "default": "u"
+ },
+ "recentRepos": {
+ "type": "string",
+ "default": "\u003center\u003e"
+ },
+ "allBranchesLogGraph": {
+ "type": "string",
+ "default": "a"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "files": {
+ "properties": {
+ "commitChanges": {
+ "type": "string",
+ "default": "c"
+ },
+ "commitChangesWithoutHook": {
+ "type": "string",
+ "default": "w"
+ },
+ "amendLastCommit": {
+ "type": "string",
+ "default": "A"
+ },
+ "commitChangesWithEditor": {
+ "type": "string",
+ "default": "C"
+ },
+ "confirmDiscard": {
+ "type": "string",
+ "default": "x"
+ },
+ "ignoreFile": {
+ "type": "string",
+ "default": "i"
+ },
+ "refreshFiles": {
+ "type": "string",
+ "default": "r"
+ },
+ "stashAllChanges": {
+ "type": "string",
+ "default": "s"
+ },
+ "viewStashOptions": {
+ "type": "string",
+ "default": "S"
+ },
+ "toggleStagedAll": {
+ "type": "string",
+ "default": "a"
+ },
+ "viewResetOptions": {
+ "type": "string",
+ "default": "D"
+ },
+ "fetch": {
+ "type": "string",
+ "default": "f"
+ },
+ "toggleTreeView": {
+ "type": "string",
+ "default": "`"
+ },
+ "openMergeTool": {
+ "type": "string",
+ "default": "M"
+ },
+ "openStatusFilter": {
+ "type": "string",
+ "default": "\u003cc-b\u003e"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object"
+ },
+ "branches": {
+ "properties": {
+ "createPullRequest": {
+ "type": "string",
+ "default": "o"
+ },
+ "viewPullRequestOptions": {
+ "type": "string",
+ "default": "O"
+ },
+ "copyPullRequestURL": {
+ "type": "string",
+ "default": "\u003cc-y\u003e"
+ },
+ "checkoutBranchByName": {
+ "type": "string",
+ "default": "c"
+ },
+ "forceCheckoutBranch": {
+ "type": "string",
+ "default": "F"
+ },
+ "rebaseBranch": {
+ "type": "string",
+ "default": "r"
+ },
+ "renameBranch": {
+ "type": "string",
+ "default": "R"
+