#compdef jj

autoload -U is-at-least

_jj() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_jj_commands" \
"*::: :->jj" \
&& ret=0
    case $state in
    (jj)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--retain-bookmarks[Do not delete bookmarks pointing to the revisions to abandon]' \
'--restore-descendants[Do not modify the content of the children of the abandoned commits]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revision(s) to abandon (default\: @) \[aliases\: -r\]:_default' \
&& ret=0
;;
(absorb)
_arguments "${_arguments_options[@]}" : \
'-f+[Source revision to absorb from]:REVSET:_default' \
'--from=[Source revision to absorb from]:REVSET:_default' \
'*-t+[Destination revisions to absorb into]:REVSETS:_default' \
'*--into=[Destination revisions to absorb into]:REVSETS:_default' \
'*--to=[Destination revisions to absorb into]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Move only changes to these paths (instead of all paths):_files' \
&& ret=0
;;
(arrange)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revisions to arrange \[aliases\: -r\]:_default' \
&& ret=0
;;
(bisect)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__bisect_commands" \
"*::: :->bisect" \
&& ret=0

    case $state in
    (bisect)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-bisect-command-$line[1]:"
        case $line[1] in
            (run)
_arguments "${_arguments_options[@]}" : \
'*-r+[Range of revisions to bisect]:REVSETS:_default' \
'*--range=[Range of revisions to bisect]:REVSETS:_default' \
'()--command=[Deprecated. Use positional arguments instead]:COMMAND:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--find-good[Whether to find the first good revision instead]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::command -- Command to run to determine whether the bug is present:_default' \
'*::args -- Arguments to pass to the command:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(bookmark)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__bookmark_commands" \
"*::: :->bookmark" \
&& ret=0

    case $state in
    (bookmark)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-bookmark-command-$line[1]:"
        case $line[1] in
            (advance)
_arguments "${_arguments_options[@]}" : \
'-t+[Move bookmarks to this revision]:REVSET:_default' \
'--to=[Move bookmarks to this revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Move bookmarks matching the given name patterns:_default' \
&& ret=0
;;
(a)
_arguments "${_arguments_options[@]}" : \
'-t+[Move bookmarks to this revision]:REVSET:_default' \
'--to=[Move bookmarks to this revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Move bookmarks matching the given name patterns:_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVSET:_default' \
'--revision=[The bookmark'\''s target revision]:REVSET:_default' \
'--to=[The bookmark'\''s target revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to create:_default' \
&& ret=0
;;
(c)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVSET:_default' \
'--revision=[The bookmark'\''s target revision]:REVSET:_default' \
'--to=[The bookmark'\''s target revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to create:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to delete:_default' \
&& ret=0
;;
(d)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to delete:_default' \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--include-remotes[When forgetting a local bookmark, also forget any corresponding remote bookmarks]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to forget:_default' \
&& ret=0
;;
(f)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--include-remotes[When forgetting a local bookmark, also forget any corresponding remote bookmarks]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to forget:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'(-a --all-remotes)*--remote=[Show all tracked and untracked remote bookmarks belonging to this remote]:REMOTE:_default' \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVSETS:_default' \
'*--revision=[Show bookmarks whose local targets are in the given revisions]:REVSETS:_default' \
'-T+[Render each bookmark using the given template]:TEMPLATE:_default' \
'--template=[Render each bookmark using the given template]:TEMPLATE:_default' \
'*--sort=[Sort bookmarks based on the given key (or multiple keys)]:SORT_KEY:(name name- author-name author-name- author-email author-email- author-date author-date- committer-name committer-name- committer-email committer-email- committer-date committer-date-)' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-a[Show all tracked and untracked remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracked and untracked remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show tracked remote bookmarks only]' \
'(-a --all-remotes)--tracked[Show tracked remote bookmarks only]' \
'(-a --all-remotes)-c[Show conflicted bookmarks only]' \
'(-a --all-remotes)--conflicted[Show conflicted bookmarks only]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Show bookmarks whose local name matches:_default' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'(-a --all-remotes)*--remote=[Show all tracked and untracked remote bookmarks belonging to this remote]:REMOTE:_default' \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVSETS:_default' \
'*--revision=[Show bookmarks whose local targets are in the given revisions]:REVSETS:_default' \
'-T+[Render each bookmark using the given template]:TEMPLATE:_default' \
'--template=[Render each bookmark using the given template]:TEMPLATE:_default' \
'*--sort=[Sort bookmarks based on the given key (or multiple keys)]:SORT_KEY:(name name- author-name author-name- author-email author-email- author-date author-date- committer-name committer-name- committer-email committer-email- committer-date committer-date-)' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-a[Show all tracked and untracked remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracked and untracked remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show tracked remote bookmarks only]' \
'(-a --all-remotes)--tracked[Show tracked remote bookmarks only]' \
'(-a --all-remotes)-c[Show conflicted bookmarks only]' \
'(-a --all-remotes)--conflicted[Show conflicted bookmarks only]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Show bookmarks whose local name matches:_default' \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
'*-f+[Move bookmarks from the given revisions]:REVSETS:_default' \
'*--from=[Move bookmarks from the given revisions]:REVSETS:_default' \
'-t+[Move bookmarks to this revision]:REVSET:_default' \
'--to=[Move bookmarks to this revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-B[Allow moving bookmarks backwards or sideways]' \
'--allow-backwards[Allow moving bookmarks backwards or sideways]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Move bookmarks matching the given name patterns:_default' \
&& ret=0
;;
(m)
_arguments "${_arguments_options[@]}" : \
'*-f+[Move bookmarks from the given revisions]:REVSETS:_default' \
'*--from=[Move bookmarks from the given revisions]:REVSETS:_default' \
'-t+[Move bookmarks to this revision]:REVSET:_default' \
'--to=[Move bookmarks to this revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-B[Allow moving bookmarks backwards or sideways]' \
'--allow-backwards[Allow moving bookmarks backwards or sideways]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Move bookmarks matching the given name patterns:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--overwrite-existing[Allow renaming even if the new bookmark name already exists]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':old -- The old name of the bookmark:_default' \
':new -- The new name of the bookmark:_default' \
&& ret=0
;;
(r)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--overwrite-existing[Allow renaming even if the new bookmark name already exists]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':old -- The old name of the bookmark:_default' \
':new -- The new name of the bookmark:_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVSET:_default' \
'--revision=[The bookmark'\''s target revision]:REVSET:_default' \
'--to=[The bookmark'\''s target revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-B[Allow moving the bookmark backwards or sideways]' \
'--allow-backwards[Allow moving the bookmark backwards or sideways]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to update:_default' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVSET:_default' \
'--revision=[The bookmark'\''s target revision]:REVSET:_default' \
'--to=[The bookmark'\''s target revision]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-B[Allow moving the bookmark backwards or sideways]' \
'--allow-backwards[Allow moving the bookmark backwards or sideways]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- The bookmarks to update:_default' \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
'*--remote=[Remote names to track]:REMOTE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Bookmark names to track:_default' \
&& ret=0
;;
(t)
_arguments "${_arguments_options[@]}" : \
'*--remote=[Remote names to track]:REMOTE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Bookmark names to track:_default' \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
'*--remote=[Remote names to untrack]:REMOTE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Bookmark names to untrack:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(commit)
_arguments "${_arguments_options[@]}" : \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME:_default' \
'*-m+[The change description to use (don'\''t open editor)]:MESSAGE:_default' \
'*--message=[The change description to use (don'\''t open editor)]:MESSAGE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-i[Interactively choose which changes to include in the current commit]' \
'--interactive[Interactively choose which changes to include in the current commit]' \
'--editor[Open an editor to edit the change description]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Put these paths in the current commit:_files' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-config-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(e)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
&& ret=0
;;
(g)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each variable using the given template]:TEMPLATE:_default' \
'--template=[Render each variable using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(--user --repo --workspace)--include-defaults[Whether to explicitly include built-in default values in the list]' \
'--include-overridden[Allow printing overridden values]' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::name -- An optional name of a specific config option to look up:_default' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each variable using the given template]:TEMPLATE:_default' \
'--template=[Render each variable using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(--user --repo --workspace)--include-defaults[Whether to explicitly include built-in default values in the list]' \
'--include-overridden[Allow printing overridden values]' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::name -- An optional name of a specific config option to look up:_default' \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(p)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
':value -- New value to set:_default' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
':value -- New value to set:_default' \
&& ret=0
;;
(unset)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
&& ret=0
;;
(u)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--workspace[Target the workspace-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-command-$line[1]:"
        case $line[1] in
            (copy-detection)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::revision -- Show file copies detected in changed files in this revision, compared to its parent(s):_default' \
&& ret=0
;;
(fileset)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path:_files' \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(index-changed-paths)
_arguments "${_arguments_options[@]}" : \
'-n+[Limit number of revisions to index]:LIMIT:_default' \
'--limit=[Limit number of revisions to index]:LIMIT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(init-simple)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::destination -- The destination directory:_files -/' \
&& ret=0
;;
(local-working-copy)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(object)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__debug__subcmd__object_commands" \
"*::: :->object" \
&& ret=0

    case $state in
    (object)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-object-command-$line[1]:"
        case $line[1] in
            (commit)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id:_default' \
&& ret=0
;;
(file)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION:_default' \
'--revision=[]:REVISION:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path:_files' \
'::id:_default' \
&& ret=0
;;
(operation)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':id:_default' \
&& ret=0
;;
(symlink)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION:_default' \
'--revision=[]:REVISION:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path:_files' \
'::id:_default' \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION:_default' \
'--revision=[]:REVISION:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':dir:_files -/' \
'::id:_default' \
&& ret=0
;;
(view)
_arguments "${_arguments_options[@]}" : \
'--op=[]:OP:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::id:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--no-resolve[Do not resolve and evaluate expression]' \
'--no-optimize[Do not rewrite expression to optimized form]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':revision:_default' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(stacked-table)
_arguments "${_arguments_options[@]}" : \
'-n+[Key size in bytes]:KEY_SIZE:_default' \
'--key-size=[Key size in bytes]:KEY_SIZE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':dir -- Path to table store directory:_files -/' \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':template:_default' \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVSET:_default' \
'--revision=[]:REVSET:_default' \
'(-r --revision)--id=[]:ID:_default' \
'--dir=[]:DIR:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths:_default' \
&& ret=0
;;
(watchman)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__debug__subcmd__watchman_commands" \
"*::: :->watchman" \
&& ret=0

    case $state in
    (watchman)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-watchman-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(query-clock)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(query-changed-files)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(reset-clock)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(working-copy)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(describe)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'(--stdin)*-m+[The change description to use (don'\''t open editor)]:MESSAGE:_default' \
'(--stdin)*--message=[The change description to use (don'\''t open editor)]:MESSAGE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--stdin[Read the change description from stdin]' \
'--editor[Open an editor to edit the change description]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revision(s) whose description to edit (default\: @) \[aliases\: -r\]:_default' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'*-r+[Show changes in these revisions]:REVSETS:_default' \
'*--revisions=[Show changes in these revisions]:REVSETS:_default' \
'(-r --revisions)-f+[Show changes from this revision]:REVSET:_default' \
'(-r --revisions)--from=[Show changes from this revision]:REVSET:_default' \
'(-r --revisions)-t+[Show changes to this revision]:REVSET:_default' \
'(-r --revisions)--to=[Show changes to this revision]:REVSET:_default' \
'(-s --summary --stat --types --name-only --git --color-words --tool)-T+[Render each file diff entry using the given template]:TEMPLATE:_default' \
'(-s --summary --stat --types --name-only --git --color-words --tool)--template=[Render each file diff entry using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'-w[Ignore whitespace when comparing lines]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(-w --ignore-all-space)-b[Ignore changes in amount of whitespace when comparing lines]' \
'(-w --ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Restrict the diff to these paths:_files' \
&& ret=0
;;
(diffedit)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to touch up]:REVSET:_default' \
'--revision=[The revision to touch up]:REVSET:_default' \
'(-r --revision)-f+[Show changes from this revision]:REVSET:_default' \
'(-r --revision)--from=[Show changes from this revision]:REVSET:_default' \
'(-r --revision)-t+[Edit changes in this revision]:REVSET:_default' \
'(-r --revision)--to=[Edit changes in this revision]:REVSET:_default' \
'--tool=[Specify diff editor to be used]:NAME:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--restore-descendants[Preserve the content (not the diff) when rebasing descendants]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Edit only these paths (unmatched paths will remain unchanged):_files' \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'*-o+[The revision(s) to duplicate onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'*-d+[The revision(s) to duplicate onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'*--onto=[The revision(s) to duplicate onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'*--destination=[The revision(s) to duplicate onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*-A+[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*-B+[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revision(s) to duplicate (default\: @) \[aliases\: -r\]:_default' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::revision_pos -- The commit to edit \[aliases\: -r\]:_default' \
&& ret=0
;;
(evolog)
_arguments "${_arguments_options[@]}" : \
'*-r+[Follow changes from these revisions]:REVSETS:_default' \
'*--revisions=[Follow changes from these revisions]:REVSETS:_default' \
'-n+[Limit number of revisions to show]:LIMIT:_default' \
'--limit=[Limit number of revisions to show]:LIMIT:_default' \
'-T+[Render each revision using the given template]:TEMPLATE:_default' \
'--template=[Render each revision using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--reversed[Show revisions in the opposite order (older revisions first)]' \
'-G[Don'\''t show the graph, show a flat list of revisions]' \
'--no-graph[Don'\''t show the graph, show a flat list of revisions]' \
'-p[Show patch compared to the previous version of this change]' \
'--patch[Show patch compared to the previous version of this change]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(evolution-log)
_arguments "${_arguments_options[@]}" : \
'*-r+[Follow changes from these revisions]:REVSETS:_default' \
'*--revisions=[Follow changes from these revisions]:REVSETS:_default' \
'-n+[Limit number of revisions to show]:LIMIT:_default' \
'--limit=[Limit number of revisions to show]:LIMIT:_default' \
'-T+[Render each revision using the given template]:TEMPLATE:_default' \
'--template=[Render each revision using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--reversed[Show revisions in the opposite order (older revisions first)]' \
'-G[Don'\''t show the graph, show a flat list of revisions]' \
'--no-graph[Don'\''t show the graph, show a flat list of revisions]' \
'-p[Show patch compared to the previous version of this change]' \
'--patch[Show patch compared to the previous version of this change]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(file)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__file_commands" \
"*::: :->file" \
&& ret=0

    case $state in
    (file)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-file-command-$line[1]:"
        case $line[1] in
            (annotate)
_arguments "${_arguments_options[@]}" : \
'-r+[an optional revision to start at]:REVSET:_default' \
'--revision=[an optional revision to start at]:REVSET:_default' \
'-T+[Render each line using the given template]:TEMPLATE:_default' \
'--template=[Render each line using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path -- the file to annotate:_files' \
&& ret=0
;;
(chmod)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to update]:REVSET:_default' \
'--revision=[The revision to update]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':mode:((n\:"Make a path non-executable (alias\: normal)"
x\:"Make a path executable (alias\: executable)"))' \
'*::paths -- Paths to change the executable bit for:_files' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to list files in]:REVSET:_default' \
'--revision=[The revision to list files in]:REVSET:_default' \
'-T+[Render each file entry using the given template]:TEMPLATE:_default' \
'--template=[Render each file entry using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Only list files matching these prefixes (instead of all files):_files' \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to search files in]:REVSET:_default' \
'--revision=[The revision to search files in]:REVSET:_default' \
'-p+[The pattern to search for in a single line]:PATTERN:_default' \
'--pattern=[The pattern to search for in a single line]:PATTERN:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Only search files matching these prefixes (instead of all files):_files' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to get the file contents from]:REVSET:_default' \
'--revision=[The revision to get the file contents from]:REVSET:_default' \
'-T+[Render each file metadata using the given template]:TEMPLATE:_default' \
'--template=[Render each file metadata using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Paths to print:_files' \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--include-ignored[Track paths even if they'\''re ignored or too large]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Paths to track:_files' \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Paths to untrack. They must already be ignored:_files' \
&& ret=0
;;
        esac
    ;;
esac
;;
(fix)
_arguments "${_arguments_options[@]}" : \
'*-s+[Fix files in the specified revision(s) and their descendants. If no revisions are specified, this defaults to the \`revsets.fix\` setting, or \`reachable(@, mutable())\` if it is not set]:REVSETS:_default' \
'*--source=[Fix files in the specified revision(s) and their descendants. If no revisions are specified, this defaults to the \`revsets.fix\` setting, or \`reachable(@, mutable())\` if it is not set]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--include-unchanged-files[Fix unchanged files in addition to changed ones. If no paths are specified, all files in the repo will be fixed]' \
'-a[Format all lines instead of only modified lines]' \
'--all-lines[Format all lines instead of only modified lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Fix only these paths:_files' \
&& ret=0
;;
(gerrit)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__gerrit_commands" \
"*::: :->gerrit" \
&& ret=0

    case $state in
    (gerrit)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-gerrit-command-$line[1]:"
        case $line[1] in
            (upload)
_arguments "${_arguments_options[@]}" : \
'*-r+[The revset, selecting which revisions are sent in to Gerrit]:REVSETS:_default' \
'*--revision=[The revset, selecting which revisions are sent in to Gerrit]:REVSETS:_default' \
'-b+[The location where your changes are intended to land]:REMOTE_BRANCH:_default' \
'--remote-branch=[The location where your changes are intended to land]:REMOTE_BRANCH:_default' \
'--remote=[The Gerrit remote to push to]:REMOTE:_default' \
'*--reviewer=[Add these emails as a reviewer (can be repeated)]:REVIEWER:_default' \
'*--cc=[CC these emails on the change (can be repeated)]:CC:_default' \
'*-l+[Add the following labels configured by Gerrit (can be repeated)]:LABEL:_default' \
'*--label=[Add the following labels configured by Gerrit (can be repeated)]:LABEL:_default' \
'--topic=[Applies a topic to the change]:TOPIC:_default' \
'*--hashtag=[Applies a hashtag to the change (can be repeated)]:HASHTAG:_default' \
'-m+[A patch set description for the new patch set]:MESSAGE:_default' \
'--message=[A patch set description for the new patch set]:MESSAGE:_default' \
'--notify=[Who to email notifications to (defaults to all)]:NOTIFY:((none\:"No emails"
owner\:"Only the change owner is notified"
owner-reviewers\:"Only the change owner and reviewers will be notified"
all\:"All relevant users, including owner, reviewers, cc'\''d, users that have starred the change, and users who have configured a watch on files in the change"))' \
'--deadline=[The deadline after which the push should be aborted]:DEADLINE:_default' \
'*--custom=[Send the following custom keyed values to Gerrit (can be repeated)]:CUSTOM:_default' \
'--trace=[For debugging Gerrit]:TRACE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-n[Do not actually push the changes to Gerrit]' \
'--dry-run[Do not actually push the changes to Gerrit]' \
'--edit[Push the change as a change edit]' \
'--wip[Marks the change as WIP (work in progress)]' \
'--ready[Unmarks the change as WIP (work in progress)]' \
'--private[Marks the change as private]' \
'--remove-private[Unmarks the change as private]' \
'--publish-comments[Publishes any draft comments for the given change]' \
'--no-publish-comments[Disables publishing of any draft comments for the given change]' \
'--submit[Directly submit the changes, bypassing code review]' \
'--skip-validation[When --submit is provided, skip performing validations]' \
'--merged[Create a new change, even if the change has already been merged]' \
'--ignore-attention-set[Do not modify the attention set upon uploading]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(git)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__git_commands" \
"*::: :->git" \
&& ret=0

    case $state in
    (git)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-command-$line[1]:"
        case $line[1] in
            (clone)
_arguments "${_arguments_options[@]}" : \
'--remote=[Name of the newly created remote]:REMOTE_NAME:_default' \
'--depth=[Create a shallow clone of the given depth]:DEPTH:_default' \
'--fetch-tags=[Configure when to fetch tags]:FETCH_TAGS:((all\:"Always fetch all tags"
included\:"Only fetch tags that point to objects that are already being transmitted"
none\:"Do not fetch any tags"))' \
'*-b+[Name of the branch to fetch and use as the parent of the working-copy change (can be repeated)]:BRANCH:_default' \
'*--branch=[Name of the branch to fetch and use as the parent of the working-copy change (can be repeated)]:BRANCH:_default' \
'*-t+[Fetch only some of the tags (can be repeated)]:TAG:_default' \
'*--tag=[Fetch only some of the tags (can be repeated)]:TAG:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--colocate[Colocate the Jujutsu repo with the git repo]' \
'(--colocate)--no-colocate[Disable colocation of the Jujutsu repo with the git repo]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':source -- URL or path of the Git repo to clone:_urls' \
'::destination -- Specifies the target directory for the Jujutsu repository clone. If not provided, defaults to a directory named after the last component of the source URL. The full directory path will be created if it doesn'\''t exist:_files -/' \
&& ret=0
;;
(colocation)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__git__subcmd__colocation_commands" \
"*::: :->colocation" \
&& ret=0

    case $state in
    (colocation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-colocation-command-$line[1]:"
        case $line[1] in
            (disable)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(export)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
'*-b+[Name of the branch to fetch (can be repeated)]:BRANCH:_default' \
'*--branch=[Name of the branch to fetch (can be repeated)]:BRANCH:_default' \
'*-t+[Fetch only some of the tags (can be repeated)]:TAG:_default' \
'*--tag=[Fetch only some of the tags (can be repeated)]:TAG:_default' \
'*--remote=[The remote to fetch from (only named remotes are supported, can be repeated)]:REMOTE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(-b --branch -t --tag)--tracked[Fetch only tracked bookmarks]' \
'(--remote)--all-remotes[Fetch from all remotes]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'(--colocate)--git-repo=[Specifies a path to an **existing** git repository to be used as the backing git repo for the newly created \`jj\` repo]:GIT_REPO:_files -/' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(--git-repo)--colocate[Colocate the Jujutsu repo with the git repo]' \
'(--colocate)--no-colocate[Disable colocation of the Jujutsu repo with the git repo]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::destination -- The destination directory where the `jj` repo will be created. If the directory does not exist, it will be created. If no directory is given, the current directory is used:_files -/' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'--remote=[The remote to push to (only named remotes are supported)]:REMOTE:_default' \
'*-b+[Push only this bookmark, or bookmarks matching a pattern (can be repeated)]:BOOKMARK:_default' \
'*--bookmark=[Push only this bookmark, or bookmarks matching a pattern (can be repeated)]:BOOKMARK:_default' \
'*-t+[Push only this tag, or tags matching a pattern (can be repeated)]:TAG:_default' \
'*--tag=[Push only this tag, or tags matching a pattern (can be repeated)]:TAG:_default' \
'*-r+[Push bookmarks pointing to these commits (can be repeated)]:REVSETS:_default' \
'*--revision=[Push bookmarks pointing to these commits (can be repeated)]:REVSETS:_default' \
'*-c+[Push this commit by creating a bookmark (can be repeated)]:REVSETS:_default' \
'*--change=[Push this commit by creating a bookmark (can be repeated)]:REVSETS:_default' \
'*--named=[Specify a new bookmark name and a revision to push under that name, e.g. '\''--named myfeature=@'\'']:NAME=REVISION:_default' \
'*-o+[Git push options]:OPTION:_default' \
'*--option=[Git push options]:OPTION:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--all[Push all bookmarks (including new bookmarks)]' \
'--tracked[Push all tracked bookmarks]' \
'(-b --bookmark -t --tag -r --revision -c --change --named)--deleted[Push all deleted bookmarks]' \
'--allow-empty-description[Allow pushing commits with empty descriptions]' \
'--allow-private[Allow pushing commits that are private]' \
'--dry-run[Only display what will change on the remote]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__git__subcmd__remote_commands" \
"*::: :->remote" \
&& ret=0

    case $state in
    (remote)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-remote-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--fetch-tags=[Configure when to fetch tags]:FETCH_TAGS:((all\:"Always fetch all tags"
included\:"Only fetch tags that point to objects that are already being transmitted"
none\:"Do not fetch any tags"))' \
'--push-url=[The URL used for push]:PUSH_URL:_urls' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':remote -- The remote'\''s name:_default' \
':url -- The remote'\''s URL or path:_urls' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':remote -- The remote'\''s name:_default' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':old -- The name of an existing remote:_default' \
':new -- The desired name for `old`:_default' \
&& ret=0
;;
(set-url)
_arguments "${_arguments_options[@]}" : \
'--push=[The URL or path to push to]:PUSH:_urls' \
'()--fetch=[The URL or path to fetch from]:FETCH:_urls' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':remote -- The remote'\''s name:_default' \
'::url -- The URL or path to fetch from:_urls' \
&& ret=0
;;
        esac
    ;;
esac
;;
(root)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
'()-k+[Show help for keywords instead of commands]:KEYWORD:((bookmarks\:"Named pointers to revisions (similar to Git'\''s branches)"
config\:"How and where to set configuration options"
filesets\:"A functional language for selecting a set of files"
glossary\:"Definitions of various terms"
revsets\:"A functional language for selecting a set of revision"
templates\:"A functional language to customize command output"
tutorial\:"Show a tutorial to get started with jj"))' \
'()--keyword=[Show help for keywords instead of commands]:KEYWORD:((bookmarks\:"Named pointers to revisions (similar to Git'\''s branches)"
config\:"How and where to set configuration options"
filesets\:"A functional language for selecting a set of files"
glossary\:"Definitions of various terms"
revsets\:"A functional language for selecting a set of revision"
templates\:"A functional language to customize command output"
tutorial\:"Show a tutorial to get started with jj"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::command -- Print help for the subcommand(s):_default' \
&& ret=0
;;
(interdiff)
_arguments "${_arguments_options[@]}" : \
'-f+[The first revision to compare (default\: @)]:REVSET:_default' \
'--from=[The first revision to compare (default\: @)]:REVSET:_default' \
'-t+[The second revision to compare (default\: @)]:REVSET:_default' \
'--to=[The second revision to compare (default\: @)]:REVSET:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'-w[Ignore whitespace when comparing lines]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(-w --ignore-all-space)-b[Ignore changes in amount of whitespace when comparing lines]' \
'(-w --ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Restrict the diff to these paths:_files' \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
'*-r+[Which revisions to show]:REVSETS:_default' \
'*--revision=[Which revisions to show]:REVSETS:_default' \
'-n+[Limit number of revisions to show]:LIMIT:_default' \
'--limit=[Limit number of revisions to show]:LIMIT:_default' \
'-T+[Render each revision using the given template]:TEMPLATE:_default' \
'--template=[Render each revision using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--reversed[Show revisions in the opposite order (older revisions first)]' \
'-G[Don'\''t show the graph, show a flat list of revisions]' \
'--no-graph[Don'\''t show the graph, show a flat list of revisions]' \
'-p[Show patch]' \
'--patch[Show patch]' \
'(-s --summary --stat --types --name-only --git --color-words --tool --context --ignore-all-space --ignore-space-change -G --no-graph -p --patch --reversed -T --template)--count[Print the number of commits instead of showing them]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Show revisions modifying the given paths:_files' \
&& ret=0
;;
(metaedit)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'*-m+[Update the change description]:MESSAGE:_default' \
'*--message=[Update the change description]:MESSAGE:_default' \
'(--update-author)--author=[Set author to the provided string]:AUTHOR:_default' \
'(--update-author-timestamp)--author-timestamp=[Set the author date to the given date]:AUTHOR_TIMESTAMP:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--update-change-id[Generate a new change-id]' \
'--update-author-timestamp[Update the author timestamp]' \
'--update-author[Update the author to the configured user]' \
'--force-rewrite[Rewrite the commit, even if no other metadata changed]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revision(s) to modify (default\: @) \[aliases\: -r\]:_default' \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
'*-o+[]:REVSETS:_default' \
'*-m+[The change description to use]:MESSAGE:_default' \
'*--message=[The change description to use]:MESSAGE:_default' \
'(-o)*-A+[Insert the new change after the given commit(s)]:REVSETS:_default' \
'(-o)*--insert-after=[Insert the new change after the given commit(s)]:REVSETS:_default' \
'(-o)*--after=[Insert the new change after the given commit(s)]:REVSETS:_default' \
'(-o)*-B+[Insert the new change before the given commit(s)]:REVSETS:_default' \
'(-o)*--insert-before=[Insert the new change before the given commit(s)]:REVSETS:_default' \
'(-o)*--before=[Insert the new change before the given commit(s)]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(--edit)--no-edit[Do not edit the newly created change]' \
'--edit[No-op flag to pair with --no-edit]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- Parent(s) of the new change \[default\: @\] \[aliases\: -o, -r\]:_default' \
&& ret=0
;;
(next)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-e[Instead of creating a new working-copy commit on top of the target commit (like \`jj new\`), edit the target commit directly (like \`jj edit\`)]' \
'--edit[Instead of creating a new working-copy commit on top of the target commit (like \`jj new\`), edit the target commit directly (like \`jj edit\`)]' \
'(-e --edit)-n[The inverse of \`--edit\`]' \
'(-e --edit)--no-edit[The inverse of \`--edit\`]' \
'()--conflict[Jump to the next conflicted descendant]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::offset -- How many revisions to move forward. Advances to the next child by default:_default' \
&& ret=0
;;
(operation)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__operation_commands" \
"*::: :->operation" \
&& ret=0

    case $state in
    (operation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-operation-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation or operation range to abandon:_default' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'--operation=[Show repository changes in this operation, compared to its parent]:OPERATION:_default' \
'--op=[Show repository changes in this operation, compared to its parent]:OPERATION:_default' \
'(--operation)-f+[Show repository changes from this operation]:FROM:_default' \
'(--operation)--from=[Show repository changes from this operation]:FROM:_default' \
'(--operation)-t+[Show repository changes to this operation]:TO:_default' \
'(--operation)--to=[Show repository changes to this operation]:TO:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-G[Don'\''t show the graph, show a flat list of modified changes]' \
'--no-graph[Don'\''t show the graph, show a flat list of modified changes]' \
'-p[Show patch of modifications to changes]' \
'--patch[Show patch of modifications to changes]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(integrate)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation to integrate:_default' \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
'-n+[Limit number of operations to show]:LIMIT:_default' \
'--limit=[Limit number of operations to show]:LIMIT:_default' \
'-T+[Render each operation using the given template]:TEMPLATE:_default' \
'--template=[Render each operation using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--reversed[Show operations in the opposite order (older operations first)]' \
'-G[Don'\''t show the graph, show a flat list of operations]' \
'--no-graph[Don'\''t show the graph, show a flat list of operations]' \
'-d[Show changes to the repository at each operation]' \
'--op-diff[Show changes to the repository at each operation]' \
'-p[Show patch of modifications to changes (implies --op-diff)]' \
'--patch[Show patch of modifications to changes (implies --op-diff)]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'*--what=[What portions of the local state to restore (can be repeated)]:WHAT:((repo\:"The jj repo state and local bookmarks"
remote-tracking\:"The remote-tracking bookmarks. Do not restore these if you'\''d like to push after the undo"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation to restore to:_default' \
&& ret=0
;;
(revert)
_arguments "${_arguments_options[@]}" : \
'*--what=[What portions of the local state to restore (can be repeated)]:WHAT:((repo\:"The jj repo state and local bookmarks"
remote-tracking\:"The remote-tracking bookmarks. Do not restore these if you'\''d like to push after the undo"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::operation -- The operation to revert:_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'-T+[Render the operation using the given template]:TEMPLATE:_default' \
'--template=[Render the operation using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-G[Don'\''t show the graph, show a flat list of modified changes]' \
'--no-graph[Don'\''t show the graph, show a flat list of modified changes]' \
'-p[Show patch of modifications to changes]' \
'--patch[Show patch of modifications to changes]' \
'(-p --patch -s --summary --stat --types --name-only --git --color-words --tool --context --ignore-all-space --ignore-space-change)--no-op-diff[Do not show operation diff]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::operation -- Show repository changes in this operation, compared to its parent(s):_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(op)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__operation_commands" \
"*::: :->operation" \
&& ret=0

    case $state in
    (operation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-operation-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation or operation range to abandon:_default' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'--operation=[Show repository changes in this operation, compared to its parent]:OPERATION:_default' \
'--op=[Show repository changes in this operation, compared to its parent]:OPERATION:_default' \
'(--operation)-f+[Show repository changes from this operation]:FROM:_default' \
'(--operation)--from=[Show repository changes from this operation]:FROM:_default' \
'(--operation)-t+[Show repository changes to this operation]:TO:_default' \
'(--operation)--to=[Show repository changes to this operation]:TO:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-G[Don'\''t show the graph, show a flat list of modified changes]' \
'--no-graph[Don'\''t show the graph, show a flat list of modified changes]' \
'-p[Show patch of modifications to changes]' \
'--patch[Show patch of modifications to changes]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(integrate)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation to integrate:_default' \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
'-n+[Limit number of operations to show]:LIMIT:_default' \
'--limit=[Limit number of operations to show]:LIMIT:_default' \
'-T+[Render each operation using the given template]:TEMPLATE:_default' \
'--template=[Render each operation using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--reversed[Show operations in the opposite order (older operations first)]' \
'-G[Don'\''t show the graph, show a flat list of operations]' \
'--no-graph[Don'\''t show the graph, show a flat list of operations]' \
'-d[Show changes to the repository at each operation]' \
'--op-diff[Show changes to the repository at each operation]' \
'-p[Show patch of modifications to changes (implies --op-diff)]' \
'--patch[Show patch of modifications to changes (implies --op-diff)]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'*--what=[What portions of the local state to restore (can be repeated)]:WHAT:((repo\:"The jj repo state and local bookmarks"
remote-tracking\:"The remote-tracking bookmarks. Do not restore these if you'\''d like to push after the undo"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':operation -- The operation to restore to:_default' \
&& ret=0
;;
(revert)
_arguments "${_arguments_options[@]}" : \
'*--what=[What portions of the local state to restore (can be repeated)]:WHAT:((repo\:"The jj repo state and local bookmarks"
remote-tracking\:"The remote-tracking bookmarks. Do not restore these if you'\''d like to push after the undo"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::operation -- The operation to revert:_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'-T+[Render the operation using the given template]:TEMPLATE:_default' \
'--template=[Render the operation using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'--show-changes-in=[Show only changed revisions matching the given revset expression]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-G[Don'\''t show the graph, show a flat list of modified changes]' \
'--no-graph[Don'\''t show the graph, show a flat list of modified changes]' \
'-p[Show patch of modifications to changes]' \
'--patch[Show patch of modifications to changes]' \
'(-p --patch -s --summary --stat --types --name-only --git --color-words --tool --context --ignore-all-space --ignore-space-change)--no-op-diff[Do not show operation diff]' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(--ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::operation -- Show repository changes in this operation, compared to its parent(s):_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(parallelize)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- The revisions to parallelize \[aliases\: -r\]:_default' \
&& ret=0
;;
(prev)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-e[Edit the parent directly, instead of moving the working-copy commit]' \
'--edit[Edit the parent directly, instead of moving the working-copy commit]' \
'(-e --edit)-n[The inverse of \`--edit\`]' \
'(-e --edit)--no-edit[The inverse of \`--edit\`]' \
'()--conflict[Jump to the previous conflicted ancestor]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::offset -- How many revisions to move backward. Moves to the parent by default:_default' \
&& ret=0
;;
(rebase)
_arguments "${_arguments_options[@]}" : \
'*-b+[Rebase the whole branch relative to destination'\''s ancestors (can be repeated)]:REVSETS:_default' \
'*--branch=[Rebase the whole branch relative to destination'\''s ancestors (can be repeated)]:REVSETS:_default' \
'*-s+[Rebase specified revision(s) together with their trees of descendants (can be repeated)]:REVSETS:_default' \
'*--source=[Rebase specified revision(s) together with their trees of descendants (can be repeated)]:REVSETS:_default' \
'*-r+[Rebase the given revisions, rebasing descendants onto this revision'\''s parent(s)]:REVSETS:_default' \
'*--revision=[Rebase the given revisions, rebasing descendants onto this revision'\''s parent(s)]:REVSETS:_default' \
'*-o+[The revision(s) to rebase onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'*-d+[The revision(s) to rebase onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'*--onto=[The revision(s) to rebase onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*-A+[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*-B+[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--skip-emptied[If true, when rebasing would produce an empty commit, the commit is abandoned. It will not be abandoned if it was already empty before the rebase. Will never skip merge commits with multiple non-empty parents]' \
'--keep-divergent[Keep divergent commits while rebasing]' \
'--simplify-parents[Simplify parents of rebased commits, like \`jj simplify-parents\`, while rebasing them. Any parents that are ancestors of other parents will be removed]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(redo)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVSET:_default' \
'--revision=[]:REVSET:_default' \
'(-l --list)--tool=[Specify 3-way merge tool to be used]:NAME:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-l[Instead of resolving conflicts, list all the conflicts]' \
'--list[Instead of resolving conflicts, list all the conflicts]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Only resolve conflicts in these paths. You can use the `--list` argument to find paths to use here:_files' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'-f+[Revision to restore from (source)]:REVSET:_default' \
'--from=[Revision to restore from (source)]:REVSET:_default' \
'-t+[Revision to restore into (destination)]:REVSET:_default' \
'--into=[Revision to restore into (destination)]:REVSET:_default' \
'--to=[Revision to restore into (destination)]:REVSET:_default' \
'(-t --into -f --from)-c+[Undo the changes in a revision as compared to the merge of its parents]:REVSET:_default' \
'(-t --into -f --from)--changes-in=[Undo the changes in a revision as compared to the merge of its parents]:REVSET:_default' \
'-r+[Prints an error. DO NOT USE]:REVISION:_default' \
'--revision=[Prints an error. DO NOT USE]:REVISION:_default' \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-i[Interactively choose which parts to restore]' \
'--interactive[Interactively choose which parts to restore]' \
'--restore-descendants[Preserve the content (not the diff) when rebasing descendants]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Restore only these paths (instead of all paths):_files' \
&& ret=0
;;
(revert)
_arguments "${_arguments_options[@]}" : \
'*-r+[The revision(s) to apply the reverse of]:REVSETS:_default' \
'*--revision=[The revision(s) to apply the reverse of]:REVSETS:_default' \
'*-o+[The revision(s) to apply the reverse changes on top of]:REVSETS:_default' \
'*-d+[The revision(s) to apply the reverse changes on top of]:REVSETS:_default' \
'*--onto=[The revision(s) to apply the reverse changes on top of]:REVSETS:_default' \
'*--destination=[The revision(s) to apply the reverse changes on top of]:REVSETS:_default' \
'(-o --onto)*-A+[The revision(s) to insert the reverse changes after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-after=[The revision(s) to insert the reverse changes after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--after=[The revision(s) to insert the reverse changes after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*-B+[The revision(s) to insert the reverse changes before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--insert-before=[The revision(s) to insert the reverse changes before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto)*--before=[The revision(s) to insert the reverse changes before (can be repeated to create a merge commit)]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(root)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
'*-r+[The revisions to change]:REVSETS:_default' \
'*--revision=[The revisions to change]:REVSETS:_default' \
'-j+[How many processes should run in parallel, uses by default all cores]:JOBS:_default' \
'--jobs=[How many processes should run in parallel, uses by default all cores]:JOBS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-x[A no-op option to match the interface of \`git rebase -x\`]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell_command -- The command to run across all selected revisions:_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'*-r+[]:REVSETS:_default' \
'-T+[Render each revision using the given template]:TEMPLATE:_default' \
'--template=[Render each revision using the given template]:TEMPLATE:_default' \
'--tool=[Generate diff by external command]:TOOL:_default' \
'--context=[Number of lines of context to show]:CONTEXT:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-s[For each path, show only whether it was modified, added, or deleted]' \
'--summary[For each path, show only whether it was modified, added, or deleted]' \
'--stat[Show a histogram of the changes]' \
'--types[For each path, show only its type before and after]' \
'--name-only[For each path, show only its path]' \
'--git[Show a Git-format diff]' \
'--color-words[Show a word-level diff with changes indicated only by color]' \
'(-s --summary --stat --types --name-only --git --color-words --tool --context -w --ignore-all-space -b --ignore-space-change)--no-patch[Do not show the patch]' \
'-w[Ignore whitespace when comparing lines]' \
'--ignore-all-space[Ignore whitespace when comparing lines]' \
'(-w --ignore-all-space)-b[Ignore changes in amount of whitespace when comparing lines]' \
'(-w --ignore-all-space)--ignore-space-change[Ignore changes in amount of whitespace when comparing lines]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::revisions_pos -- Show changes in these revisions, compared to their parent(s) \[default\: @\] \[aliases\: -r\]:_default' \
&& ret=0
;;
(sign)
_arguments "${_arguments_options[@]}" : \
'*-r+[What revision(s) to sign]:REVSETS:_default' \
'*--revision=[What revision(s) to sign]:REVSETS:_default' \
'--key=[The key used for signing]:KEY:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(simplify-parents)
_arguments "${_arguments_options[@]}" : \
'*-s+[Simplify specified revision(s) together with their trees of descendants (can be repeated)]:REVSETS:_default' \
'*--source=[Simplify specified revision(s) together with their trees of descendants (can be repeated)]:REVSETS:_default' \
'*-r+[Simplify specified revision(s) (can be repeated)]:REVSETS:_default' \
'*--revision=[Simplify specified revision(s) (can be repeated)]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(sparse)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__sparse_commands" \
"*::: :->sparse" \
&& ret=0

    case $state in
    (sparse)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-sparse-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(reset)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'*--add=[Patterns to add to the working copy]:ADD:_files' \
'(--clear)*--remove=[Patterns to remove from the working copy]:REMOVE:_files' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--clear[Include no files in the working copy (combine with --add)]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(split)
_arguments "${_arguments_options[@]}" : \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME:_default' \
'-r+[The revision to split]:REVSET:_default' \
'--revision=[The revision to split]:REVSET:_default' \
'(-p --parallel)*-o+[The revision(s) to rebase the selected changes onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-p --parallel)*-d+[The revision(s) to rebase the selected changes onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-p --parallel)*--onto=[The revision(s) to rebase the selected changes onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-p --parallel)*--destination=[The revision(s) to rebase the selected changes onto (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*-A+[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*--insert-after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*--after=[The revision(s) to insert after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*-B+[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*--insert-before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -p --parallel)*--before=[The revision(s) to insert before (can be repeated to create a merge commit)]:REVSETS:_default' \
'*-m+[The change description to use for the selected changes (don'\''t open editor)]:MESSAGE:_default' \
'*--message=[The change description to use for the selected changes (don'\''t open editor)]:MESSAGE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-i[Interactively choose which parts to split]' \
'--interactive[Interactively choose which parts to split]' \
'--editor[Open an editor to edit the change description(s)]' \
'-p[Split the revision into two parallel revisions instead of a parent and child]' \
'--parallel[Split the revision into two parallel revisions instead of a parent and child]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Files matching any of these filesets are put in the selected changes:_files' \
&& ret=0
;;
(squash)
_arguments "${_arguments_options[@]}" : \
'-r+[Revision to squash into its parent (default\: @). Incompatible with the experimental \`-o\`/\`-A\`/\`-B\` options]:REVSET:_default' \
'--revision=[Revision to squash into its parent (default\: @). Incompatible with the experimental \`-o\`/\`-A\`/\`-B\` options]:REVSET:_default' \
'(-r --revision)*-f+[Revision(s) to squash from (default\: @)]:REVSETS:_default' \
'(-r --revision)*--from=[Revision(s) to squash from (default\: @)]:REVSETS:_default' \
'(-r --revision)-t+[Revision to squash into (default\: @)]:REVSET:_default' \
'(-r --revision)--into=[Revision to squash into (default\: @)]:REVSET:_default' \
'(-r --revision)--to=[Revision to squash into (default\: @)]:REVSET:_default' \
'(-t --into -r --revision)*-o+[(Experimental) The revision(s) to use as parent for the new commit (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-t --into -r --revision)*-d+[(Experimental) The revision(s) to use as parent for the new commit (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-t --into -r --revision)*--onto=[(Experimental) The revision(s) to use as parent for the new commit (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-t --into -r --revision)*--destination=[(Experimental) The revision(s) to use as parent for the new commit (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*-A+[(Experimental) The revision(s) to insert the new commit after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*--insert-after=[(Experimental) The revision(s) to insert the new commit after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*--after=[(Experimental) The revision(s) to insert the new commit after (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*-B+[(Experimental) The revision(s) to insert the new commit before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*--insert-before=[(Experimental) The revision(s) to insert the new commit before (can be repeated to create a merge commit)]:REVSETS:_default' \
'(-o --onto -t --into -r --revision)*--before=[(Experimental) The revision(s) to insert the new commit before (can be repeated to create a merge commit)]:REVSETS:_default' \
'*-m+[The description to use for squashed revision (don'\''t open editor)]:MESSAGE:_default' \
'*--message=[The description to use for squashed revision (don'\''t open editor)]:MESSAGE:_default' \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'(-m --message)-u[Use the description of the destination revision and discard the description(s) of the source revision(s)]' \
'(-m --message)--use-destination-message[Use the description of the destination revision and discard the description(s) of the source revision(s)]' \
'--editor[Open an editor to edit the change description]' \
'-i[Interactively choose which parts to squash]' \
'--interactive[Interactively choose which parts to squash]' \
'-k[The source revision will not be abandoned]' \
'--keep-emptied[The source revision will not be abandoned]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Move only changes to these paths (instead of all paths):_files' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::paths -- Restrict the status display to these paths:_files' \
&& ret=0
;;
(tag)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__tag_commands" \
"*::: :->tag" \
&& ret=0

    case $state in
    (tag)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-tag-command-$line[1]:"
        case $line[1] in
            (delete)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Tag names to delete:_default' \
&& ret=0
;;
(d)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Tag names to delete:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'(-a --all-remotes)*--remote=[Show all tracked and untracked remote tags belonging to this remote]:REMOTE:_default' \
'*-r+[Show tags whose local targets are in the given revisions]:REVSETS:_default' \
'*--revision=[Show tags whose local targets are in the given revisions]:REVSETS:_default' \
'-T+[Render each tag using the given template]:TEMPLATE:_default' \
'--template=[Render each tag using the given template]:TEMPLATE:_default' \
'*--sort=[Sort tags based on the given key (or multiple keys)]:SORT_KEY:(name name- author-name author-name- author-email author-email- author-date author-date- committer-name committer-name- committer-email committer-email- committer-date committer-date-)' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-a[Show all tracked and untracked remote tags including the ones whose targets are synchronized with the local tags]' \
'--all-remotes[Show all tracked and untracked remote tags including the ones whose targets are synchronized with the local tags]' \
'(-a --all-remotes)-t[Show tracked remote tags only]' \
'(-a --all-remotes)--tracked[Show tracked remote tags only]' \
'(-a --all-remotes)-c[Show conflicted tags only]' \
'(-a --all-remotes)--conflicted[Show conflicted tags only]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Show tags whose local name matches:_default' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'(-a --all-remotes)*--remote=[Show all tracked and untracked remote tags belonging to this remote]:REMOTE:_default' \
'*-r+[Show tags whose local targets are in the given revisions]:REVSETS:_default' \
'*--revision=[Show tags whose local targets are in the given revisions]:REVSETS:_default' \
'-T+[Render each tag using the given template]:TEMPLATE:_default' \
'--template=[Render each tag using the given template]:TEMPLATE:_default' \
'*--sort=[Sort tags based on the given key (or multiple keys)]:SORT_KEY:(name name- author-name author-name- author-email author-email- author-date author-date- committer-name committer-name- committer-email committer-email- committer-date committer-date-)' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'-a[Show all tracked and untracked remote tags including the ones whose targets are synchronized with the local tags]' \
'--all-remotes[Show all tracked and untracked remote tags including the ones whose targets are synchronized with the local tags]' \
'(-a --all-remotes)-t[Show tracked remote tags only]' \
'(-a --all-remotes)--tracked[Show tracked remote tags only]' \
'(-a --all-remotes)-c[Show conflicted tags only]' \
'(-a --all-remotes)--conflicted[Show conflicted tags only]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Show tags whose local name matches:_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-r+[Target revision to point to]:REVSET:_default' \
'--revision=[Target revision to point to]:REVSET:_default' \
'--to=[Target revision to point to]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--allow-move[Allow moving existing tags]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Tag names to create or update:_default' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-r+[Target revision to point to]:REVSET:_default' \
'--revision=[Target revision to point to]:REVSET:_default' \
'--to=[Target revision to point to]:REVSET:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--allow-move[Allow moving existing tags]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::names -- Tag names to create or update:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(undo)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(unsign)
_arguments "${_arguments_options[@]}" : \
'*-r+[What revision(s) to unsign]:REVSETS:_default' \
'*--revision=[What revision(s) to unsign]:REVSETS:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(util)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__util_commands" \
"*::: :->util" \
&& ret=0

    case $state in
    (util)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-util-command-$line[1]:"
        case $line[1] in
            (backend)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__util__subcmd__backend_commands" \
"*::: :->backend" \
&& ret=0

    case $state in
    (backend)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-util-backend-command-$line[1]:"
        case $line[1] in
            (name)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell:(bash elvish fish nushell power-shell zsh)' \
&& ret=0
;;
(config-schema)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(exec)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':command -- External command to execute:_default' \
'*::args -- Arguments to pass to the external command:_files' \
&& ret=0
;;
(gc)
_arguments "${_arguments_options[@]}" : \
'--expire=[Time threshold]:EXPIRE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(install-man-pages)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path -- The path where manpages will installed. An example path might be `/usr/share/man`. The provided path will be appended with `man1`, etc., as appropriate:_files' \
&& ret=0
;;
(markdown-help)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(workspace)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_jj__subcmd__workspace_commands" \
"*::: :->workspace" \
&& ret=0

    case $state in
    (workspace)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-workspace-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--name=[A name for the workspace]:NAME:_default' \
'*-r+[A list of parent revisions for the working-copy commit of the newly created workspace. You may specify nothing, or any number of parents]:REVSETS:_default' \
'*--revision=[A list of parent revisions for the working-copy commit of the newly created workspace. You may specify nothing, or any number of parents]:REVSETS:_default' \
'*-m+[The change description to use]:MESSAGE:_default' \
'*--message=[The change description to use]:MESSAGE:_default' \
'--sparse-patterns=[How to handle sparse patterns when creating a new workspace]:SPARSE_PATTERNS:((copy\:"Copy all sparse patterns from the current workspace"
full\:"Include all files in the new workspace"
empty\:"Clear all files from the workspace (it will be empty)"))' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':destination -- Where to create the new workspace:_files -/' \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::workspaces -- Names of the workspaces to forget. By default, forgets only the current workspace:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each workspace using the given template]:TEMPLATE:_default' \
'--template=[Render each workspace using the given template]:TEMPLATE:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':new_workspace_name -- The name of the workspace to update to:_default' \
&& ret=0
;;
(root)
_arguments "${_arguments_options[@]}" : \
'--name=[Name of the workspace (defaults to current)]:NAME:_default' \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(update-stale)
_arguments "${_arguments_options[@]}" : \
'-R+[Path to repository to operate on]:REPOSITORY:_files -/' \
'--repository=[Path to repository to operate on]:REPOSITORY:_files -/' \
'--at-operation=[Operation to load the repo at]:AT_OPERATION:_default' \
'--at-op=[Operation to load the repo at]:AT_OPERATION:_default' \
'--color=[When to colorize output]:WHEN:(always never debug auto)' \
'*--config=[Additional configuration options (can be repeated)]:NAME=VALUE:_default' \
'*--config-file=[Additional configuration files (can be repeated)]:PATH:_files' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--no-integrate-operation[Run the command as usual but don'\''t integrate any operations]' \
'--ignore-immutable[Allow rewriting immutable commits]' \
'--debug[Enable debug logging]' \
'--quiet[Silence non-primary command output]' \
'--no-pager[Disable the pager]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_jj_commands] )) ||
_jj_commands() {
    local commands; commands=(
'abandon:Abandon a revision' \
'absorb:Move changes from a revision into the stack of mutable revisions' \
'arrange:Interactively arrange the commit graph' \
'bisect:Find a bad revision by bisection' \
'bookmark:Manage bookmarks \[default alias\: b\]' \
'commit:Update the description and create a new change on top \[default alias\: ci\]' \
'config:Manage config options' \
'debug:Low-level commands not intended for users' \
'describe:Update the change description or other metadata \[default alias\: desc\]' \
'diff:Compare file contents between two revisions' \
'diffedit:Touch up the content changes in a revision with a diff editor' \
'duplicate:Create new changes with the same content as existing ones' \
'edit:Sets the specified revision as the working-copy revision' \
'evolog:Show how a change has evolved over time' \
'evolution-log:Show how a change has evolved over time' \
'file:File operations' \
'fix:Update files with formatting fixes or other changes' \
'gerrit:Interact with Gerrit Code Review' \
'git:Commands for working with Git remotes and the underlying Git repo' \
'help:Print this message or the help of the given subcommand(s)' \
'interdiff:Show differences between the diffs of two revisions' \
'log:Show revision history' \
'metaedit:Modify the metadata of a revision without changing its content' \
'new:Create a new, empty change and (by default) edit it in the working copy' \
'next:Move the working-copy commit to the child revision' \
'operation:Commands for working with the operation log' \
'op:Commands for working with the operation log' \
'parallelize:Parallelize revisions by making them siblings' \
'prev:Change the working copy revision relative to the parent revision' \
'rebase:Move revisions to different parent(s)' \
'redo:Redo the most recently undone operation' \
'resolve:Resolve conflicted files with an external merge tool' \
'restore:Restore paths from another revision' \
'revert:Apply the reverse of the given revision(s)' \
'root:Show the current workspace root directory (shortcut for \`jj workspace root\`)' \
'run:(**Stub**, does not work yet) Run a command across a set of revisions.' \
'show:Show revision metadata and diff' \
'sign:Cryptographically sign a revision' \
'simplify-parents:Simplify parent edges for the specified revision(s)' \
'sparse:Manage which paths from the working-copy commit are present in the working copy' \
'split:Split a revision in two' \
'squash:Move changes from a revision into another revision' \
'status:Show high-level repo status \[default alias\: st\]' \
'tag:Manage tags' \
'undo:Undo the last operation' \
'unsign:Drop a cryptographic signature' \
'util:Infrequently used commands such as for generating shell completions' \
'version:Display version information' \
'workspace:Commands for working with workspaces' \
    )
    _describe -t commands 'jj commands' commands "$@"
}
(( $+functions[_jj__subcmd__abandon_commands] )) ||
_jj__subcmd__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj abandon commands' commands "$@"
}
(( $+functions[_jj__subcmd__absorb_commands] )) ||
_jj__subcmd__absorb_commands() {
    local commands; commands=()
    _describe -t commands 'jj absorb commands' commands "$@"
}
(( $+functions[_jj__subcmd__arrange_commands] )) ||
_jj__subcmd__arrange_commands() {
    local commands; commands=()
    _describe -t commands 'jj arrange commands' commands "$@"
}
(( $+functions[_jj__subcmd__bisect_commands] )) ||
_jj__subcmd__bisect_commands() {
    local commands; commands=(
'run:Run a given command to find the first bad revision' \
    )
    _describe -t commands 'jj bisect commands' commands "$@"
}
(( $+functions[_jj__subcmd__bisect__subcmd__run_commands] )) ||
_jj__subcmd__bisect__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'jj bisect run commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark_commands] )) ||
_jj__subcmd__bookmark_commands() {
    local commands; commands=(
'advance:Advance the closest bookmarks to a target revision' \
'a:Advance the closest bookmarks to a target revision' \
'create:Create a new bookmark' \
'c:Create a new bookmark' \
'delete:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'd:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'forget:Forget a bookmark without marking it as a deletion to be pushed' \
'f:Forget a bookmark without marking it as a deletion to be pushed' \
'list:List bookmarks and their targets' \
'l:List bookmarks and their targets' \
'move:Move existing bookmarks to target revision' \
'm:Move existing bookmarks to target revision' \
'rename:Rename \`old\` bookmark name to \`new\` bookmark name' \
'r:Rename \`old\` bookmark name to \`new\` bookmark name' \
'set:Create a new bookmark, or update an existing one by name' \
's:Create a new bookmark, or update an existing one by name' \
'track:Start tracking given remote bookmarks' \
't:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
    )
    _describe -t commands 'jj bookmark commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__advance_commands] )) ||
_jj__subcmd__bookmark__subcmd__advance_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark advance commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__create_commands] )) ||
_jj__subcmd__bookmark__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark create commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__delete_commands] )) ||
_jj__subcmd__bookmark__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark delete commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__forget_commands] )) ||
_jj__subcmd__bookmark__subcmd__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark forget commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__list_commands] )) ||
_jj__subcmd__bookmark__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark list commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__move_commands] )) ||
_jj__subcmd__bookmark__subcmd__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark move commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__rename_commands] )) ||
_jj__subcmd__bookmark__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark rename commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__set_commands] )) ||
_jj__subcmd__bookmark__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark set commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__track_commands] )) ||
_jj__subcmd__bookmark__subcmd__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark track commands' commands "$@"
}
(( $+functions[_jj__subcmd__bookmark__subcmd__untrack_commands] )) ||
_jj__subcmd__bookmark__subcmd__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark untrack commands' commands "$@"
}
(( $+functions[_jj__subcmd__commit_commands] )) ||
_jj__subcmd__commit_commands() {
    local commands; commands=()
    _describe -t commands 'jj commit commands' commands "$@"
}
(( $+functions[_jj__subcmd__config_commands] )) ||
_jj__subcmd__config_commands() {
    local commands; commands=(
'edit:Start an editor on a jj config file' \
'e:Start an editor on a jj config file' \
'get:Get the value of a given config option.' \
'g:Get the value of a given config option.' \
'list:List variables set in config files, along with their values' \
'l:List variables set in config files, along with their values' \
'path:Print the paths to the config files' \
'p:Print the paths to the config files' \
'set:Update a config file to set the given option to a given value' \
's:Update a config file to set the given option to a given value' \
'unset:Update a config file to unset the given option' \
'u:Update a config file to unset the given option' \
    )
    _describe -t commands 'jj config commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__edit_commands] )) ||
_jj__subcmd__config__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj config edit commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__get_commands] )) ||
_jj__subcmd__config__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'jj config get commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__list_commands] )) ||
_jj__subcmd__config__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj config list commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__path_commands] )) ||
_jj__subcmd__config__subcmd__path_commands() {
    local commands; commands=()
    _describe -t commands 'jj config path commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__set_commands] )) ||
_jj__subcmd__config__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj config set commands' commands "$@"
}
(( $+functions[_jj__subcmd__config__subcmd__unset_commands] )) ||
_jj__subcmd__config__subcmd__unset_commands() {
    local commands; commands=()
    _describe -t commands 'jj config unset commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug_commands] )) ||
_jj__subcmd__debug_commands() {
    local commands; commands=(
'copy-detection:Show information about file copies detected' \
'fileset:Parse fileset expression' \
'index:Show commit index stats' \
'index-changed-paths:Build changed-path index' \
'init-simple:Create a new repo in the given directory using the proof-of-concept simple backend' \
'local-working-copy:Show information about the local working copy state' \
'object:Show information about an operation and its view' \
'reindex:Rebuild commit index' \
'revset:Evaluate revset to full commit IDs' \
'snapshot:\[DEPRECATED\] Trigger a snapshot in the op log' \
'stacked-table:Show stats of stacked table' \
'template:Parse a template' \
'tree:List the recursive entries of a tree' \
'watchman:' \
'working-copy:Show information about the working copy state' \
    )
    _describe -t commands 'jj debug commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__copy-detection_commands] )) ||
_jj__subcmd__debug__subcmd__copy-detection_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug copy-detection commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__fileset_commands] )) ||
_jj__subcmd__debug__subcmd__fileset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug fileset commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__index_commands] )) ||
_jj__subcmd__debug__subcmd__index_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug index commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__index-changed-paths_commands] )) ||
_jj__subcmd__debug__subcmd__index-changed-paths_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug index-changed-paths commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__init-simple_commands] )) ||
_jj__subcmd__debug__subcmd__init-simple_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug init-simple commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__local-working-copy_commands] )) ||
_jj__subcmd__debug__subcmd__local-working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug local-working-copy commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object_commands] )) ||
_jj__subcmd__debug__subcmd__object_commands() {
    local commands; commands=(
'commit:' \
'file:' \
'operation:' \
'symlink:' \
'tree:' \
'view:' \
    )
    _describe -t commands 'jj debug object commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__commit_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__commit_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object commit commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__file_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__file_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object file commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__operation_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__operation_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object operation commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__symlink_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__symlink_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object symlink commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__tree_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__tree_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object tree commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__object__subcmd__view_commands] )) ||
_jj__subcmd__debug__subcmd__object__subcmd__view_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug object view commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__reindex_commands] )) ||
_jj__subcmd__debug__subcmd__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug reindex commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__revset_commands] )) ||
_jj__subcmd__debug__subcmd__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug revset commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__snapshot_commands] )) ||
_jj__subcmd__debug__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug snapshot commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__stacked-table_commands] )) ||
_jj__subcmd__debug__subcmd__stacked-table_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug stacked-table commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__template_commands] )) ||
_jj__subcmd__debug__subcmd__template_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug template commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__tree_commands] )) ||
_jj__subcmd__debug__subcmd__tree_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug tree commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__watchman_commands] )) ||
_jj__subcmd__debug__subcmd__watchman_commands() {
    local commands; commands=(
'status:Check whether \`watchman\` is enabled and whether it'\''s correctly installed' \
'query-clock:' \
'query-changed-files:' \
'reset-clock:' \
    )
    _describe -t commands 'jj debug watchman commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__watchman__subcmd__query-changed-files_commands] )) ||
_jj__subcmd__debug__subcmd__watchman__subcmd__query-changed-files_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman query-changed-files commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__watchman__subcmd__query-clock_commands] )) ||
_jj__subcmd__debug__subcmd__watchman__subcmd__query-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman query-clock commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__watchman__subcmd__reset-clock_commands] )) ||
_jj__subcmd__debug__subcmd__watchman__subcmd__reset-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman reset-clock commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__watchman__subcmd__status_commands] )) ||
_jj__subcmd__debug__subcmd__watchman__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman status commands' commands "$@"
}
(( $+functions[_jj__subcmd__debug__subcmd__working-copy_commands] )) ||
_jj__subcmd__debug__subcmd__working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug working-copy commands' commands "$@"
}
(( $+functions[_jj__subcmd__describe_commands] )) ||
_jj__subcmd__describe_commands() {
    local commands; commands=()
    _describe -t commands 'jj describe commands' commands "$@"
}
(( $+functions[_jj__subcmd__diff_commands] )) ||
_jj__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj diff commands' commands "$@"
}
(( $+functions[_jj__subcmd__diffedit_commands] )) ||
_jj__subcmd__diffedit_commands() {
    local commands; commands=()
    _describe -t commands 'jj diffedit commands' commands "$@"
}
(( $+functions[_jj__subcmd__duplicate_commands] )) ||
_jj__subcmd__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'jj duplicate commands' commands "$@"
}
(( $+functions[_jj__subcmd__edit_commands] )) ||
_jj__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj edit commands' commands "$@"
}
(( $+functions[_jj__subcmd__evolog_commands] )) ||
_jj__subcmd__evolog_commands() {
    local commands; commands=()
    _describe -t commands 'jj evolog commands' commands "$@"
}
(( $+functions[_jj__subcmd__file_commands] )) ||
_jj__subcmd__file_commands() {
    local commands; commands=(
'annotate:Show the source change for each line of the target file' \
'chmod:Sets or removes the executable bit for paths in the repo' \
'list:List files in a revision' \
'search:Search for content in files' \
'show:Print contents of files in a revision' \
'track:Start tracking specified paths in the working copy' \
'untrack:Stop tracking specified paths in the working copy' \
    )
    _describe -t commands 'jj file commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__annotate_commands] )) ||
_jj__subcmd__file__subcmd__annotate_commands() {
    local commands; commands=()
    _describe -t commands 'jj file annotate commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__chmod_commands] )) ||
_jj__subcmd__file__subcmd__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj file chmod commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__list_commands] )) ||
_jj__subcmd__file__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj file list commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__search_commands] )) ||
_jj__subcmd__file__subcmd__search_commands() {
    local commands; commands=()
    _describe -t commands 'jj file search commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__show_commands] )) ||
_jj__subcmd__file__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj file show commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__track_commands] )) ||
_jj__subcmd__file__subcmd__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj file track commands' commands "$@"
}
(( $+functions[_jj__subcmd__file__subcmd__untrack_commands] )) ||
_jj__subcmd__file__subcmd__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj file untrack commands' commands "$@"
}
(( $+functions[_jj__subcmd__fix_commands] )) ||
_jj__subcmd__fix_commands() {
    local commands; commands=()
    _describe -t commands 'jj fix commands' commands "$@"
}
(( $+functions[_jj__subcmd__gerrit_commands] )) ||
_jj__subcmd__gerrit_commands() {
    local commands; commands=(
'upload:Upload changes to Gerrit for code review, or update existing changes' \
    )
    _describe -t commands 'jj gerrit commands' commands "$@"
}
(( $+functions[_jj__subcmd__gerrit__subcmd__upload_commands] )) ||
_jj__subcmd__gerrit__subcmd__upload_commands() {
    local commands; commands=()
    _describe -t commands 'jj gerrit upload commands' commands "$@"
}
(( $+functions[_jj__subcmd__git_commands] )) ||
_jj__subcmd__git_commands() {
    local commands; commands=(
'clone:Create a new repo backed by a clone of a Git repo' \
'colocation:Manage Jujutsu repository colocation with Git' \
'export:Update the underlying Git repo with changes made in the repo' \
'fetch:Fetch from a Git remote' \
'import:Update repo with changes made in the underlying Git repo' \
'init:Create a new Git backed repo' \
'push:Push to a Git remote' \
'remote:Manage Git remotes' \
'root:Show the underlying Git directory of a repository using the Git backend' \
    )
    _describe -t commands 'jj git commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__clone_commands] )) ||
_jj__subcmd__git__subcmd__clone_commands() {
    local commands; commands=()
    _describe -t commands 'jj git clone commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__colocation_commands] )) ||
_jj__subcmd__git__subcmd__colocation_commands() {
    local commands; commands=(
'disable:Convert into a non-colocated Jujutsu/Git repository' \
'enable:Convert into a colocated Jujutsu/Git repository' \
'status:Show the current colocation status' \
    )
    _describe -t commands 'jj git colocation commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__colocation__subcmd__disable_commands] )) ||
_jj__subcmd__git__subcmd__colocation__subcmd__disable_commands() {
    local commands; commands=()
    _describe -t commands 'jj git colocation disable commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__colocation__subcmd__enable_commands] )) ||
_jj__subcmd__git__subcmd__colocation__subcmd__enable_commands() {
    local commands; commands=()
    _describe -t commands 'jj git colocation enable commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__colocation__subcmd__status_commands] )) ||
_jj__subcmd__git__subcmd__colocation__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj git colocation status commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__export_commands] )) ||
_jj__subcmd__git__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'jj git export commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__fetch_commands] )) ||
_jj__subcmd__git__subcmd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'jj git fetch commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__import_commands] )) ||
_jj__subcmd__git__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'jj git import commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__init_commands] )) ||
_jj__subcmd__git__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj git init commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__push_commands] )) ||
_jj__subcmd__git__subcmd__push_commands() {
    local commands; commands=()
    _describe -t commands 'jj git push commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote_commands] )) ||
_jj__subcmd__git__subcmd__remote_commands() {
    local commands; commands=(
'add:Add a Git remote' \
'list:List Git remotes' \
'remove:Remove a Git remote and forget its bookmarks' \
'rename:Rename a Git remote' \
'set-url:Set the URL of a Git remote' \
    )
    _describe -t commands 'jj git remote commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote__subcmd__add_commands] )) ||
_jj__subcmd__git__subcmd__remote__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote add commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote__subcmd__list_commands] )) ||
_jj__subcmd__git__subcmd__remote__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote list commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote__subcmd__remove_commands] )) ||
_jj__subcmd__git__subcmd__remote__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote remove commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote__subcmd__rename_commands] )) ||
_jj__subcmd__git__subcmd__remote__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote rename commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__remote__subcmd__set-url_commands] )) ||
_jj__subcmd__git__subcmd__remote__subcmd__set-url_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote set-url commands' commands "$@"
}
(( $+functions[_jj__subcmd__git__subcmd__root_commands] )) ||
_jj__subcmd__git__subcmd__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj git root commands' commands "$@"
}
(( $+functions[_jj__subcmd__help_commands] )) ||
_jj__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj help commands' commands "$@"
}
(( $+functions[_jj__subcmd__interdiff_commands] )) ||
_jj__subcmd__interdiff_commands() {
    local commands; commands=()
    _describe -t commands 'jj interdiff commands' commands "$@"
}
(( $+functions[_jj__subcmd__log_commands] )) ||
_jj__subcmd__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj log commands' commands "$@"
}
(( $+functions[_jj__subcmd__metaedit_commands] )) ||
_jj__subcmd__metaedit_commands() {
    local commands; commands=()
    _describe -t commands 'jj metaedit commands' commands "$@"
}
(( $+functions[_jj__subcmd__new_commands] )) ||
_jj__subcmd__new_commands() {
    local commands; commands=()
    _describe -t commands 'jj new commands' commands "$@"
}
(( $+functions[_jj__subcmd__next_commands] )) ||
_jj__subcmd__next_commands() {
    local commands; commands=()
    _describe -t commands 'jj next commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation_commands] )) ||
_jj__subcmd__operation_commands() {
    local commands; commands=(
'abandon:Abandon operation history' \
'diff:Compare changes to the repository between two operations' \
'integrate:Make an operation part of the operation log' \
'log:Show the operation log' \
'restore:Create a new operation that restores the repo to an earlier state' \
'revert:Create a new operation that reverts an earlier operation' \
'show:Show changes to the repository in an operation' \
    )
    _describe -t commands 'jj operation commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__abandon_commands] )) ||
_jj__subcmd__operation__subcmd__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation abandon commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__diff_commands] )) ||
_jj__subcmd__operation__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation diff commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__integrate_commands] )) ||
_jj__subcmd__operation__subcmd__integrate_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation integrate commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__log_commands] )) ||
_jj__subcmd__operation__subcmd__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation log commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__restore_commands] )) ||
_jj__subcmd__operation__subcmd__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation restore commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__revert_commands] )) ||
_jj__subcmd__operation__subcmd__revert_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation revert commands' commands "$@"
}
(( $+functions[_jj__subcmd__operation__subcmd__show_commands] )) ||
_jj__subcmd__operation__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation show commands' commands "$@"
}
(( $+functions[_jj__subcmd__parallelize_commands] )) ||
_jj__subcmd__parallelize_commands() {
    local commands; commands=()
    _describe -t commands 'jj parallelize commands' commands "$@"
}
(( $+functions[_jj__subcmd__prev_commands] )) ||
_jj__subcmd__prev_commands() {
    local commands; commands=()
    _describe -t commands 'jj prev commands' commands "$@"
}
(( $+functions[_jj__subcmd__rebase_commands] )) ||
_jj__subcmd__rebase_commands() {
    local commands; commands=()
    _describe -t commands 'jj rebase commands' commands "$@"
}
(( $+functions[_jj__subcmd__redo_commands] )) ||
_jj__subcmd__redo_commands() {
    local commands; commands=()
    _describe -t commands 'jj redo commands' commands "$@"
}
(( $+functions[_jj__subcmd__resolve_commands] )) ||
_jj__subcmd__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'jj resolve commands' commands "$@"
}
(( $+functions[_jj__subcmd__restore_commands] )) ||
_jj__subcmd__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj restore commands' commands "$@"
}
(( $+functions[_jj__subcmd__revert_commands] )) ||
_jj__subcmd__revert_commands() {
    local commands; commands=()
    _describe -t commands 'jj revert commands' commands "$@"
}
(( $+functions[_jj__subcmd__root_commands] )) ||
_jj__subcmd__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj root commands' commands "$@"
}
(( $+functions[_jj__subcmd__run_commands] )) ||
_jj__subcmd__run_commands() {
    local commands; commands=()
    _describe -t commands 'jj run commands' commands "$@"
}
(( $+functions[_jj__subcmd__show_commands] )) ||
_jj__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj show commands' commands "$@"
}
(( $+functions[_jj__subcmd__sign_commands] )) ||
_jj__subcmd__sign_commands() {
    local commands; commands=()
    _describe -t commands 'jj sign commands' commands "$@"
}
(( $+functions[_jj__subcmd__simplify-parents_commands] )) ||
_jj__subcmd__simplify-parents_commands() {
    local commands; commands=()
    _describe -t commands 'jj simplify-parents commands' commands "$@"
}
(( $+functions[_jj__subcmd__sparse_commands] )) ||
_jj__subcmd__sparse_commands() {
    local commands; commands=(
'edit:Start an editor to update the patterns that are present in the working copy' \
'list:List the patterns that are currently present in the working copy' \
'reset:Reset the patterns to include all files in the working copy' \
'set:Update the patterns that are present in the working copy' \
    )
    _describe -t commands 'jj sparse commands' commands "$@"
}
(( $+functions[_jj__subcmd__sparse__subcmd__edit_commands] )) ||
_jj__subcmd__sparse__subcmd__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse edit commands' commands "$@"
}
(( $+functions[_jj__subcmd__sparse__subcmd__list_commands] )) ||
_jj__subcmd__sparse__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse list commands' commands "$@"
}
(( $+functions[_jj__subcmd__sparse__subcmd__reset_commands] )) ||
_jj__subcmd__sparse__subcmd__reset_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse reset commands' commands "$@"
}
(( $+functions[_jj__subcmd__sparse__subcmd__set_commands] )) ||
_jj__subcmd__sparse__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse set commands' commands "$@"
}
(( $+functions[_jj__subcmd__split_commands] )) ||
_jj__subcmd__split_commands() {
    local commands; commands=()
    _describe -t commands 'jj split commands' commands "$@"
}
(( $+functions[_jj__subcmd__squash_commands] )) ||
_jj__subcmd__squash_commands() {
    local commands; commands=()
    _describe -t commands 'jj squash commands' commands "$@"
}
(( $+functions[_jj__subcmd__status_commands] )) ||
_jj__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj status commands' commands "$@"
}
(( $+functions[_jj__subcmd__tag_commands] )) ||
_jj__subcmd__tag_commands() {
    local commands; commands=(
'delete:Delete existing tags' \
'd:Delete existing tags' \
'list:List tags and their targets' \
'l:List tags and their targets' \
'set:Create or update tags' \
's:Create or update tags' \
    )
    _describe -t commands 'jj tag commands' commands "$@"
}
(( $+functions[_jj__subcmd__tag__subcmd__delete_commands] )) ||
_jj__subcmd__tag__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag delete commands' commands "$@"
}
(( $+functions[_jj__subcmd__tag__subcmd__list_commands] )) ||
_jj__subcmd__tag__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag list commands' commands "$@"
}
(( $+functions[_jj__subcmd__tag__subcmd__set_commands] )) ||
_jj__subcmd__tag__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag set commands' commands "$@"
}
(( $+functions[_jj__subcmd__undo_commands] )) ||
_jj__subcmd__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj undo commands' commands "$@"
}
(( $+functions[_jj__subcmd__unsign_commands] )) ||
_jj__subcmd__unsign_commands() {
    local commands; commands=()
    _describe -t commands 'jj unsign commands' commands "$@"
}
(( $+functions[_jj__subcmd__util_commands] )) ||
_jj__subcmd__util_commands() {
    local commands; commands=(
'backend:Commands relating to the backend used in the current repo' \
'completion:Print a command-line-completion script' \
'config-schema:Print the JSON schema for the jj TOML config format' \
'exec:Execute an external command via jj' \
'gc:Run backend-dependent garbage collection' \
'install-man-pages:Install Jujutsu'\''s manpages to the provided path' \
'markdown-help:Print the CLI help for all subcommands in Markdown' \
'snapshot:Snapshot the working copy if needed' \
    )
    _describe -t commands 'jj util commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__backend_commands] )) ||
_jj__subcmd__util__subcmd__backend_commands() {
    local commands; commands=(
'name:Print the name of the backend used in the current repo' \
    )
    _describe -t commands 'jj util backend commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__backend__subcmd__name_commands] )) ||
_jj__subcmd__util__subcmd__backend__subcmd__name_commands() {
    local commands; commands=()
    _describe -t commands 'jj util backend name commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__completion_commands] )) ||
_jj__subcmd__util__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'jj util completion commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__config-schema_commands] )) ||
_jj__subcmd__util__subcmd__config-schema_commands() {
    local commands; commands=()
    _describe -t commands 'jj util config-schema commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__exec_commands] )) ||
_jj__subcmd__util__subcmd__exec_commands() {
    local commands; commands=()
    _describe -t commands 'jj util exec commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__gc_commands] )) ||
_jj__subcmd__util__subcmd__gc_commands() {
    local commands; commands=()
    _describe -t commands 'jj util gc commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__install-man-pages_commands] )) ||
_jj__subcmd__util__subcmd__install-man-pages_commands() {
    local commands; commands=()
    _describe -t commands 'jj util install-man-pages commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__markdown-help_commands] )) ||
_jj__subcmd__util__subcmd__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'jj util markdown-help commands' commands "$@"
}
(( $+functions[_jj__subcmd__util__subcmd__snapshot_commands] )) ||
_jj__subcmd__util__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'jj util snapshot commands' commands "$@"
}
(( $+functions[_jj__subcmd__version_commands] )) ||
_jj__subcmd__version_commands() {
    local commands; commands=()
    _describe -t commands 'jj version commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace_commands] )) ||
_jj__subcmd__workspace_commands() {
    local commands; commands=(
'add:Add a workspace' \
'forget:Stop tracking a workspace'\''s working-copy commit in the repo' \
'list:List workspaces' \
'rename:Renames the current workspace' \
'root:Show the workspace root directory' \
'update-stale:Update a workspace that has become stale' \
    )
    _describe -t commands 'jj workspace commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__add_commands] )) ||
_jj__subcmd__workspace__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace add commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__forget_commands] )) ||
_jj__subcmd__workspace__subcmd__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace forget commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__list_commands] )) ||
_jj__subcmd__workspace__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace list commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__rename_commands] )) ||
_jj__subcmd__workspace__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace rename commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__root_commands] )) ||
_jj__subcmd__workspace__subcmd__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace root commands' commands "$@"
}
(( $+functions[_jj__subcmd__workspace__subcmd__update-stale_commands] )) ||
_jj__subcmd__workspace__subcmd__update-stale_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace update-stale commands' commands "$@"
}

if [ "$funcstack[1]" = "_jj" ]; then
    _jj "$@"
else
    compdef _jj jj
fi
