mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-12 11:15:00 +02:00
1519 lines
51 KiB
JSON
1519 lines
51 KiB
JSON
{
|
|
"$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"
|
|
},
|
|
"enlargedSideViewLocation": {
|
|
"type": "string",
|
|
"description": "How the window is split when in half screen mode (i.e. after hitting '+' once).\nPossible values:\n- 'left': split the window horizontally (side panel on the left, main view on the right)\n- 'top': split the window vertically (side panel on top, main view below)",
|
|
"default": "left"
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"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."
|
|
},
|
|
"showFileIcons": {
|
|
"type": "boolean",
|
|
"description": "If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.",
|
|
"default": true
|
|
},
|
|
"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"
|
|
},
|
|
"toggleRangeSelect": {
|
|
"type": "string",
|
|
"default": "v"
|
|
},
|
|
"rangeSelectDown": {
|
|
"type": "string",
|
|
"default": "\u003cs-down\u003e"
|
|
},
|
|
"rangeSelectUp": {
|
|
"type": "string",
|
|
"default": "\u003cs-up\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": "{"
|
|
},
|
|
"openDiffTool": {
|
|
"type": "string",
|
|
"default": "\u003cc-t\u003e"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"findBaseCommitForFixup": {
|
|
"type": "string",
|
|
"default": "\u003cc-f\u003e"
|
|
},
|
|
"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"
|
|
},
|
|
"copyFileInfoToClipboard": {
|
|
"type": "string",
|
|
"default": "y"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"mergeIntoCurrentBranch": {
|
|
"type": "string",
|
|
"default": "M"
|
|
},
|
|
"viewGitFlowOptions": {
|
|
"type": "string",
|
|
"default": "i"
|
|
},
|
|
"fastForward": {
|
|
"type": "string",
|
|
"default": "f"
|
|
},
|
|
"createTag": {
|
|
"type": "string",
|
|
"default": "T"
|
|
},
|
|
"pushTag": {
|
|
"type": "string",
|
|
"default": "P"
|
|
},
|
|
"setUpstream": {
|
|
"type": "string",
|
|
"default": "u"
|
|
},
|
|
"fetchRemote": {
|
|
"type": "string",
|
|
"default": "f"
|
|
},
|
|
"sortOrder": {
|
|
"type": "string",
|
|
"default": "s"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"worktrees": {
|
|
"properties": {
|
|
"viewWorktreeOptions": {
|
|
"type": "string",
|
|
"default": "w"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"commits": {
|
|
"properties": {
|
|
"squashDown": {
|
|
"type": "string",
|
|
"default": "s"
|
|
},
|
|
"renameCommit": {
|
|
"type": "string",
|
|
"default": "r"
|
|
},
|
|
"renameCommitWithEditor": {
|
|
"type": "string",
|
|
"default": "R"
|
|
},
|
|
"viewResetOptions": {
|
|
"type": "string",
|
|
"default": "g"
|
|
},
|
|
"markCommitAsFixup": {
|
|
"type": "string",
|
|
"default": "f"
|
|
},
|
|
"createFixupCommit": {
|
|
"type": "string",
|
|
"default": "F"
|
|
},
|
|
"squashAboveCommits": {
|
|
"type": "string",
|
|
"default": "S"
|
|
},
|
|
"moveDownCommit": {
|
|
"type": "string",
|
|
"default": "\u003cc-j\u003e"
|
|
},
|
|
"moveUpCommit": {
|
|
"type": "string",
|
|
"default": "\u003cc-k\u003e"
|
|
},
|
|
"amendToCommit": {
|
|
"type": "string",
|
|
"default": "A"
|
|
},
|
|
"resetCommitAuthor": {
|
|
"type": "string",
|
|
"default": "a"
|
|
},
|
|
"pickCommit": {
|
|
"type": "string",
|
|
"default": "p"
|
|
},
|
|
"revertCommit": {
|
|
"type": "string",
|
|
"default": "t"
|
|
},
|
|
"cherryPickCopy": {
|
|
"type": "string",
|
|
"default": "C"
|
|
},
|
|
"pasteCommits": {
|
|
"type": "string",
|
|
"default": "V"
|
|
},
|
|
"markCommitAsBaseForRebase": {
|
|
"type": "string",
|
|
"default": "B"
|
|
},
|
|
"tagCommit": {
|
|
"type": "string",
|
|
"default": "T"
|
|
},
|
|
"checkoutCommit": {
|
|
"type": "string",
|
|
"default": "\u003cspace\u003e"
|
|
},
|
|
"resetCherryPick": {
|
|
"type": "string",
|
|
"default": "\u003cc-R\u003e"
|
|
},
|
|
"copyCommitAttributeToClipboard": {
|
|
"type": "string",
|
|
"default": "y"
|
|
},
|
|
"openLogMenu": {
|
|
"type": "string",
|
|
"default": "\u003cc-l\u003e"
|
|
},
|
|
"openInBrowser": {
|
|
"type": "string",
|
|
"default": "o"
|
|
},
|
|
"viewBisectOptions": {
|
|
"type": "string",
|
|
"default": "b"
|
|
},
|
|
"startInteractiveRebase": {
|
|
"type": "string",
|
|
"default": "i"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"stash": {
|
|
"properties": {
|
|
"popStash": {
|
|
"type": "string",
|
|
"default": "g"
|
|
},
|
|
"renameStash": {
|
|
"type": "string",
|
|
"default": "r"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"commitFiles": {
|
|
"properties": {
|
|
"checkoutCommitFile": {
|
|
"type": "string",
|
|
"default": "c"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"main": {
|
|
"properties": {
|
|
"toggleSelectHunk": {
|
|
"type": "string",
|
|
"default": "a"
|
|
},
|
|
"pickBothHunks": {
|
|
"type": "string",
|
|
"default": "b"
|
|
},
|
|
"editSelectHunk": {
|
|
"type": "string",
|
|
"default": "E"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"submodules": {
|
|
"properties": {
|
|
"init": {
|
|
"type": "string",
|
|
"default": "i"
|
|
},
|
|
"update": {
|
|
"type": "string",
|
|
"default": "u"
|
|
},
|
|
"bulkMenu": {
|
|
"type": "string",
|
|
"default": "b"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"commitMessage": {
|
|
"properties": {
|
|
"switchToEditor": {
|
|
"type": "string",
|
|
"default": "\u003cc-o\u003e"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "Keybindings"
|
|
},
|
|
"os": {
|
|
"properties": {
|
|
"edit": {
|
|
"type": "string",
|
|
"description": "Command for editing a file. Should contain \"{{filename}}\"."
|
|
},
|
|
"editAtLine": {
|
|
"type": "string",
|
|
"description": "Command for editing a file at a given line number. Should contain\n\"{{filename}}\", and may optionally contain \"{{line}}\"."
|
|
},
|
|
"editAtLineAndWait": {
|
|
"type": "string",
|
|
"description": "Same as EditAtLine, except that the command needs to wait until the\nwindow is closed."
|
|
},
|
|
"editInTerminal": {
|
|
"type": "boolean",
|
|
"description": "Whether lazygit suspends until an edit process returns\nPointer to bool so that we can distinguish unset (nil) from false.\nWe're naming this `editInTerminal` for backwards compatibility"
|
|
},
|
|
"openDirInEditor": {
|
|
"type": "string",
|
|
"description": "For opening a directory in an editor"
|
|
},
|
|
"editPreset": {
|
|
"type": "string",
|
|
"description": "A built-in preset that sets all of the above settings. Supported presets\nare defined in the getPreset function in editor_presets.go.",
|
|
"examples": [
|
|
"vim",
|
|
"nvim",
|
|
"emacs",
|
|
"nano",
|
|
"vscode",
|
|
"sublime",
|
|
"kakoune",
|
|
"helix",
|
|
"xcode"
|
|
]
|
|
},
|
|
"open": {
|
|
"type": "string",
|
|
"description": "Command for opening a file, as if the file is double-clicked. Should\ncontain \"{{filename}}\", but doesn't support \"{{line}}\"."
|
|
},
|
|
"openLink": {
|
|
"type": "string",
|
|
"description": "Command for opening a link. Should contain \"{{link}}\"."
|
|
},
|
|
"editCommand": {
|
|
"type": "string",
|
|
"description": "EditCommand is the command for editing a file.\nDeprecated: use Edit instead. Note that semantics are different:\nEditCommand is just the command itself, whereas Edit contains a\n\"{{filename}}\" variable."
|
|
},
|
|
"editCommandTemplate": {
|
|
"type": "string",
|
|
"description": "EditCommandTemplate is the command template for editing a file\nDeprecated: use EditAtLine instead."
|
|
},
|
|
"openCommand": {
|
|
"type": "string",
|
|
"description": "OpenCommand is the command for opening a file\nDeprecated: use Open instead."
|
|
},
|
|
"openLinkCommand": {
|
|
"type": "string",
|
|
"description": "OpenLinkCommand is the command for opening a link\nDeprecated: use OpenLink instead."
|
|
},
|
|
"copyToClipboardCmd": {
|
|
"type": "string",
|
|
"description": "CopyToClipboardCmd is the command for copying to clipboard.\nSee https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-clipboard"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc"
|
|
},
|
|
"disableStartupPopups": {
|
|
"type": "boolean",
|
|
"description": "If true, don't display introductory popups upon opening Lazygit.\nLazygit sets this to true upon first runninng the program so that you don't see introductory popups every time you open the program."
|
|
},
|
|
"customCommands": {
|
|
"items": {
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "The key to trigger the command. Use a single letter or one of the values from https://github.com/jesseduffield/lazygit/blob/master/docs/keybindings/Custom_Keybindings.md"
|
|
},
|
|
"context": {
|
|
"type": "string",
|
|
"enum": [
|
|
"status",
|
|
"files",
|
|
"worktrees",
|
|
"localBranches",
|
|
"remotes",
|
|
"remoteBranches",
|
|
"tags",
|
|
"commits",
|
|
"reflogCommits",
|
|
"subCommits",
|
|
"commitFiles",
|
|
"stash",
|
|
"global"
|
|
],
|
|
"description": "The context in which to listen for the key"
|
|
},
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The command to run (using Go template syntax for placeholder values)",
|
|
"examples": [
|
|
"git fetch {{.Form.Remote}} {{.Form.Branch}} \u0026\u0026 git checkout FETCH_HEAD"
|
|
]
|
|
},
|
|
"subprocess": {
|
|
"type": "boolean",
|
|
"description": "If true, run the command in a subprocess (e.g. if the command requires user input)"
|
|
},
|
|
"prompts": {
|
|
"items": {
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "One of: 'input' | 'menu' | 'confirm' | 'menuFromCommand'"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Used to reference the entered value from within the custom command. E.g. a prompt with `key: 'Branch'` can be referred to as `{{.Form.Branch}}` in the command"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title to display in the popup panel"
|
|
},
|
|
"initialValue": {
|
|
"type": "string",
|
|
"description": "The initial value to appear in the text box.\nOnly for input prompts."
|
|
},
|
|
"suggestions": {
|
|
"properties": {
|
|
"preset": {
|
|
"type": "string",
|
|
"enum": [
|
|
"authors",
|
|
"branches",
|
|
"files",
|
|
"refs",
|
|
"remotes",
|
|
"remoteBranches",
|
|
"tags"
|
|
],
|
|
"description": "Uses built-in logic to obtain the suggestions. One of 'authors' | 'branches' | 'files' | 'refs' | 'remotes' | 'remoteBranches' | 'tags'"
|
|
},
|
|
"command": {
|
|
"type": "string",
|
|
"description": "Command to run such that each line in the output becomes a suggestion. Mutually exclusive with 'preset' field.",
|
|
"examples": [
|
|
"git fetch {{.Form.Remote}} {{.Form.Branch}} \u0026\u0026 git checkout FETCH_HEAD"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "Shows suggestions as the input is entered\nOnly for input prompts."
|
|
},
|
|
"body": {
|
|
"type": "string",
|
|
"description": "The message of the confirmation prompt.\nOnly for confirm prompts.",
|
|
"examples": [
|
|
"Are you sure you want to push to the remote?"
|
|
]
|
|
},
|
|
"options": {
|
|
"items": {
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The first part of the label"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The second part of the label"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The value that will be used in the command",
|
|
"examples": [
|
|
"feature"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"description": "Menu options.\nOnly for menu prompts."
|
|
},
|
|
"command": {
|
|
"type": "string",
|
|
"description": "The command to run to generate menu options\nOnly for menuFromCommand prompts.",
|
|
"examples": [
|
|
"git fetch {{.Form.Remote}} {{.Form.Branch}} \u0026\u0026 git checkout FETCH_HEAD"
|
|
]
|
|
},
|
|
"filter": {
|
|
"type": "string",
|
|
"description": "The regexp to run specifying groups which are going to be kept from the command's output.\nOnly for menuFromCommand prompts.",
|
|
"examples": [
|
|
".*{{.SelectedRemote.Name }}/(?P\u003cbranch\u003e.*)"
|
|
]
|
|
},
|
|
"valueFormat": {
|
|
"type": "string",
|
|
"description": "How to format matched groups from the filter to construct a menu item's value.\nOnly for menuFromCommand prompts.",
|
|
"examples": [
|
|
"{{ .branch }}"
|
|
]
|
|
},
|
|
"labelFormat": {
|
|
"type": "string",
|
|
"description": "Like valueFormat but for the labels. If `labelFormat` is not specified, `valueFormat` is shown instead.\nOnly for menuFromCommand prompts.",
|
|
"examples": [
|
|
"{{ .branch | green }}"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"description": "A list of prompts that will request user input before running the final command"
|
|
},
|
|
"loadingText": {
|
|
"type": "string",
|
|
"description": "Text to display while waiting for command to finish",
|
|
"examples": [
|
|
"Loading..."
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Label for the custom command when displayed in the keybindings menu"
|
|
},
|
|
"stream": {
|
|
"type": "boolean",
|
|
"description": "If true, stream the command's output to the Command Log panel"
|
|
},
|
|
"showOutput": {
|
|
"type": "boolean",
|
|
"description": "If true, show the command's output in a popup within Lazygit"
|
|
},
|
|
"after": {
|
|
"properties": {
|
|
"checkForConflicts": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "Actions to take after the command has completed"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"description": "User-configured commands that can be invoked from within Lazygit"
|
|
},
|
|
"services": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object",
|
|
"description": "See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-pull-request-urls"
|
|
},
|
|
"notARepository": {
|
|
"type": "string",
|
|
"enum": [
|
|
"prompt",
|
|
"create",
|
|
"skip",
|
|
"quit"
|
|
],
|
|
"description": "What to do when opening Lazygit outside of a git repo.\n- 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo\n- 'create': initialize a new repo\n- 'skip': open most recent repo\n- 'quit': exit Lazygit",
|
|
"default": "prompt"
|
|
},
|
|
"promptToReturnFromSubprocess": {
|
|
"type": "boolean",
|
|
"description": "If true, display a confirmation when subprocess terminates. This allows you to view the output of the subprocess before returning to Lazygit.",
|
|
"default": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
} |