{ "$schema": "http://json-schema.org/draft-04/schema", "$comment": "`taplo` and the corresponding VS Code plugins only support draft-04 verstion of JSON Schema, see <https://taplo.tamasfe.dev/configuration/developing-schemas.html>. draft-07 is mostly compatible with it, newer versions may not be.", "title": "Jujutsu config", "type": "object", "description": "User configuration for Jujutsu VCS. See https://jj-vcs.github.io/jj/latest/config/ for details", "properties": { "user": { "type": "object", "description": "Settings about the user", "properties": { "name": { "type": "string", "description": "Full name of the user, used in commits" }, "email": { "type": "string", "description": "User's email address, used in commits", "format": "email" } } }, "operation": { "type": "object", "description": "Metadata to be attached to jj operations (shown in jj op log)", "properties": { "hostname": { "type": "string", "format": "hostname" }, "username": { "type": "string" } } }, "ui": { "type": "object", "description": "UI settings", "definitions": { "conflict-marker-style": { "type": "string", "description": "Conflict marker style to use when materializing conflicts in the working copy", "enum": [ "diff", "snapshot", "git" ], "default": "diff" }, "command-env": { "type": "object", "properties": { "command": { "type": ["array", "string"], "items": { "type": "string" } }, "env": { "type": "object" } } } }, "properties": { "always-allow-large-revsets": { "type": "boolean", "description": "Whether to allow large revsets to be used in all commands without the `all:` modifier", "default": false }, "default-command": { "description": "Default command to run when no explicit command is given", "default": "log", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "default-description": { "type": "string", "description": "Default description to use when describing changes with an empty description", "default": "" }, "color": { "description": "Whether to colorize command output", "enum": [ "always", "never", "debug", "auto" ], "default": "auto" }, "paginate": { "type": "string", "description": "Whether or not to use a pager", "enum": [ "never", "auto" ], "default": "auto" }, "pager": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } }, { "$ref": "#/properties/ui/definitions/command-env" } ], "description": "Pager to use for displaying command output", "default": "less -FRX" }, "streampager": { "type": "object", "description": "':builtin' (streampager-based) pager configuration", "properties": { "interface": { "description": "Whether to quit automatically, whether to clear screen on startup/exit", "enum": [ "quit-if-one-page", "full-screen-clear-output", "quit-quickly-or-clear-output" ], "default": "never" }, "wrapping": { "description": "Whether to wrap long lines", "enum": [ "anywhere", "word", "none" ], "default": "anywhere" } } }, "diff": { "type": "object", "description": "Options for how diffs are displayed", "properties": { "format": { "description": "The diff format to use", "enum": [ "color-words", "git", "summary" ], "default": "color-words" }, "tool": { "type": ["array", "string"], "items": { "type": "string" }, "description": "External tool for generating diffs" } } }, "diff-instructions": { "type": "boolean", "description": "Whether to generate the JJ-INSTRUCTIONS file as part of editing a diff", "default": true }, "graph": { "type": "object", "description": "Options for rendering revision graphs from jj log etc", "properties": { "style": { "description": "Style of connectors/markings used to render the graph. See https://jj-vcs.github.io/jj/latest/config/#graph-style", "enum": [ "curved", "square", "ascii", "ascii-large" ], "default": "curved" } } }, "log-word-wrap": { "type": "boolean", "description": "Whether to wrap log template output", "default": false }, "log-synthetic-elided-nodes": { "type": "boolean", "description": "Whether to render elided parts of the graph as synthetic nodes.", "default": true }, "editor": { "type": ["array", "string"], "items": { "type": "string" }, "description": "Editor to use for commands that involve editing text" }, "diff-editor": { "description": "Editor tool to use for editing diffs", "default": ":builtin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "merge-editor": { "description": "Tool to use for resolving three-way merges. Behavior for a given tool name can be configured in merge-tools.TOOL tables", "default": ":builtin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "conflict-marker-style": { "$ref": "#/properties/ui/definitions/conflict-marker-style" }, "show-cryptographic-signatures": { "type": "boolean", "default": false, "description": "Whether the built-in templates should show cryptographic signature information" }, "movement": { "type": "object", "properties": { "edit": { "type": "boolean", "description": "Whether the next and prev commands should behave as if the --edit flag was passed", "default": false } } } } }, "core": { "type": "object", "properties": { "fsmonitor": { "type": "string", "enum": ["none", "watchman"], "description": "Whether to use an external filesystem monitor, useful for large repos" }, "watchman": { "type": "object", "properties": { "register-snapshot-trigger": { "type": "boolean", "default": false, "description": "Whether to use triggers to monitor for changes in the background." } } } } }, "colors": { "type": "object", "description": "Mapping from jj formatter labels to colors", "definitions": { "colorNames": { "enum": [ "default", "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "bright black", "bright red", "bright green", "bright yellow", "bright blue", "bright magenta", "bright cyan", "bright white" ] }, "hexColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "colors": { "oneOf": [ { "$ref": "#/properties/colors/definitions/colorNames" }, { "$ref": "#/properties/colors/definitions/hexColor" } ] } }, "additionalProperties": { "description": "A color profile for the given formatter label. Either a bare color name used as the foreground color or a table describing color and formatting", "oneOf": [ { "$ref": "#/properties/colors/definitions/colors" }, { "type": "object", "properties": { "fg": { "$ref": "#/properties/colors/definitions/colors" }, "bg": { "$ref": "#/properties/colors/definitions/colors" }, "bold": { "type": "boolean" }, "italic": { "type": "boolean" }, "underline": { "type": "boolean" }, "reverse": { "type": "boolean" } } } ] } }, "diff": { "type": "object", "description": "Builtin diff formats settings", "properties": { "color-words": { "type": "object", "description": "Options for color-words diffs", "properties": { "max-inline-alternation": { "type": "integer", "description": "Maximum number of removed/added word alternation to inline", "default": 3 }, "context": { "type": "integer", "description": "Number of lines of context to show", "default": 3 } } }, "git": { "type": "object", "description": "Options for git diffs", "properties": { "context": { "type": "integer", "description": "Number of lines of context to show", "default": 3 } } } } }, "git": { "type": "object", "description": "Settings for git behavior (when using git backend)", "properties": { "auto-local-bookmark": { "type": "boolean", "description": "Whether jj creates a local bookmark with the same name when it imports a remote-tracking branch from git. See https://jj-vcs.github.io/jj/latest/config/#automatic-local-bookmark-creation", "default": false }, "abandon-unreachable-commits": { "type": "boolean", "description": "Whether jj should abandon commits that became unreachable in Git.", "default": true }, "push-bookmark-prefix": { "type": "string", "description": "Prefix used when pushing a bookmark based on a change ID", "default": "push-" }, "push-new-bookmarks": { "type": "boolean", "description": "Allow pushing new bookmarks without --allow-new", "default": false }, "fetch": { "description": "The remote(s) from which commits are fetched", "default": "origin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "push": { "type": "string", "description": "The remote to which commits are pushed", "default": "origin" }, "sign-on-push": { "type": "boolean", "description": "Whether jj should sign commits before pushing", "default": "false" }, "subprocess": { "type": "boolean", "description": "Whether jj spawns a git subprocess for network operations (push/fetch/clone)", "default": true }, "executable-path": { "type": "string", "description": "Path to the git executable", "default": "git" } } }, "merge-tools": { "type": "object", "description": "Tables of custom options to pass to the given merge tool (selected in ui.merge-editor)", "additionalProperties": { "type": "object", "properties": { "program": { "type": "string" }, "diff-args": { "type": "array", "items": { "type": "string" } }, "diff-expected-exit-codes": { "type": "array", "items": { "type": "integer" }, "description": "Array of exit codes that do not indicate tool failure, i.e. [0, 1] for unix diff.", "default": [0] }, "diff-invocation-mode": { "description": "Invoke the tool with directories or individual files", "enum": [ "dir", "file-by-file" ], "default": "dir" }, "edit-args": { "type": "array", "items": { "type": "string" } }, "merge-args": { "type": "array", "items": { "type": "string" } }, "merge-conflict-exit-codes": { "type": "array", "items": { "type": "number" }, "description": "Array of exit codes to indicate that the conflict was only partially resolved. See https://jj-vcs.github.io/jj/latest/config/#editing-conflict-markers-with-a-tool-or-a-text-editor", "default": [] }, "merge-tool-edits-conflict-markers": { "type": "boolean",Lines 1–500 of 750. Load more
{ "$schema": "http://json-schema.org/draft-04/schema", "$comment": "`taplo` and the corresponding VS Code plugins only support draft-04 verstion of JSON Schema, see <https://taplo.tamasfe.dev/configuration/developing-schemas.html>. draft-07 is mostly compatible with it, newer versions may not be.", "title": "Jujutsu config", "type": "object", "description": "User configuration for Jujutsu VCS. See https://jj-vcs.github.io/jj/latest/config/ for details", "properties": { "user": { "type": "object", "description": "Settings about the user", "properties": { "name": { "type": "string", "description": "Full name of the user, used in commits" }, "email": { "type": "string", "description": "User's email address, used in commits", "format": "email" } } }, "operation": { "type": "object", "description": "Metadata to be attached to jj operations (shown in jj op log)", "properties": { "hostname": { "type": "string", "format": "hostname" }, "username": { "type": "string" } } }, "ui": { "type": "object", "description": "UI settings", "definitions": { "conflict-marker-style": { "type": "string", "description": "Conflict marker style to use when materializing conflicts in the working copy", "enum": [ "diff", "snapshot", "git" ], "default": "diff" }, "command-env": { "type": "object", "properties": { "command": { "type": ["array", "string"], "items": { "type": "string" } }, "env": { "type": "object" } } } }, "properties": { "always-allow-large-revsets": { "type": "boolean", "description": "Whether to allow large revsets to be used in all commands without the `all:` modifier", "default": false }, "default-command": { "description": "Default command to run when no explicit command is given", "default": "log", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "default-description": { "type": "string", "description": "Default description to use when describing changes with an empty description", "default": "" }, "color": { "description": "Whether to colorize command output", "enum": [ "always", "never", "debug", "auto" ], "default": "auto" }, "paginate": { "type": "string", "description": "Whether or not to use a pager", "enum": [ "never", "auto" ], "default": "auto" }, "pager": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } }, { "$ref": "#/properties/ui/definitions/command-env" } ], "description": "Pager to use for displaying command output", "default": "less -FRX" }, "streampager": { "type": "object", "description": "':builtin' (streampager-based) pager configuration", "properties": { "interface": { "description": "Whether to quit automatically, whether to clear screen on startup/exit", "enum": [ "quit-if-one-page", "full-screen-clear-output", "quit-quickly-or-clear-output" ], "default": "never" }, "wrapping": { "description": "Whether to wrap long lines", "enum": [ "anywhere", "word", "none" ], "default": "anywhere" } } }, "diff": { "type": "object", "description": "Options for how diffs are displayed", "properties": { "format": { "description": "The diff format to use", "enum": [ "color-words", "git", "summary" ], "default": "color-words" }, "tool": { "type": ["array", "string"], "items": { "type": "string" }, "description": "External tool for generating diffs" } } }, "diff-instructions": { "type": "boolean", "description": "Whether to generate the JJ-INSTRUCTIONS file as part of editing a diff", "default": true }, "graph": { "type": "object", "description": "Options for rendering revision graphs from jj log etc", "properties": { "style": { "description": "Style of connectors/markings used to render the graph. See https://jj-vcs.github.io/jj/latest/config/#graph-style", "enum": [ "curved", "square", "ascii", "ascii-large" ], "default": "curved" } } }, "log-word-wrap": { "type": "boolean", "description": "Whether to wrap log template output", "default": false }, "log-synthetic-elided-nodes": { "type": "boolean", "description": "Whether to render elided parts of the graph as synthetic nodes.", "default": true }, "editor": { "type": ["array", "string"], "items": { "type": "string" }, "description": "Editor to use for commands that involve editing text" }, "diff-editor": { "description": "Editor tool to use for editing diffs", "default": ":builtin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "merge-editor": { "description": "Tool to use for resolving three-way merges. Behavior for a given tool name can be configured in merge-tools.TOOL tables", "default": ":builtin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "conflict-marker-style": { "$ref": "#/properties/ui/definitions/conflict-marker-style" }, "show-cryptographic-signatures": { "type": "boolean", "default": false, "description": "Whether the built-in templates should show cryptographic signature information" }, "movement": { "type": "object", "properties": { "edit": { "type": "boolean", "description": "Whether the next and prev commands should behave as if the --edit flag was passed", "default": false } } } } }, "core": { "type": "object", "properties": { "fsmonitor": { "type": "string", "enum": ["none", "watchman"], "description": "Whether to use an external filesystem monitor, useful for large repos" }, "watchman": { "type": "object", "properties": { "register-snapshot-trigger": { "type": "boolean", "default": false, "description": "Whether to use triggers to monitor for changes in the background." } } } } }, "colors": { "type": "object", "description": "Mapping from jj formatter labels to colors", "definitions": { "colorNames": { "enum": [ "default", "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "bright black", "bright red", "bright green", "bright yellow", "bright blue", "bright magenta", "bright cyan", "bright white" ] }, "hexColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "colors": { "oneOf": [ { "$ref": "#/properties/colors/definitions/colorNames" }, { "$ref": "#/properties/colors/definitions/hexColor" } ] } }, "additionalProperties": { "description": "A color profile for the given formatter label. Either a bare color name used as the foreground color or a table describing color and formatting", "oneOf": [ { "$ref": "#/properties/colors/definitions/colors" }, { "type": "object", "properties": { "fg": { "$ref": "#/properties/colors/definitions/colors" }, "bg": { "$ref": "#/properties/colors/definitions/colors" }, "bold": { "type": "boolean" }, "italic": { "type": "boolean" }, "underline": { "type": "boolean" }, "reverse": { "type": "boolean" } } } ] } }, "diff": { "type": "object", "description": "Builtin diff formats settings", "properties": { "color-words": { "type": "object", "description": "Options for color-words diffs", "properties": { "max-inline-alternation": { "type": "integer", "description": "Maximum number of removed/added word alternation to inline", "default": 3 }, "context": { "type": "integer", "description": "Number of lines of context to show", "default": 3 } } }, "git": { "type": "object", "description": "Options for git diffs", "properties": { "context": { "type": "integer", "description": "Number of lines of context to show", "default": 3 } } } } }, "git": { "type": "object", "description": "Settings for git behavior (when using git backend)", "properties": { "auto-local-bookmark": { "type": "boolean", "description": "Whether jj creates a local bookmark with the same name when it imports a remote-tracking branch from git. See https://jj-vcs.github.io/jj/latest/config/#automatic-local-bookmark-creation", "default": false }, "abandon-unreachable-commits": { "type": "boolean", "description": "Whether jj should abandon commits that became unreachable in Git.", "default": true }, "push-bookmark-prefix": { "type": "string", "description": "Prefix used when pushing a bookmark based on a change ID", "default": "push-" }, "push-new-bookmarks": { "type": "boolean", "description": "Allow pushing new bookmarks without --allow-new", "default": false }, "fetch": { "description": "The remote(s) from which commits are fetched", "default": "origin", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "push": { "type": "string", "description": "The remote to which commits are pushed", "default": "origin" }, "sign-on-push": { "type": "boolean", "description": "Whether jj should sign commits before pushing", "default": "false" }, "subprocess": { "type": "boolean", "description": "Whether jj spawns a git subprocess for network operations (push/fetch/clone)", "default": true }, "executable-path": { "type": "string", "description": "Path to the git executable", "default": "git" } } }, "merge-tools": { "type": "object", "description": "Tables of custom options to pass to the given merge tool (selected in ui.merge-editor)", "additionalProperties": { "type": "object", "properties": { "program": { "type": "string" }, "diff-args": { "type": "array", "items": { "type": "string" } }, "diff-expected-exit-codes": { "type": "array", "items": { "type": "integer" }, "description": "Array of exit codes that do not indicate tool failure, i.e. [0, 1] for unix diff.", "default": [0] }, "diff-invocation-mode": { "description": "Invoke the tool with directories or individual files", "enum": [ "dir", "file-by-file" ], "default": "dir" }, "edit-args": { "type": "array", "items": { "type": "string" } }, "merge-args": { "type": "array", "items": { "type": "string" } }, "merge-conflict-exit-codes": { "type": "array", "items": { "type": "number" }, "description": "Array of exit codes to indicate that the conflict was only partially resolved. See https://jj-vcs.github.io/jj/latest/config/#editing-conflict-markers-with-a-tool-or-a-text-editor", "default": [] }, "merge-tool-edits-conflict-markers": { "type": "boolean",