mirror of
https://github.com/martinvonz/jj.git
synced 2025-01-12 23:23:20 +00:00
b5f1728ffb
The outermost "op-log" label isn't moved to the default template. I think it belongs to the command's formatter rather than the template. Old bikeshedding items: - "current_head", "is_head", or "is_head_op" => renamed to "current_operation" - "templates.op-log" vs "templates.op_log" (the whole template is labeled as "op-log") => renamed to "op_log" - "template-aliases.'format_operation_duration(time_range)'" => renamed to 'format_time_range(time_range)'
283 lines
11 KiB
JSON
283 lines
11 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"title": "Jujutsu config",
|
|
"type": "object",
|
|
"description": "User configuration for Jujutsu VCS. See https://github.com/martinvonz/jj/blob/main/docs/config.md 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"
|
|
}
|
|
}
|
|
},
|
|
"push": {
|
|
"type": "object",
|
|
"properties": {
|
|
"branch-prefix": {
|
|
"type": "string",
|
|
"description": "Prefix used when pushing a change ID as a new branch",
|
|
"default": "push-"
|
|
}
|
|
}
|
|
},
|
|
"ui": {
|
|
"type": "object",
|
|
"description": "UI settings",
|
|
"properties": {
|
|
"allow-init-native": {
|
|
"type": "boolean",
|
|
"description": "Whether to allow initializing a repo with the native backend",
|
|
"default": false
|
|
},
|
|
"default-revset": {
|
|
"type": "string",
|
|
"description": "Default set of revisions to show when no explicit revset is given for jj log and similar commands",
|
|
"default": "@ | (remote_branches() | tags()).. | ((remote_branches() | tags())..)-"
|
|
},
|
|
"color": {
|
|
"description": "Whether to colorize command output",
|
|
"enum": [
|
|
"always",
|
|
"never",
|
|
"auto"
|
|
],
|
|
"default": "auto"
|
|
},
|
|
"pager": {
|
|
"type": "string",
|
|
"description": "Pager to use for displaying command output",
|
|
"default": "less -FRX"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"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://github.com/martinvonz/jj/blob/main/docs/config.md#graph-style",
|
|
"enum": [
|
|
"legacy",
|
|
"curved",
|
|
"square",
|
|
"ascii",
|
|
"ascii-large"
|
|
],
|
|
"default": "legacy"
|
|
}
|
|
}
|
|
},
|
|
"editor": {
|
|
"type": "string",
|
|
"description": "Editor to use for commands that involve editing text"
|
|
},
|
|
"diff-editor": {
|
|
"type": "string",
|
|
"description": "Editor tool to use for editing diffs",
|
|
"default": "meld"
|
|
},
|
|
"merge-editor": {
|
|
"type": "string",
|
|
"description": "Tool to use for resolving three-way merges. Behavior for a given tool name can be configured in merge-tools.TOOL tables"
|
|
}
|
|
}
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"description": "Mapping from jj formatter labels to colors",
|
|
"definitions": {
|
|
"colors": {
|
|
"enum": [
|
|
"black",
|
|
"red",
|
|
"green",
|
|
"yellow",
|
|
"blue",
|
|
"magenta",
|
|
"cyan",
|
|
"white",
|
|
"bright black",
|
|
"bright red",
|
|
"bright green",
|
|
"bright yellow",
|
|
"bright blue",
|
|
"bright magenta",
|
|
"bright cyan",
|
|
"bright white"
|
|
]
|
|
},
|
|
"basicFormatterLabels": {
|
|
"enum": [
|
|
"description",
|
|
"change_id",
|
|
"commit_id",
|
|
"author",
|
|
"committer",
|
|
"working_copies",
|
|
"current_working_copy",
|
|
"branches",
|
|
"tags",
|
|
"git_refs",
|
|
"is_git_head",
|
|
"divergent",
|
|
"conflict"
|
|
]
|
|
}
|
|
},
|
|
"propertyNames": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/properties/colors/definitions/basicFormatterLabels"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
},
|
|
"underline": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"git": {
|
|
"type": "object",
|
|
"description": "Settings for git behavior (when using git backend)",
|
|
"properties": {
|
|
"auto-local-branch": {
|
|
"type": "boolean",
|
|
"description": "Whether jj creates a local branch with the same name when it imports a remote-tracking branch from git. See https://github.com/martinvonz/jj/blob/main/docs/config.md#automatic-local-branch-creation",
|
|
"default": true
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"edit-args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"merge-args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"merge-tool-edits-conflict-markers": {
|
|
"type": "boolean",
|
|
"description": "Whether to populate the output file with conflict markers before starting the merge tool. See https://github.com/martinvonz/jj/blob/main/docs/config.md#editing-conflict-markers-with-a-tool-or-a-text-editor",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"revset-aliases": {
|
|
"type": "object",
|
|
"description": "Custom symbols/function aliases that can used in revset expressions",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"template-aliases": {
|
|
"type": "object",
|
|
"description": "Custom symbols/function aliases that can used in templates",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"aliases": {
|
|
"type": "object",
|
|
"description": "Custom subcommand aliases to be supported by the jj command",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|