Deployed 9ed1fde to prerelease with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
jj-docs[bot] 2025-01-14 13:59:22 +00:00
parent 90cb0e7caa
commit aa690217ad
3 changed files with 702 additions and 1 deletions

View File

@ -0,0 +1,633 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"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"
}
},
"properties": {
"allow-init-native": {
"type": "boolean",
"description": "Whether to allow initializing a repo with the native backend",
"default": false
},
"allow-filesets": {
"type": "boolean",
"description": "Whether to parse path arguments as fileset expressions",
"default": true
},
"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": {
"type": "string",
"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": {
"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"
},
"tool": {
"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": "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"
},
"conflict-marker-style": {
"$ref": "#/properties/ui/definitions/conflict-marker-style"
}
}
},
"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"
}
]
},
"basicFormatterLabels": {
"enum": [
"description",
"change_id",
"commit_id",
"author",
"committer",
"working_copies",
"current_working_copy",
"bookmarks",
"tags",
"git_refs",
"is_git_head",
"divergent",
"hidden",
"conflict",
"root"
]
}
},
"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"
}
}
}
]
}
},
"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-"
},
"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"
}
}
},
"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",
"description": "Whether to populate the output file with conflict markers before starting the merge tool. See https://jj-vcs.github.io/jj/latest/config/#editing-conflict-markers-with-a-tool-or-a-text-editor",
"default": false
},
"conflict-marker-style": {
"$ref": "#/properties/ui/definitions/conflict-marker-style"
}
}
}
},
"revsets": {
"type": "object",
"description": "Revset expressions used by various commands",
"properties": {
"fix": {
"type": "string",
"description": "Default set of revisions to fix when no explicit revset is given for jj fix",
"default": "reachable(@, mutable())"
},
"log": {
"type": "string",
"description": "Default set of revisions to show when no explicit revset is given for jj log and similar commands",
"default": "present(@) | ancestors(immutable_heads().., 2) | present(trunk())"
},
"short-prefixes": {
"type": "string",
"description": "Revisions to give shorter change and commit IDs to",
"default": "<revsets.log>"
},
"simplify-parents": {
"type": "string",
"description": "Default set of revisions to simplify when no explicit revset is given for jj simplify-parents",
"default": "reachable(@, mutable())"
}
},
"additionalProperties": {
"type": "string"
}
},
"revset-aliases": {
"type": "object",
"description": "Custom symbols/function aliases that can used in revset expressions",
"properties": {
"immutable_heads()": {
"type": "string",
"description": "Revisions to consider immutable. Ancestors of these are also considered immutable. The root commit is always considered immutable.",
"default": "present(trunk()) | tags() | untracked_remote_branches()"
}
},
"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"
}
}
},
"snapshot": {
"type": "object",
"description": "Parameters governing automatic capture of files into the working copy commit",
"properties": {
"auto-track": {
"type": "string",
"description": "Fileset pattern describing what new files to automatically track on snapshotting. By default all new files are tracked.",
"default": "all()"
},
"auto-update-stale": {
"type": "boolean",
"description": "Whether to automatically update the working copy if it is stale. See https://jj-vcs.github.io/jj/latest/working-copy/#stale-working-copy",
"default": "false"
},
"max-new-file-size": {
"type": [
"integer",
"string"
],
"description": "New files with a size in bytes above this threshold are not snapshotted, unless the threshold is 0",
"default": "1MiB"
}
}
},
"experimental-advance-branches": {
"type": "object",
"description": "Settings controlling the 'advance-branches' feature which moves bookmarks forward when new commits are created.",
"properties": {
"enabled-branches": {
"type": "array",
"description": "Patterns used to identify bookmarks which may be advanced.",
"items": {
"type": "string"
}
},
"disabled-branches": {
"type": "array",
"description": "Patterns used to identify bookmarks which are not advanced. Takes precedence over 'enabled-branches'.",
"items": {
"type": "string"
}
}
}
},
"signing": {
"type": "object",
"description": "Settings for verifying and creating cryptographic commit signatures",
"properties": {
"backend": {
"type": "string",
"enum": ["gpg", "none", "ssh"],
"description": "The backend to use for signing commits. The string `none` disables signing.",
"default": "none"
},
"key": {
"type": "string",
"description": "The key the configured signing backend will use to to sign commits. Overridden by `jj sign` parameter or by the global `--sign-with` option"
},
"sign-all": {
"type": "boolean",
"description": "Whether to sign all commits by default. Overridden by global `--no-sign` option",
"default": false
},
"backends": {
"type": "object",
"description": "Tables of options to pass to specific signing backends",
"properties": {
"gpg": {
"type": "object",
"properties": {
"program": {
"type": "string",
"description": "Path to the gpg program to be called",
"default": "gpg"
},
"allow-expired-keys": {
"type": "boolean",
"description": "Whether to consider signatures generated with an expired key as invalid",
"default": true
}
}
},
"ssh": {
"type": "object",
"properties": {
"program": {
"type": "string",
"description": "Path to the ssh-keygen program to be called",
"default": "ssh-keygen"
},
"allowed-signers": {
"type": "boolean",
"description": "Path to an allowed signers file used for signature verification",
"default": true
}
}
}
},
"additionalProperties": true
}
}
},
"fix": {
"type": "object",
"description": "Settings for jj fix",
"properties": {
"tools": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Settings for how specific filesets are affected by a tool",
"properties": {
"command": {
"type": "array",
"items": {
"type": "string"
},
"description": "Arguments used to execute this tool"
},
"patterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filesets that will be affected by this tool"
},
"enabled": {
"type": "boolean",
"description": "Disables this tool if set to false",
"default": true
}
}
},
"description": "Settings for tools run by jj fix"
}
}
}
}
}

View File

@ -1315,6 +1315,15 @@
</span> </span>
</a> </a>
</li>
<li class="md-nav__item">
<a href="#json-schema-support" class="md-nav__link">
<span class="md-ellipsis">
JSON Schema Support
</span>
</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@ -2628,6 +2637,15 @@
</span> </span>
</a> </a>
</li>
<li class="md-nav__item">
<a href="#json-schema-support" class="md-nav__link">
<span class="md-ellipsis">
JSON Schema Support
</span>
</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@ -2693,6 +2711,9 @@ located in <code>.jj/repo/config.toml</code>.</p>
<p>These are listed in the order they are loaded; the settings from earlier items <p>These are listed in the order they are loaded; the settings from earlier items
in the list are overridden by the settings from later items if they disagree. in the list are overridden by the settings from later items if they disagree.
Every type of config except for the built-in settings is optional.</p> Every type of config except for the built-in settings is optional.</p>
<p>You can enable JSON Schema validation in your editor by adding a <code>$schema</code>
reference at the top of your TOML config files. See <a href="#json-schema-support">JSON Schema
Support</a> for details.</p>
<p>See the <a href="https://toml.io/en/">TOML site</a> and the <a href="https://toml.io/en/v1.0.0">syntax guide</a> for a detailed description of the <p>See the <a href="https://toml.io/en/">TOML site</a> and the <a href="https://toml.io/en/v1.0.0">syntax guide</a> for a detailed description of the
syntax. We cover some of the basics below.</p> syntax. We cover some of the basics below.</p>
<p>The first thing to remember is that the value of a setting (the part to the <p>The first thing to remember is that the value of a setting (the part to the
@ -3625,6 +3646,53 @@ to a TOML file that will be used instead of any configuration file in the
default locations. For example,</p> default locations. For example,</p>
<div class="highlight"><pre><span></span><code>env<span class="w"> </span><span class="nv">JJ_CONFIG</span><span class="o">=</span>/dev/null<span class="w"> </span>jj<span class="w"> </span>log<span class="w"> </span><span class="c1"># Ignores any settings specified in the config file.</span> <div class="highlight"><pre><span></span><code>env<span class="w"> </span><span class="nv">JJ_CONFIG</span><span class="o">=</span>/dev/null<span class="w"> </span>jj<span class="w"> </span>log<span class="w"> </span><span class="c1"># Ignores any settings specified in the config file.</span>
</code></pre></div> </code></pre></div>
<h3 id="json-schema-support">JSON Schema Support<a class="headerlink" href="#json-schema-support" title="Permanent link">&para;</a></h3>
<p>Many popular editors support TOML file syntax highlighting and validation. To
enable schema validation in your editor, add this line at the top of your TOML
config files:</p>
<div class="highlight"><pre><span></span><code><span class="s2">&quot;$schema&quot;</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;https://jj-vcs.github.io/jj/latest/config-schema.json&quot;</span>
</code></pre></div>
<p>This enables features like:</p>
<ul>
<li>Autocomplete for config keys</li>
<li>Type checking of values</li>
<li>Documentation on hover</li>
<li>Validation of settings</li>
</ul>
<p>Here are some popular editors with TOML schema validation support:</p>
<ul>
<li>
<p>VS Code</p>
<ul>
<li>Install <a href="https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml">Even Better TOML</a></li>
</ul>
</li>
<li>
<p>Neovim/Vim</p>
<ul>
<li>Use with <a href="https://github.com/neovim/nvim-lspconfig">nvim-lspconfig</a> and <a href="https://github.com/tamasfe/taplo">taplo</a></li>
</ul>
</li>
<li>
<p>JetBrains IDEs (IntelliJ, PyCharm, etc)</p>
<ul>
<li>Install <a href="https://plugins.jetbrains.com/plugin/8195-toml">TOML</a> plugin</li>
</ul>
</li>
<li>
<p>Sublime Text</p>
<ul>
<li>Install <a href="https://packagecontrol.io/packages/LSP">LSP</a> and <a href="https://packagecontrol.io/packages/LSP-taplo">LSP-taplo</a></li>
</ul>
</li>
<li>
<p>Emacs</p>
<ul>
<li>Install <a href="https://github.com/emacs-lsp/lsp-mode">lsp-mode</a> and <a href="https://github.com/dryman/toml-mode.el">toml-mode</a></li>
<li>Configure <a href="https://github.com/tamasfe/taplo">taplo</a> as the LSP server</li>
</ul>
</li>
</ul>
<h3 id="specifying-config-on-the-command-line">Specifying config on the command-line<a class="headerlink" href="#specifying-config-on-the-command-line" title="Permanent link">&para;</a></h3> <h3 id="specifying-config-on-the-command-line">Specifying config on the command-line<a class="headerlink" href="#specifying-config-on-the-command-line" title="Permanent link">&para;</a></h3>
<p>You can use one or more <code>--config</code>/<code>--config-file</code> options on the command line <p>You can use one or more <code>--config</code>/<code>--config-file</code> options on the command line
to specify additional configuration settings. This overrides settings defined in to specify additional configuration settings. This overrides settings defined in

File diff suppressed because one or more lines are too long