Fix boolean config keys not appearing in the generated Config.md

The reason why they didn't appear is that they didn't get a default value in the
generated schema; this commit fixes that.
This commit is contained in:
Stefan Haller 2024-05-31 20:07:58 +02:00
parent 91cb33db85
commit 4bfda1a78c
3 changed files with 88 additions and 18 deletions

View file

@ -49,10 +49,25 @@ gui:
# When mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS. # When mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS.
mouseEvents: true mouseEvents: true
# If true, do not show a warning when discarding changes in the staging view.
skipDiscardChangeWarning: false
# If true, do not show warning when applying/popping the stash
skipStashWarning: false
# If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files.
skipNoStagedFilesWarning: false
# If true, do not show a warning when rewording a commit via an external editor
skipRewordInEditorWarning: false
# 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. # 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.
# Number from 0 to 1.0. # Number from 0 to 1.0.
sidePanelWidth: 0.3333 sidePanelWidth: 0.3333
# If true, increase the height of the focused side window; creating an accordion effect.
expandFocusedSidePanel: false
# 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. # 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.
# Options are: # Options are:
# - 'horizontal': split the window horizontally # - 'horizontal': split the window horizontally
@ -151,6 +166,9 @@ gui:
# If true, show jump-to-window keybindings in window titles. # If true, show jump-to-window keybindings in window titles.
showPanelJumps: true showPanelJumps: true
# Deprecated: use nerdFontsVersion instead
showIcons: false
# Nerd fonts version to use. # Nerd fonts version to use.
# One of: '2' | '3' | empty string (default) # One of: '2' | '3' | empty string (default)
# If empty, do not show icons. # If empty, do not show icons.
@ -162,6 +180,9 @@ gui:
# Length of commit hash in commits view. 0 shows '*' if NF icons aren't on. # Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
commitHashLength: 8 commitHashLength: 8
# If true, show commit hashes alongside branch names in the branches view.
showBranchCommitHash: false
# Height of the command log view # Height of the command log view
commandLogSize: 8 commandLogSize: 8
@ -218,11 +239,17 @@ git:
# ydiff -p cat -s --wrap --width={{columnWidth}} # ydiff -p cat -s --wrap --width={{columnWidth}}
pager: "" pager: ""
# 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).
useConfig: false
# e.g. 'difft --color=always' # e.g. 'difft --color=always'
externalDiffCommand: "" externalDiffCommand: ""
# Config relating to committing # Config relating to committing
commit: commit:
# If true, pass '--signoff' flag when committing
signOff: false
# Automatic WYSIWYG wrapping of the commit message as you type # Automatic WYSIWYG wrapping of the commit message as you type
autoWrapCommitMessage: true autoWrapCommitMessage: true
@ -231,6 +258,10 @@ git:
# Config relating to merging # Config relating to merging
merging: merging:
# If true, run merges in a subprocess so that if a commit message is required, Lazygit will not hang
# Only applicable to unix users.
manualCommit: false
# Extra args passed to `git merge`, e.g. --no-ff # Extra args passed to `git merge`, e.g. --no-ff
args: "" args: ""
@ -257,6 +288,12 @@ git:
# Command used to display git log of all branches in the main window # Command used to display git log of all branches in the main window
allBranchesLogCmd: git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium allBranchesLogCmd: git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
# If true, do not spawn a separate process when using GPG
overrideGpg: false
# If true, do not allow force pushes
disableForcePushing: false
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix # See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix
commitPrefix: commitPrefix:
# pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use "^\\w+\\/(\\w+-\\w+).*" # pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use "^\\w+\\/(\\w+-\\w+).*"
@ -265,6 +302,10 @@ git:
# Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use "[$1] " # Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use "[$1] "
replace: "" replace: ""
# If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
# (This should really be under 'gui', not 'git')
parseEmoji: false
# Config for showing the log in the commits view # Config for showing the log in the commits view
log: log:
# One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default' # One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default'
@ -280,6 +321,9 @@ git:
# Deprecated: Configure this with `Log menu -> Show git graph` (<c-l> in the commits window by default). # Deprecated: Configure this with `Log menu -> Show git graph` (<c-l> in the commits window by default).
showGraph: always showGraph: always
# displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)
showWholeGraph: false
# When copying commit hashes to the clipboard, truncate them to this # When copying commit hashes to the clipboard, truncate them to this
# length. Set to 40 to disable truncation. # length. Set to 40 to disable truncation.
truncateCopiedCommitHashesTo: 12 truncateCopiedCommitHashesTo: 12
@ -302,6 +346,12 @@ refresher:
# Auto-fetch can be disabled via option 'git.autoFetch'. # Auto-fetch can be disabled via option 'git.autoFetch'.
fetchInterval: 60 fetchInterval: 60
# If true, show a confirmation popup before quitting Lazygit
confirmOnQuit: false
# If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close
quitOnTopLevelReturn: false
# Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc # Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc
os: os:
# Command for editing a file. Should contain "{{filename}}". # Command for editing a file. Should contain "{{filename}}".
@ -351,6 +401,9 @@ os:
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-clipboard # See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-clipboard
copyToClipboardCmd: "" copyToClipboardCmd: ""
# If true, don't display introductory popups upon opening Lazygit.
disableStartupPopups: false
# What to do when opening Lazygit outside of a git repo. # What to do when opening Lazygit outside of a git repo.
# - 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo # - 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo
# - 'create': initialize a new repo # - 'create': initialize a new repo

View file

@ -78,7 +78,7 @@ func isZeroValue(v any) bool {
case string: case string:
return v == "" return v == ""
case bool: case bool:
return !v return false
case nil: case nil:
return true return true
} }

View file

@ -46,19 +46,23 @@
}, },
"skipDiscardChangeWarning": { "skipDiscardChangeWarning": {
"type": "boolean", "type": "boolean",
"description": "If true, do not show a warning when discarding changes in the staging view." "description": "If true, do not show a warning when discarding changes in the staging view.",
"default": false
}, },
"skipStashWarning": { "skipStashWarning": {
"type": "boolean", "type": "boolean",
"description": "If true, do not show warning when applying/popping the stash" "description": "If true, do not show warning when applying/popping the stash",
"default": false
}, },
"skipNoStagedFilesWarning": { "skipNoStagedFilesWarning": {
"type": "boolean", "type": "boolean",
"description": "If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files." "description": "If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files.",
"default": false
}, },
"skipRewordInEditorWarning": { "skipRewordInEditorWarning": {
"type": "boolean", "type": "boolean",
"description": "If true, do not show a warning when rewording a commit via an external editor" "description": "If true, do not show a warning when rewording a commit via an external editor",
"default": false
}, },
"sidePanelWidth": { "sidePanelWidth": {
"type": "number", "type": "number",
@ -69,7 +73,8 @@
}, },
"expandFocusedSidePanel": { "expandFocusedSidePanel": {
"type": "boolean", "type": "boolean",
"description": "If true, increase the height of the focused side window; creating an accordion effect." "description": "If true, increase the height of the focused side window; creating an accordion effect.",
"default": false
}, },
"mainPanelSplitMode": { "mainPanelSplitMode": {
"type": "string", "type": "string",
@ -293,7 +298,8 @@
}, },
"showIcons": { "showIcons": {
"type": "boolean", "type": "boolean",
"description": "Deprecated: use nerdFontsVersion instead" "description": "Deprecated: use nerdFontsVersion instead",
"default": false
}, },
"nerdFontsVersion": { "nerdFontsVersion": {
"type": "string", "type": "string",
@ -317,7 +323,8 @@
}, },
"showBranchCommitHash": { "showBranchCommitHash": {
"type": "boolean", "type": "boolean",
"description": "If true, show commit hashes alongside branch names in the branches view." "description": "If true, show commit hashes alongside branch names in the branches view.",
"default": false
}, },
"commandLogSize": { "commandLogSize": {
"type": "integer", "type": "integer",
@ -439,7 +446,8 @@
}, },
"useConfig": { "useConfig": {
"type": "boolean", "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)." "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).",
"default": false
}, },
"externalDiffCommand": { "externalDiffCommand": {
"type": "string", "type": "string",
@ -454,7 +462,8 @@
"properties": { "properties": {
"signOff": { "signOff": {
"type": "boolean", "type": "boolean",
"description": "If true, pass '--signoff' flag when committing" "description": "If true, pass '--signoff' flag when committing",
"default": false
}, },
"autoWrapCommitMessage": { "autoWrapCommitMessage": {
"type": "boolean", "type": "boolean",
@ -475,7 +484,8 @@
"properties": { "properties": {
"manualCommit": { "manualCommit": {
"type": "boolean", "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." "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.",
"default": false
}, },
"args": { "args": {
"type": "string", "type": "string",
@ -533,11 +543,13 @@
}, },
"overrideGpg": { "overrideGpg": {
"type": "boolean", "type": "boolean",
"description": "If true, do not spawn a separate process when using GPG" "description": "If true, do not spawn a separate process when using GPG",
"default": false
}, },
"disableForcePushing": { "disableForcePushing": {
"type": "boolean", "type": "boolean",
"description": "If true, do not allow force pushes" "description": "If true, do not allow force pushes",
"default": false
}, },
"commitPrefix": { "commitPrefix": {
"properties": { "properties": {
@ -586,7 +598,8 @@
}, },
"parseEmoji": { "parseEmoji": {
"type": "boolean", "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')" "description": "If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀\n(This should really be under 'gui', not 'git')",
"default": false
}, },
"log": { "log": {
"properties": { "properties": {
@ -613,7 +626,8 @@
}, },
"showWholeGraph": { "showWholeGraph": {
"type": "boolean", "type": "boolean",
"description": "displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)" "description": "displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)",
"default": false
} }
}, },
"additionalProperties": false, "additionalProperties": false,
@ -674,11 +688,13 @@
}, },
"confirmOnQuit": { "confirmOnQuit": {
"type": "boolean", "type": "boolean",
"description": "If true, show a confirmation popup before quitting Lazygit" "description": "If true, show a confirmation popup before quitting Lazygit",
"default": false
}, },
"quitOnTopLevelReturn": { "quitOnTopLevelReturn": {
"type": "boolean", "type": "boolean",
"description": "If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close" "description": "If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close",
"default": false
}, },
"os": { "os": {
"properties": { "properties": {
@ -752,7 +768,8 @@
}, },
"disableStartupPopups": { "disableStartupPopups": {
"type": "boolean", "type": "boolean",
"description": "If true, don't display introductory popups upon opening Lazygit." "description": "If true, don't display introductory popups upon opening Lazygit.",
"default": false
}, },
"customCommands": { "customCommands": {
"items": { "items": {