750 lines · 31.0 KB · JSON
RawDownload
{    "$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.