2023-01-01 06:29:33 +00:00
{
"$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"
}
}
} ,
"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
} ,
2023-04-14 01:49:35 +00:00
"default-command" : {
"type" : "string" ,
"description" : "Default command to run when no explicit command is given" ,
"default" : "log"
} ,
2023-01-01 06:29:33 +00:00
"color" : {
"description" : "Whether to colorize command output" ,
2023-02-11 11:07:58 +00:00
"enum" : [
"always" ,
"never" ,
"auto"
] ,
2023-01-01 06:29:33 +00:00
"default" : "auto"
} ,
2023-08-11 04:22:19 +00:00
"paginate" : {
"type" : "string" ,
"description" : "Whether or not to use a pager" ,
"enum" : [
"never" ,
"auto"
] ,
"default" : "auto"
} ,
2023-01-01 06:29:33 +00:00
"pager" : {
"type" : "string" ,
"description" : "Pager to use for displaying command output" ,
"default" : "less -FRX"
} ,
2023-02-06 06:55:15 +00:00
"diff" : {
"type" : "object" ,
"description" : "Options for how diffs are displayed" ,
"properties" : {
"format" : {
"description" : "The diff format to use" ,
2023-02-11 11:07:58 +00:00
"enum" : [
"color-words" ,
"git" ,
"summary"
] ,
2023-02-06 06:55:15 +00:00
"default" : "color-words"
2023-08-03 22:25:22 +00:00
} ,
"tool" : {
"type" : "string" ,
"description" : "External tool for generating diffs"
2023-02-06 06:55:15 +00:00
}
}
} ,
2023-01-31 06:21:49 +00:00
"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" ,
2023-02-11 11:07:58 +00:00
"enum" : [
"legacy" ,
"curved" ,
"square" ,
"ascii" ,
"ascii-large"
] ,
2023-01-31 06:21:49 +00:00
"default" : "legacy"
}
}
} ,
2023-03-05 04:10:02 +00:00
"log-word-wrap" : {
"type" : "boolean" ,
"description" : "Whether to wrap log template output" ,
"default" : false
} ,
2023-01-01 06:29:33 +00:00
"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" ,
2023-01-31 06:56:19 +00:00
"description" : "Mapping from jj formatter labels to colors" ,
"definitions" : {
"colors" : {
"enum" : [
2023-04-08 06:25:30 +00:00
"default" ,
2023-01-31 06:56:19 +00:00
"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" ,
2023-04-08 01:28:16 +00:00
"hidden" ,
2023-01-31 06:56:19 +00:00
"conflict"
]
}
} ,
"propertyNames" : {
"oneOf" : [
2023-02-11 11:07:58 +00:00
{
"$ref" : "#/properties/colors/definitions/basicFormatterLabels"
} ,
{
"type" : "string"
}
2023-01-31 06:56:19 +00:00
]
} ,
2023-01-01 06:29:33 +00:00
"additionalProperties" : {
2023-01-31 06:56:19 +00:00
"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" : {
2023-02-11 11:07:58 +00:00
"fg" : {
"$ref" : "#/properties/colors/definitions/colors"
} ,
"bg" : {
"$ref" : "#/properties/colors/definitions/colors"
} ,
2023-01-31 06:56:19 +00:00
"bold" : {
"type" : "boolean"
} ,
"underline" : {
"type" : "boolean"
}
}
}
2023-01-01 06:29:33 +00:00
]
}
} ,
2023-01-31 08:50:30 +00:00
"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
2023-02-02 18:31:11 +00:00
} ,
2023-08-07 22:36:39 +00:00
"push-branch-prefix" : {
"type" : "string" ,
"description" : "Prefix used when pushing a change ID as a new branch" ,
"default" : "push-"
} ,
2023-02-02 18:31:11 +00:00
"fetch" : {
"description" : "The remote(s) from which commits are fetched" ,
"default" : "origin" ,
"oneOf" : [
{
"type" : "string"
} ,
{
"type" : "array" ,
"items" : {
"type" : "string"
}
}
]
2023-02-02 23:20:07 +00:00
} ,
"push" : {
"type" : "string" ,
"description" : "The remote to which commits are pushed" ,
"default" : "origin"
2023-01-31 08:50:30 +00:00
}
}
} ,
2023-01-01 06:29:33 +00:00
"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"
} ,
2023-08-02 03:12:11 +00:00
"diff-args" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
2023-02-06 10:56:41 +00:00
"edit-args" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
2023-01-01 06:29:33 +00:00
"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
}
}
}
} ,
2023-05-11 06:26:23 +00:00
"revsets" : {
"type" : "object" ,
"description" : "Revset expressions used by various commands" ,
"properties" : {
"log" : {
"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())..)-"
2023-05-06 00:12:08 +00:00
} ,
"short-prefixes" : {
"type" : "string" ,
"description" : "Revisions to give shorter change and commit IDs to" ,
"default" : "<revsets.log>"
2023-05-11 06:26:23 +00:00
}
} ,
"additionalProperties" : {
"type" : "string"
}
} ,
2023-01-01 06:29:33 +00:00
"revset-aliases" : {
"type" : "object" ,
"description" : "Custom symbols/function aliases that can used in revset expressions" ,
"additionalProperties" : {
"type" : "string"
}
} ,
2023-02-12 08:53:09 +00:00
"template-aliases" : {
"type" : "object" ,
"description" : "Custom symbols/function aliases that can used in templates" ,
"additionalProperties" : {
"type" : "string"
}
} ,
2023-01-26 22:26:05 +00:00
"aliases" : {
2023-01-01 06:29:33 +00:00
"type" : "object" ,
"description" : "Custom subcommand aliases to be supported by the jj command" ,
"additionalProperties" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
}
}
}
}