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"
}
}
} ,
"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
} ,
"relative-timestamps" : {
"type" : "boolean" ,
"description" : "Whether to change timestamps to be rendered as a relative description instead of a full timestamp" ,
"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"
} ,
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" ,
"enum" : [ "legacy" , "curved" , "square" , "ascii" , "ascii-large" ] ,
"default" : "legacy"
}
}
} ,
2023-01-31 08:50:30 +00:00
"unique-prefixes" : {
2023-02-06 00:10:25 +00:00
"enum" : [ "none" , "brackets" , "styled" ] ,
2023-01-31 08:50:30 +00:00
"description" : "How formatter indicates the unique prefix part of a revision or change ID" ,
2023-02-06 00:10:25 +00:00
"default" : "styled"
2023-02-06 00:10:25 +00:00
} ,
"log-id-preferred-length" : {
"type" : "integer" ,
"description" : "Determines the number of characters displayed for `jj log` for change or commit ids." ,
"default" : 12
2023-01-31 08:50:30 +00:00
} ,
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" : [
"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" }
]
} ,
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" : {
"fg" : { "$ref" : "#/properties/colors/definitions/colors" } ,
"bg" : { "$ref" : "#/properties/colors/definitions/colors" } ,
"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
} ,
"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"
} ,
"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"
}
} ,
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"
}
}
}
}
}