#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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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+[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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-s[Do not print every abandoned commit on a separate line]' \
'--summary[Do not print every abandoned commit on a separate line]' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--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]' \
'--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 -- The revision(s) to abandon:' \
&& ret=0
;;
(backout)
_arguments "${_arguments_options[@]}" : \
'*-r+[The revision(s) to apply the reverse of]:REVISIONS: ' \
'*--revisions=[The revision(s) to apply the reverse of]:REVISIONS: ' \
'*-d+[The revision to apply the reverse changes on top of]:DESTINATION: ' \
'*--destination=[The revision to apply the reverse changes on top of]:DESTINATION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(bench)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__bench_commands" \
"*::: :->bench" \
&& ret=0

    case $state in
    (bench)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-bench-command-$line[1]:"
        case $line[1] in
            (commonancestors)
_arguments "${_arguments_options[@]}" : \
'-s+[Name of baseline to save results]:SAVE_BASELINE: ' \
'--save-baseline=[Name of baseline to save results]:SAVE_BASELINE: ' \
'-b+[Name of baseline to compare with]:BASELINE: ' \
'--baseline=[Name of baseline to compare with]:BASELINE: ' \
'--sample-size=[Sample size for the benchmarks, which must be at least 10]:SAMPLE_SIZE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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'\'')]' \
':revision1:' \
':revision2:' \
&& ret=0
;;
(isancestor)
_arguments "${_arguments_options[@]}" : \
'-s+[Name of baseline to save results]:SAVE_BASELINE: ' \
'--save-baseline=[Name of baseline to save results]:SAVE_BASELINE: ' \
'-b+[Name of baseline to compare with]:BASELINE: ' \
'--baseline=[Name of baseline to compare with]:BASELINE: ' \
'--sample-size=[Sample size for the benchmarks, which must be at least 10]:SAMPLE_SIZE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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'\'')]' \
':ancestor:' \
':descendant:' \
&& ret=0
;;
(resolveprefix)
_arguments "${_arguments_options[@]}" : \
'-s+[Name of baseline to save results]:SAVE_BASELINE: ' \
'--save-baseline=[Name of baseline to save results]:SAVE_BASELINE: ' \
'-b+[Name of baseline to compare with]:BASELINE: ' \
'--baseline=[Name of baseline to compare with]:BASELINE: ' \
'--sample-size=[Sample size for the benchmarks, which must be at least 10]:SAMPLE_SIZE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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'\'')]' \
':prefix:' \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
'-f+[Read revsets from file]:FILE:_files' \
'--file=[Read revsets from file]:FILE:_files' \
'-s+[Name of baseline to save results]:SAVE_BASELINE: ' \
'--save-baseline=[Name of baseline to save results]:SAVE_BASELINE: ' \
'-b+[Name of baseline to compare with]:BASELINE: ' \
'--baseline=[Name of baseline to compare with]:BASELINE: ' \
'--sample-size=[Sample size for the benchmarks, which must be at least 10]:SAMPLE_SIZE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__bench__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-bench-help-command-$line[1]:"
        case $line[1] in
            (commonancestors)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(isancestor)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolveprefix)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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
            (create)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(c)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'*--revisions=[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'-T+[Render each bookmark using the given template]:TEMPLATE: ' \
'--template=[Render each bookmark using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-a[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-a --all-remotes)--tracked[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-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]' \
'--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:' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'*--revisions=[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'-T+[Render each bookmark using the given template]:TEMPLATE: ' \
'--template=[Render each bookmark using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-a[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-a --all-remotes)--tracked[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-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]' \
'--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:' \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
'*--from=[Move bookmarks from the given revisions]:REVISIONS: ' \
'--to=[Move bookmarks to this revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(m)
_arguments "${_arguments_options[@]}" : \
'*--from=[Move bookmarks from the given revisions]:REVISIONS: ' \
'--to=[Move bookmarks to this revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':new -- The new name of the bookmark:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':new -- The new name of the bookmark:' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to track:' \
&& ret=0
;;
(t)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to track:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to untrack:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__bookmark__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-bookmark-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(branch)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__branch_commands" \
"*::: :->branch" \
&& ret=0

    case $state in
    (branch)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-branch-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(c)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'*--revisions=[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'-T+[Render each bookmark using the given template]:TEMPLATE: ' \
'--template=[Render each bookmark using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-a[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-a --all-remotes)--tracked[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-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]' \
'--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:' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'*-r+[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'*--revisions=[Show bookmarks whose local targets are in the given revisions]:REVISIONS: ' \
'-T+[Render each bookmark using the given template]:TEMPLATE: ' \
'--template=[Render each bookmark using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-a[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'--all-remotes[Show all tracking and non-tracking remote bookmarks including the ones whose targets are synchronized with the local bookmarks]' \
'(-a --all-remotes)-t[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-a --all-remotes)--tracked[Show remote tracked bookmarks only. Omits local Git-tracking bookmarks by default]' \
'(-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]' \
'--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:' \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
'*--from=[Move bookmarks from the given revisions]:REVISIONS: ' \
'--to=[Move bookmarks to this revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(m)
_arguments "${_arguments_options[@]}" : \
'*--from=[Move bookmarks from the given revisions]:REVISIONS: ' \
'--to=[Move bookmarks to this revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':new -- The new name of the bookmark:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':new -- The new name of the bookmark:' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'-r+[The bookmark'\''s target revision]:REVISION: ' \
'--revision=[The bookmark'\''s target revision]:REVISION: ' \
'--to=[The bookmark'\''s target revision]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to track:' \
&& ret=0
;;
(t)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to track:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Remote bookmarks to untrack:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__branch__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-branch-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cat)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to get the file contents from]:REVISION: ' \
'--revision=[The revision to get the file contents from]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(checkout)
_arguments "${_arguments_options[@]}" : \
'*-m+[The change description to use]:MESSAGE: ' \
'*--message=[The change description to use]:MESSAGE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- The revision to update to:' \
&& ret=0
;;
(chmod)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to update]:REVISION: ' \
'--revision=[The revision to update]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(commit)
_arguments "${_arguments_options[@]}" : \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'*-m+[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'*--message=[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'(--reset-author)--author=[Set author to the provided string]:AUTHOR: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-i[Interactively choose which changes to include in the first commit]' \
'--interactive[Interactively choose which changes to include in the first commit]' \
'--reset-author[Reset the author to the configured user]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 first commit:_files' \
&& ret=0
;;
(ci)
_arguments "${_arguments_options[@]}" : \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'*-m+[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'*--message=[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'(--reset-author)--author=[Set author to the provided string]:AUTHOR: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-i[Interactively choose which changes to include in the first commit]' \
'--interactive[Interactively choose which changes to include in the first commit]' \
'--reset-author[Reset the author to the configured user]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 first 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each variable using the given template]:TEMPLATE: ' \
'--template=[Render each variable using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(--user --repo)--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]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each variable using the given template]:TEMPLATE: ' \
'--template=[Render each variable using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(--user --repo)--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]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':value:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--user[Target the user-level config]' \
'--repo[Target the repo-level config]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':value:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-config-help-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 changes in this revision, compared to its parent(s):' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(operation)
_arguments "${_arguments_options[@]}" : \
'--display=[]:DISPLAY:((operation\:"Show only the operation details"
id\:"Show the operation id only"
view\:"Show only the view details"
all\:"Show both the view and the operation"))' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(view)
_arguments "${_arguments_options[@]}" : \
'--display=[]:DISPLAY:((operation\:"Show only the operation details"
id\:"Show the operation id only"
view\:"Show only the view details"
all\:"Show both the view and the operation"))' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION: ' \
'--revision=[]:REVISION: ' \
'(-r --revision)--id=[]:ID: ' \
'--dir=[]:DIR: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__debug__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__debug__watchman__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-watchman-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-changed-files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reset-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__debug__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-help-command-$line[1]:"
        case $line[1] in
            (copy-detection)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fileset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(local-working-copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(operation)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(watchman)
_arguments "${_arguments_options[@]}" : \
":: :_jj__debug__help__watchman_commands" \
"*::: :->watchman" \
&& ret=0

    case $state in
    (watchman)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-debug-help-watchman-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-changed-files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reset-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(working-copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(describe)
_arguments "${_arguments_options[@]}" : \
'*-m+[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'*--message=[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'(--reset-author)--author=[Set author to the provided string]:AUTHOR: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--stdin[Read the change description from stdin]' \
'--no-edit[Don'\''t open an editor]' \
'--reset-author[Reset the author to the configured user]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- The revision(s) whose description to edit:' \
&& ret=0
;;
(desc)
_arguments "${_arguments_options[@]}" : \
'*-m+[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'*--message=[The change description to use (don'\''t open editor)]:MESSAGE: ' \
'(--reset-author)--author=[Set author to the provided string]:AUTHOR: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--stdin[Read the change description from stdin]' \
'--no-edit[Don'\''t open an editor]' \
'--reset-author[Reset the author to the configured user]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- The revision(s) whose description to edit:' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'-r+[Show changes in this revision, compared to its parent(s)]:REVISION: ' \
'--revision=[Show changes in this revision, compared to its parent(s)]:REVISION: ' \
'(-r --revision)--from=[Show changes from this revision]:FROM: ' \
'(-r --revision)--to=[Show changes to this revision]:TO: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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]:REVISION: ' \
'--revision=[The revision to touch up]:REVISION: ' \
'(-r --revision)--from=[Show changes from this revision]:FROM: ' \
'(-r --revision)--to=[Edit changes in this revision]:TO: ' \
'--tool=[Specify diff editor to be used]:NAME: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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]' \
'--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
;;
(duplicate)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- The revision(s) to duplicate:' \
&& ret=0
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- The commit to edit:' \
&& ret=0
;;
(evolog)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION: ' \
'--revision=[]:REVISION: ' \
'-n+[Limit number of revisions to show]:LIMIT: ' \
'--limit=[Limit number of revisions to show]:LIMIT: ' \
'(-n --limit)-l+[]:LIMIT: ' \
'-T+[Render each revision using the given template]:TEMPLATE: ' \
'--template=[Render each revision using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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+[]:REVISION: ' \
'--revision=[]:REVISION: ' \
'-n+[Limit number of revisions to show]:LIMIT: ' \
'--limit=[Limit number of revisions to show]:LIMIT: ' \
'(-n --limit)-l+[]:LIMIT: ' \
'-T+[Render each revision using the given template]:TEMPLATE: ' \
'--template=[Render each revision using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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
            (chmod)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to update]:REVISION: ' \
'--revision=[The revision to update]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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]:REVISION: ' \
'--revision=[The revision to list files in]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(show)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to get the file contents from]:REVISION: ' \
'--revision=[The revision to get the file contents from]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__file__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-file-help-command-$line[1]:"
        case $line[1] in
            (chmod)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(files)
_arguments "${_arguments_options[@]}" : \
'-r+[The revision to list files in]:REVISION: ' \
'--revision=[The revision to list files in]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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]:SOURCE: ' \
'*--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]:SOURCE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--include-unchanged-files[Fix unchanged files in addition to changed ones. If no paths are specified, all files in the repo will be fixed]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--colocate[Whether or not to colocate the Jujutsu repo with the git repo]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:_files -/' \
'::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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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+[Fetch only some of the branches]:BRANCH: ' \
'*--branch=[Fetch only some of the branches]:BRANCH: ' \
'*--remote=[The remote to fetch from (only named remotes are supported, can be repeated)]:remote: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(--remote)--all-remotes[Fetch from all remotes]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(--git-repo)--colocate[Specifies that the \`jj\` repo should also be a valid \`git\` repo, allowing the use of both \`jj\` and \`git\` commands in the same directory]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'*-b+[Push only this bookmark, or bookmarks matching a pattern (can be repeated)]:BOOKMARK: ' \
'*--bookmark=[Push only this bookmark, or bookmarks matching a pattern (can be repeated)]:BOOKMARK: ' \
'*-r+[Push bookmarks pointing to these commits (can be repeated)]:REVISIONS: ' \
'*--revisions=[Push bookmarks pointing to these commits (can be repeated)]:REVISIONS: ' \
'*-c+[Push this commit by creating a bookmark based on its change ID (can be repeated)]:CHANGE: ' \
'*--change=[Push this commit by creating a bookmark based on its change ID (can be repeated)]:CHANGE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--all[Push all bookmarks (including deleted bookmarks)]' \
'--tracked[Push all tracked bookmarks (including deleted bookmarks)]' \
'--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]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__git__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[@]}" : \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':url -- The remote'\''s URL:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':new -- The desired name for `old`:' \
&& ret=0
;;
(set-url)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
':url -- The desired url for `remote`:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__git__remote__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-remote-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set-url)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(submodule)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__git__submodule_commands" \
"*::: :->submodule" \
&& ret=0

    case $state in
    (submodule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-submodule-command-$line[1]:"
        case $line[1] in
            (print-gitmodules)
_arguments "${_arguments_options[@]}" : \
'-r+[Read .gitmodules from the given revision]:REVISIONS: ' \
'--revisions=[Read .gitmodules from the given revision]:REVISIONS: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__git__submodule__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-submodule-help-command-$line[1]:"
        case $line[1] in
            (print-gitmodules)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__git__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-help-command-$line[1]:"
        case $line[1] in
            (clone)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" : \
":: :_jj__git__help__remote_commands" \
"*::: :->remote" \
&& ret=0

    case $state in
    (remote)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-help-remote-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set-url)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(submodule)
_arguments "${_arguments_options[@]}" : \
":: :_jj__git__help__submodule_commands" \
"*::: :->submodule" \
&& ret=0

    case $state in
    (submodule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-git-help-submodule-command-$line[1]:"
        case $line[1] in
            (print-gitmodules)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(init)
_arguments "${_arguments_options[@]}" : \
'--git-repo=[DEPRECATED\: Use \`jj git init\` Path to a git repo the jj repo will be backed by]: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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--git[DEPRECATED\: Use \`jj git init\` Use the Git backend, creating a jj repo backed by a Git repo]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(interdiff)
_arguments "${_arguments_options[@]}" : \
'--from=[Show changes from this revision]:FROM: ' \
'--to=[Show changes to this revision]:TO: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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]:REVISIONS: ' \
'*--revisions=[Which revisions to show]:REVISIONS: ' \
'-n+[Limit number of revisions to show]:LIMIT: ' \
'--limit=[Limit number of revisions to show]:LIMIT: ' \
'(-n --limit)-l+[]:LIMIT: ' \
'-T+[Render each revision using the given template]:TEMPLATE: ' \
'--template=[Render each revision using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--reversed[Show revisions in the opposite order (older revisions first)]' \
'--no-graph[Don'\''t show the graph, show a flat list of revisions]' \
'-p[Show patch]' \
'--patch[Show patch]' \
'-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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(merge)
_arguments "${_arguments_options[@]}" : \
'*-m+[The change description to use]:MESSAGE: ' \
'*--message=[The change description to use]:MESSAGE: ' \
'()*-A+[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*--insert-after=[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*--after=[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*-B+[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'()*--insert-before=[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'()*--before=[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'(--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]' \
'--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 -- Parent(s) of the new change:' \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
'-f+[Move part of this change into the destination]:FROM: ' \
'--from=[Move part of this change into the destination]:FROM: ' \
'-t+[Move part of the source into this change]:TO: ' \
'--to=[Move part of the source into this change]:TO: ' \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-i[Interactively choose which parts to move]' \
'--interactive[Interactively choose which parts to move]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(new)
_arguments "${_arguments_options[@]}" : \
'*-m+[The change description to use]:MESSAGE: ' \
'*--message=[The change description to use]:MESSAGE: ' \
'()*-A+[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*--insert-after=[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*--after=[Insert the new change after the given commit(s)]:INSERT_AFTER: ' \
'()*-B+[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'()*--insert-before=[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'()*--before=[Insert the new change before the given commit(s)]:INSERT_BEFORE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'*-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'(--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]' \
'--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 -- Parent(s) of the new change:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'--operation=[Show repository changes in this operation, compared to its parent]:OPERATION: ' \
'--op=[Show repository changes in this operation, compared to its parent]:OPERATION: ' \
'(--operation)--from=[Show repository changes from this operation]:FROM: ' \
'(--operation)--to=[Show repository changes to this operation]:TO: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(log)
_arguments "${_arguments_options[@]}" : \
'-n+[Limit number of operations to show]:LIMIT: ' \
'--limit=[Limit number of operations to show]:LIMIT: ' \
'(-n --limit)-l+[]:LIMIT: ' \
'-T+[Render each operation using the given template]:TEMPLATE: ' \
'--template=[Render each operation using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--no-graph[Don'\''t show the graph, show a flat list of operations]' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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):' \
&& ret=0
;;
(undo)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 undo:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__operation__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-operation-help-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(undo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
'--operation=[Show repository changes in this operation, compared to its parent]:OPERATION: ' \
'--op=[Show repository changes in this operation, compared to its parent]:OPERATION: ' \
'(--operation)--from=[Show repository changes from this operation]:FROM: ' \
'(--operation)--to=[Show repository changes to this operation]:TO: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(log)
_arguments "${_arguments_options[@]}" : \
'-n+[Limit number of operations to show]:LIMIT: ' \
'--limit=[Limit number of operations to show]:LIMIT: ' \
'(-n --limit)-l+[]:LIMIT: ' \
'-T+[Render each operation using the given template]:TEMPLATE: ' \
'--template=[Render each operation using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--no-graph[Don'\''t show the graph, show a flat list of operations]' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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):' \
&& ret=0
;;
(undo)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 undo:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__operation__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-operation-help-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(undo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(parallelize)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 -- Revisions to parallelize:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(rebase)
_arguments "${_arguments_options[@]}" : \
'*-b+[Rebase the whole branch relative to destination'\''s ancestors (can be repeated)]:BRANCH: ' \
'*--branch=[Rebase the whole branch relative to destination'\''s ancestors (can be repeated)]:BRANCH: ' \
'*-s+[Rebase specified revision(s) together with their trees of descendants (can be repeated)]:SOURCE: ' \
'*--source=[Rebase specified revision(s) together with their trees of descendants (can be repeated)]:SOURCE: ' \
'*-r+[Rebase the given revisions, rebasing descendants onto this revision'\''s parent(s)]:REVISIONS: ' \
'*--revisions=[Rebase the given revisions, rebasing descendants onto this revision'\''s parent(s)]:REVISIONS: ' \
'*-d+[The revision(s) to rebase onto (can be repeated to create a merge commit)]:DESTINATION: ' \
'*--destination=[The revision(s) to rebase onto (can be repeated to create a merge commit)]:DESTINATION: ' \
'(-d --destination -s --source -b --branch)*-A+[The revision(s) to insert after (can be repeated to create a merge commit)]:INSERT_AFTER: ' \
'(-d --destination -s --source -b --branch)*--insert-after=[The revision(s) to insert after (can be repeated to create a merge commit)]:INSERT_AFTER: ' \
'(-d --destination -s --source -b --branch)*--after=[The revision(s) to insert after (can be repeated to create a merge commit)]:INSERT_AFTER: ' \
'(-d --destination -s --source -b --branch)*-B+[The revision(s) to insert before (can be repeated to create a merge commit)]:INSERT_BEFORE: ' \
'(-d --destination -s --source -b --branch)*--insert-before=[The revision(s) to insert before (can be repeated to create a merge commit)]:INSERT_BEFORE: ' \
'(-d --destination -s --source -b --branch)*--before=[The revision(s) to insert before (can be repeated to create a merge commit)]:INSERT_BEFORE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(-r --revisions)--skip-empty[Deprecated. Use --skip-emptied instead]' \
'(-r --revisions)--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]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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+[]:REVISION: ' \
'--revision=[]:REVISION: ' \
'(-l --list)--tool=[Specify 3-way merge tool to be used]:NAME: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-l[Instead of resolving one conflict, list all the conflicts]' \
'--list[Instead of resolving one conflict, list all the conflicts]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 to these paths when searching for a conflict to resolve. We will attempt to resolve the first conflict we can find. You can use the `--list` argument to find paths to use here:_files' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'--from=[Revision to restore from (source)]:FROM: ' \
'--to=[Revision to restore into (destination)]:TO: ' \
'(--to --from)-c+[Undo the changes in a revision as compared to the merge of its parents]:REVISION: ' \
'(--to --from)--changes-in=[Undo the changes in a revision as compared to the merge of its parents]:REVISION: ' \
'-r+[Prints an error. DO NOT USE]:REVISION: ' \
'--revision=[Prints an error. DO NOT USE]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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]' \
'--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+[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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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'\'')]' \
'*::_args:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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]:REVISIONS: ' \
'*--revisions=[The revisions to change]:REVISIONS: ' \
'-j+[How many processes should run in parallel, uses by default all cores]:JOBS: ' \
'--jobs=[How many processes should run in parallel, uses by default all cores]:JOBS: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-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]' \
'--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:' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'-T+[Render a revision using the given template]:TEMPLATE: ' \
'--template=[Render a revision using the given template]:TEMPLATE: ' \
'--tool=[Generate diff by external command]:TOOL: ' \
'--context=[Number of lines of context to show]:CONTEXT: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-r[Ignored (but lets you pass \`-r\` for consistency with other commands)]' \
'-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-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 changes in this revision, compared to its parent(s):' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--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]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__sparse__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-sparse-help-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(split)
_arguments "${_arguments_options[@]}" : \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'-r+[The revision to split]:REVISION: ' \
'--revision=[The revision to split]:REVISION: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-i[Interactively choose which parts to split. This is the default if no paths are provided]' \
'--interactive[Interactively choose which parts to split. This is the default if no paths are provided]' \
'-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]' \
'--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 first commit:_files' \
&& ret=0
;;
(squash)
_arguments "${_arguments_options[@]}" : \
'-r+[Revision to squash into its parent (default\: @)]:REVISION: ' \
'--revision=[Revision to squash into its parent (default\: @)]:REVISION: ' \
'(-r --revision)*--from=[Revision(s) to squash from (default\: @)]:FROM: ' \
'(-r --revision)--into=[Revision to squash into (default\: @)]:INTO: ' \
'(-r --revision)--to=[Revision to squash into (default\: @)]:INTO: ' \
'*-m+[The description to use for squashed revision (don'\''t open editor)]:MESSAGE: ' \
'*--message=[The description to use for squashed revision (don'\''t open editor)]:MESSAGE: ' \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'(-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)]' \
'-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]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(st)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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
            (list)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each tag using the given template]:TEMPLATE: ' \
'--template=[Render each tag using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(l)
_arguments "${_arguments_options[@]}" : \
'-T+[Render each tag using the given template]:TEMPLATE: ' \
'--template=[Render each tag using the given template]:TEMPLATE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__tag__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-tag-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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
            (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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--bash[Deprecated. Use the SHELL positional argument instead]' \
'--fish[Deprecated. Use the SHELL positional argument instead]' \
'--zsh[Deprecated. Use the SHELL positional argument instead]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(gc)
_arguments "${_arguments_options[@]}" : \
'--expire=[Time threshold]:EXPIRE: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(mangen)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__util__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-util-help-command-$line[1]:"
        case $line[1] in
            (completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(gc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mangen)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(markdown-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config-schema)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(undo)
_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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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 undo:' \
&& ret=0
;;
(unsquash)
_arguments "${_arguments_options[@]}" : \
'-r+[]:REVISION: ' \
'--revision=[]:REVISION: ' \
'--tool=[Specify diff editor to be used (implies --interactive)]:NAME: ' \
'-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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'-i[Interactively choose which parts to unsquash]' \
'--interactive[Interactively choose which parts to unsquash]' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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__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: ' \
'*-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]:REVISION: ' \
'*--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]:REVISION: ' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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:' \
&& 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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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: ' \
'--at-op=[Operation to load the repo at]:AT_OPERATION: ' \
'--color=[When to colorize output (always, never, debug, auto)]:WHEN: ' \
'*--config-toml=[Additional configuration options (can be repeated)]:TOML: ' \
'--ignore-working-copy[Don'\''t snapshot the working copy, and don'\''t update it]' \
'--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
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__workspace__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-workspace-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(root)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update-stale)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(backout)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bench)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__bench_commands" \
"*::: :->bench" \
&& ret=0

    case $state in
    (bench)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-bench-command-$line[1]:"
        case $line[1] in
            (commonancestors)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(isancestor)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolveprefix)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(bookmark)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__bookmark_commands" \
"*::: :->bookmark" \
&& ret=0

    case $state in
    (bookmark)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-bookmark-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(branch)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__branch_commands" \
"*::: :->branch" \
&& ret=0

    case $state in
    (branch)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-branch-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(cat)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(checkout)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(chmod)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(commit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-config-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-debug-command-$line[1]:"
        case $line[1] in
            (copy-detection)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fileset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(local-working-copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(operation)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reindex)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tree)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(watchman)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__debug__watchman_commands" \
"*::: :->watchman" \
&& ret=0

    case $state in
    (watchman)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-debug-watchman-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(query-changed-files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reset-clock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(working-copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(describe)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diffedit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(evolog)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(file)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__file_commands" \
"*::: :->file" \
&& ret=0

    case $state in
    (file)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-file-command-$line[1]:"
        case $line[1] in
            (chmod)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(track)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fix)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(git)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__git_commands" \
"*::: :->git" \
&& ret=0

    case $state in
    (git)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-git-command-$line[1]:"
        case $line[1] in
            (clone)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__git__remote_commands" \
"*::: :->remote" \
&& ret=0

    case $state in
    (remote)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-git-remote-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set-url)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(submodule)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__git__submodule_commands" \
"*::: :->submodule" \
&& ret=0

    case $state in
    (submodule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-git-submodule-command-$line[1]:"
        case $line[1] in
            (print-gitmodules)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(interdiff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(move)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(next)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(operation)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__operation_commands" \
"*::: :->operation" \
&& ret=0

    case $state in
    (operation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-operation-command-$line[1]:"
        case $line[1] in
            (abandon)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(log)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(undo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(parallelize)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(prev)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rebase)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revert)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(root)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sparse)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__sparse_commands" \
"*::: :->sparse" \
&& ret=0

    case $state in
    (sparse)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-sparse-command-$line[1]:"
        case $line[1] in
            (edit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reset)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(split)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(squash)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(tag)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__tag_commands" \
"*::: :->tag" \
&& ret=0

    case $state in
    (tag)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-tag-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(util)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__util_commands" \
"*::: :->util" \
&& ret=0

    case $state in
    (util)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-util-command-$line[1]:"
        case $line[1] in
            (completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(gc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(mangen)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(markdown-help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config-schema)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(undo)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(unsquash)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(untrack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(version)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(workspace)
_arguments "${_arguments_options[@]}" : \
":: :_jj__help__workspace_commands" \
"*::: :->workspace" \
&& ret=0

    case $state in
    (workspace)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:jj-help-workspace-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(root)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update-stale)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_jj_commands] )) ||
_jj_commands() {
    local commands; commands=(
'abandon:Abandon a revision' \
'backout:Apply the reverse of a revision on top of another revision' \
'bench:Commands for benchmarking internal operations' \
'bookmark:Manage bookmarks' \
'branch:Manage bookmarks' \
'cat:Print contents of files in a revision' \
'checkout:Create a new, empty change and edit it in the working copy (DEPRECATED, use \`jj new\`)' \
'chmod:Sets or removes the executable bit for paths in the repo' \
'commit:Update the description and create a new change on top' \
'ci:Update the description and create a new change on top' \
'config:Manage config options' \
'debug:Low-level commands not intended for users' \
'describe:Update the change description or other metadata' \
'desc:Update the change description or other metadata' \
'diff:Compare file contents between two revisions' \
'diffedit:Touch up the content changes in a revision with a diff editor' \
'duplicate:Create a new change with the same content as an existing one' \
'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' \
'files:List files in a revision (DEPRECATED use \`jj file list\`)' \
'fix:Update files with formatting fixes or other changes' \
'git:Commands for working with Git remotes and the underlying Git repo' \
'init:Create a new repo in the given directory' \
'interdiff:Compare the changes of two commits' \
'log:Show revision history' \
'merge:Merge work from multiple bookmarks (DEPRECATED, use \`jj new\`)' \
'move:Move changes from one revision into another (DEPRECATED, use \`jj squash\`)' \
'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)' \
'resolve:Resolve a conflicted file with an external merge tool' \
'restore:Restore paths from another revision' \
'revert:A dummy command that accepts any arguments' \
'root:Show the current workspace root directory' \
'run:(**Stub**, does not work yet) Run a command across a set of revisions.' \
'show:Show commit description and changes in a revision' \
'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' \
'st:Show high-level repo status' \
'tag:Manage tags' \
'util:Infrequently used commands such as for generating shell completions' \
'undo:Undo an operation (shortcut for \`jj op undo\`)' \
'unsquash:Move changes from a revision'\''s parent into the revision' \
'untrack:Stop tracking specified paths in the working copy' \
'version:Display version information' \
'workspace:Commands for working with workspaces' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj commands' commands "$@"
}
(( $+functions[_jj__abandon_commands] )) ||
_jj__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj abandon commands' commands "$@"
}
(( $+functions[_jj__backout_commands] )) ||
_jj__backout_commands() {
    local commands; commands=()
    _describe -t commands 'jj backout commands' commands "$@"
}
(( $+functions[_jj__bench_commands] )) ||
_jj__bench_commands() {
    local commands; commands=(
'commonancestors:Find the common ancestor(s) of a set of commits' \
'isancestor:Checks if the first commit is an ancestor of the second commit' \
'resolveprefix:Resolve a commit ID prefix' \
'revset:Walk the revisions in the revset' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj bench commands' commands "$@"
}
(( $+functions[_jj__bench__commonancestors_commands] )) ||
_jj__bench__commonancestors_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench commonancestors commands' commands "$@"
}
(( $+functions[_jj__bench__help_commands] )) ||
_jj__bench__help_commands() {
    local commands; commands=(
'commonancestors:Find the common ancestor(s) of a set of commits' \
'isancestor:Checks if the first commit is an ancestor of the second commit' \
'resolveprefix:Resolve a commit ID prefix' \
'revset:Walk the revisions in the revset' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj bench help commands' commands "$@"
}
(( $+functions[_jj__bench__help__commonancestors_commands] )) ||
_jj__bench__help__commonancestors_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench help commonancestors commands' commands "$@"
}
(( $+functions[_jj__bench__help__help_commands] )) ||
_jj__bench__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench help help commands' commands "$@"
}
(( $+functions[_jj__bench__help__isancestor_commands] )) ||
_jj__bench__help__isancestor_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench help isancestor commands' commands "$@"
}
(( $+functions[_jj__bench__help__resolveprefix_commands] )) ||
_jj__bench__help__resolveprefix_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench help resolveprefix commands' commands "$@"
}
(( $+functions[_jj__bench__help__revset_commands] )) ||
_jj__bench__help__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench help revset commands' commands "$@"
}
(( $+functions[_jj__bench__isancestor_commands] )) ||
_jj__bench__isancestor_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench isancestor commands' commands "$@"
}
(( $+functions[_jj__bench__resolveprefix_commands] )) ||
_jj__bench__resolveprefix_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench resolveprefix commands' commands "$@"
}
(( $+functions[_jj__bench__revset_commands] )) ||
_jj__bench__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj bench revset commands' commands "$@"
}
(( $+functions[_jj__bookmark_commands] )) ||
_jj__bookmark_commands() {
    local commands; commands=(
'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 everything about a bookmark, including its local and remote targets' \
'f:Forget everything about a bookmark, including its local and remote targets' \
'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 or update a bookmark to point to a certain commit' \
's:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
't:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj bookmark commands' commands "$@"
}
(( $+functions[_jj__bookmark__create_commands] )) ||
_jj__bookmark__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark create commands' commands "$@"
}
(( $+functions[_jj__bookmark__delete_commands] )) ||
_jj__bookmark__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark delete commands' commands "$@"
}
(( $+functions[_jj__bookmark__forget_commands] )) ||
_jj__bookmark__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark forget commands' commands "$@"
}
(( $+functions[_jj__bookmark__help_commands] )) ||
_jj__bookmark__help_commands() {
    local commands; commands=(
'create:Create a new bookmark' \
'delete:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'forget:Forget everything about a bookmark, including its local and remote targets' \
'list:List bookmarks and their targets' \
'move:Move existing bookmarks to target revision' \
'rename:Rename \`old\` bookmark name to \`new\` bookmark name' \
'set:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj bookmark help commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__create_commands] )) ||
_jj__bookmark__help__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help create commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__delete_commands] )) ||
_jj__bookmark__help__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help delete commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__forget_commands] )) ||
_jj__bookmark__help__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help forget commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__help_commands] )) ||
_jj__bookmark__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help help commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__list_commands] )) ||
_jj__bookmark__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help list commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__move_commands] )) ||
_jj__bookmark__help__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help move commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__rename_commands] )) ||
_jj__bookmark__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help rename commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__set_commands] )) ||
_jj__bookmark__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help set commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__track_commands] )) ||
_jj__bookmark__help__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help track commands' commands "$@"
}
(( $+functions[_jj__bookmark__help__untrack_commands] )) ||
_jj__bookmark__help__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark help untrack commands' commands "$@"
}
(( $+functions[_jj__bookmark__list_commands] )) ||
_jj__bookmark__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark list commands' commands "$@"
}
(( $+functions[_jj__bookmark__move_commands] )) ||
_jj__bookmark__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark move commands' commands "$@"
}
(( $+functions[_jj__bookmark__rename_commands] )) ||
_jj__bookmark__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark rename commands' commands "$@"
}
(( $+functions[_jj__bookmark__set_commands] )) ||
_jj__bookmark__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark set commands' commands "$@"
}
(( $+functions[_jj__bookmark__track_commands] )) ||
_jj__bookmark__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark track commands' commands "$@"
}
(( $+functions[_jj__bookmark__untrack_commands] )) ||
_jj__bookmark__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj bookmark untrack commands' commands "$@"
}
(( $+functions[_jj__branch_commands] )) ||
_jj__branch_commands() {
    local commands; commands=(
'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 everything about a bookmark, including its local and remote targets' \
'f:Forget everything about a bookmark, including its local and remote targets' \
'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 or update a bookmark to point to a certain commit' \
's:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
't:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj branch commands' commands "$@"
}
(( $+functions[_jj__branch__create_commands] )) ||
_jj__branch__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch create commands' commands "$@"
}
(( $+functions[_jj__branch__delete_commands] )) ||
_jj__branch__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch delete commands' commands "$@"
}
(( $+functions[_jj__branch__forget_commands] )) ||
_jj__branch__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch forget commands' commands "$@"
}
(( $+functions[_jj__branch__help_commands] )) ||
_jj__branch__help_commands() {
    local commands; commands=(
'create:Create a new bookmark' \
'delete:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'forget:Forget everything about a bookmark, including its local and remote targets' \
'list:List bookmarks and their targets' \
'move:Move existing bookmarks to target revision' \
'rename:Rename \`old\` bookmark name to \`new\` bookmark name' \
'set:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj branch help commands' commands "$@"
}
(( $+functions[_jj__branch__help__create_commands] )) ||
_jj__branch__help__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help create commands' commands "$@"
}
(( $+functions[_jj__branch__help__delete_commands] )) ||
_jj__branch__help__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help delete commands' commands "$@"
}
(( $+functions[_jj__branch__help__forget_commands] )) ||
_jj__branch__help__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help forget commands' commands "$@"
}
(( $+functions[_jj__branch__help__help_commands] )) ||
_jj__branch__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help help commands' commands "$@"
}
(( $+functions[_jj__branch__help__list_commands] )) ||
_jj__branch__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help list commands' commands "$@"
}
(( $+functions[_jj__branch__help__move_commands] )) ||
_jj__branch__help__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help move commands' commands "$@"
}
(( $+functions[_jj__branch__help__rename_commands] )) ||
_jj__branch__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help rename commands' commands "$@"
}
(( $+functions[_jj__branch__help__set_commands] )) ||
_jj__branch__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help set commands' commands "$@"
}
(( $+functions[_jj__branch__help__track_commands] )) ||
_jj__branch__help__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help track commands' commands "$@"
}
(( $+functions[_jj__branch__help__untrack_commands] )) ||
_jj__branch__help__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch help untrack commands' commands "$@"
}
(( $+functions[_jj__branch__list_commands] )) ||
_jj__branch__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch list commands' commands "$@"
}
(( $+functions[_jj__branch__move_commands] )) ||
_jj__branch__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch move commands' commands "$@"
}
(( $+functions[_jj__branch__rename_commands] )) ||
_jj__branch__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch rename commands' commands "$@"
}
(( $+functions[_jj__branch__set_commands] )) ||
_jj__branch__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch set commands' commands "$@"
}
(( $+functions[_jj__branch__track_commands] )) ||
_jj__branch__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch track commands' commands "$@"
}
(( $+functions[_jj__branch__untrack_commands] )) ||
_jj__branch__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj branch untrack commands' commands "$@"
}
(( $+functions[_jj__cat_commands] )) ||
_jj__cat_commands() {
    local commands; commands=()
    _describe -t commands 'jj cat commands' commands "$@"
}
(( $+functions[_jj__checkout_commands] )) ||
_jj__checkout_commands() {
    local commands; commands=()
    _describe -t commands 'jj checkout commands' commands "$@"
}
(( $+functions[_jj__chmod_commands] )) ||
_jj__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj chmod commands' commands "$@"
}
(( $+functions[_jj__commit_commands] )) ||
_jj__commit_commands() {
    local commands; commands=()
    _describe -t commands 'jj commit commands' commands "$@"
}
(( $+functions[_jj__config_commands] )) ||
_jj__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 file, along with their values' \
'l:List variables set in config file, along with their values' \
'path:Print the path to the config file' \
'p:Print the path to the config file' \
'set:Update config file to set the given option to a given value' \
's:Update config file to set the given option to a given value' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj config commands' commands "$@"
}
(( $+functions[_jj__config__edit_commands] )) ||
_jj__config__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj config edit commands' commands "$@"
}
(( $+functions[_jj__config__get_commands] )) ||
_jj__config__get_commands() {
    local commands; commands=()
    _describe -t commands 'jj config get commands' commands "$@"
}
(( $+functions[_jj__config__help_commands] )) ||
_jj__config__help_commands() {
    local commands; commands=(
'edit:Start an editor on a jj config file' \
'get:Get the value of a given config option.' \
'list:List variables set in config file, along with their values' \
'path:Print the path to the config file' \
'set:Update config file to set the given option to a given value' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj config help commands' commands "$@"
}
(( $+functions[_jj__config__help__edit_commands] )) ||
_jj__config__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help edit commands' commands "$@"
}
(( $+functions[_jj__config__help__get_commands] )) ||
_jj__config__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help get commands' commands "$@"
}
(( $+functions[_jj__config__help__help_commands] )) ||
_jj__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help help commands' commands "$@"
}
(( $+functions[_jj__config__help__list_commands] )) ||
_jj__config__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help list commands' commands "$@"
}
(( $+functions[_jj__config__help__path_commands] )) ||
_jj__config__help__path_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help path commands' commands "$@"
}
(( $+functions[_jj__config__help__set_commands] )) ||
_jj__config__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj config help set commands' commands "$@"
}
(( $+functions[_jj__config__list_commands] )) ||
_jj__config__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj config list commands' commands "$@"
}
(( $+functions[_jj__config__path_commands] )) ||
_jj__config__path_commands() {
    local commands; commands=()
    _describe -t commands 'jj config path commands' commands "$@"
}
(( $+functions[_jj__config__set_commands] )) ||
_jj__config__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj config set commands' commands "$@"
}
(( $+functions[_jj__debug_commands] )) ||
_jj__debug_commands() {
    local commands; commands=(
'copy-detection:Rebuild commit index' \
'fileset:Parse fileset expression' \
'index:Show commit index stats' \
'local-working-copy:Show information about the local working copy state' \
'operation:Show information about an operation and its view' \
'view:Show information about an operation and its view' \
'reindex:Rebuild commit index' \
'revset:Evaluate revset to full commit IDs' \
'snapshot:Trigger a snapshot in the op log' \
'template:Parse a template' \
'tree:List the recursive entries of a tree' \
'watchman:' \
'working-copy:Show information about the working copy state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj debug commands' commands "$@"
}
(( $+functions[_jj__debug__copy-detection_commands] )) ||
_jj__debug__copy-detection_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug copy-detection commands' commands "$@"
}
(( $+functions[_jj__debug__fileset_commands] )) ||
_jj__debug__fileset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug fileset commands' commands "$@"
}
(( $+functions[_jj__debug__help_commands] )) ||
_jj__debug__help_commands() {
    local commands; commands=(
'copy-detection:Rebuild commit index' \
'fileset:Parse fileset expression' \
'index:Show commit index stats' \
'local-working-copy:Show information about the local working copy state' \
'operation:Show information about an operation and its view' \
'reindex:Rebuild commit index' \
'revset:Evaluate revset to full commit IDs' \
'snapshot:Trigger a snapshot in the op log' \
'template:Parse a template' \
'tree:List the recursive entries of a tree' \
'watchman:' \
'working-copy:Show information about the working copy state' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj debug help commands' commands "$@"
}
(( $+functions[_jj__debug__help__copy-detection_commands] )) ||
_jj__debug__help__copy-detection_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help copy-detection commands' commands "$@"
}
(( $+functions[_jj__debug__help__fileset_commands] )) ||
_jj__debug__help__fileset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help fileset commands' commands "$@"
}
(( $+functions[_jj__debug__help__help_commands] )) ||
_jj__debug__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help help commands' commands "$@"
}
(( $+functions[_jj__debug__help__index_commands] )) ||
_jj__debug__help__index_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help index commands' commands "$@"
}
(( $+functions[_jj__debug__help__local-working-copy_commands] )) ||
_jj__debug__help__local-working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help local-working-copy commands' commands "$@"
}
(( $+functions[_jj__debug__help__operation_commands] )) ||
_jj__debug__help__operation_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help operation commands' commands "$@"
}
(( $+functions[_jj__debug__help__reindex_commands] )) ||
_jj__debug__help__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help reindex commands' commands "$@"
}
(( $+functions[_jj__debug__help__revset_commands] )) ||
_jj__debug__help__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help revset commands' commands "$@"
}
(( $+functions[_jj__debug__help__snapshot_commands] )) ||
_jj__debug__help__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help snapshot commands' commands "$@"
}
(( $+functions[_jj__debug__help__template_commands] )) ||
_jj__debug__help__template_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help template commands' commands "$@"
}
(( $+functions[_jj__debug__help__tree_commands] )) ||
_jj__debug__help__tree_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help tree commands' commands "$@"
}
(( $+functions[_jj__debug__help__watchman_commands] )) ||
_jj__debug__help__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 help watchman commands' commands "$@"
}
(( $+functions[_jj__debug__help__watchman__query-changed-files_commands] )) ||
_jj__debug__help__watchman__query-changed-files_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help watchman query-changed-files commands' commands "$@"
}
(( $+functions[_jj__debug__help__watchman__query-clock_commands] )) ||
_jj__debug__help__watchman__query-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help watchman query-clock commands' commands "$@"
}
(( $+functions[_jj__debug__help__watchman__reset-clock_commands] )) ||
_jj__debug__help__watchman__reset-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help watchman reset-clock commands' commands "$@"
}
(( $+functions[_jj__debug__help__watchman__status_commands] )) ||
_jj__debug__help__watchman__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help watchman status commands' commands "$@"
}
(( $+functions[_jj__debug__help__working-copy_commands] )) ||
_jj__debug__help__working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug help working-copy commands' commands "$@"
}
(( $+functions[_jj__debug__index_commands] )) ||
_jj__debug__index_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug index commands' commands "$@"
}
(( $+functions[_jj__debug__local-working-copy_commands] )) ||
_jj__debug__local-working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug local-working-copy commands' commands "$@"
}
(( $+functions[_jj__debug__operation_commands] )) ||
_jj__debug__operation_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug operation commands' commands "$@"
}
(( $+functions[_jj__debug__reindex_commands] )) ||
_jj__debug__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug reindex commands' commands "$@"
}
(( $+functions[_jj__debug__revset_commands] )) ||
_jj__debug__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug revset commands' commands "$@"
}
(( $+functions[_jj__debug__snapshot_commands] )) ||
_jj__debug__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug snapshot commands' commands "$@"
}
(( $+functions[_jj__debug__template_commands] )) ||
_jj__debug__template_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug template commands' commands "$@"
}
(( $+functions[_jj__debug__tree_commands] )) ||
_jj__debug__tree_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug tree commands' commands "$@"
}
(( $+functions[_jj__debug__watchman_commands] )) ||
_jj__debug__watchman_commands() {
    local commands; commands=(
'status:Check whether \`watchman\` is enabled and whether it'\''s correctly installed' \
'query-clock:' \
'query-changed-files:' \
'reset-clock:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj debug watchman commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help_commands] )) ||
_jj__debug__watchman__help_commands() {
    local commands; commands=(
'status:Check whether \`watchman\` is enabled and whether it'\''s correctly installed' \
'query-clock:' \
'query-changed-files:' \
'reset-clock:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj debug watchman help commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help__help_commands] )) ||
_jj__debug__watchman__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman help help commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help__query-changed-files_commands] )) ||
_jj__debug__watchman__help__query-changed-files_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman help query-changed-files commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help__query-clock_commands] )) ||
_jj__debug__watchman__help__query-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman help query-clock commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help__reset-clock_commands] )) ||
_jj__debug__watchman__help__reset-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman help reset-clock commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__help__status_commands] )) ||
_jj__debug__watchman__help__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman help status commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__query-changed-files_commands] )) ||
_jj__debug__watchman__query-changed-files_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman query-changed-files commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__query-clock_commands] )) ||
_jj__debug__watchman__query-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman query-clock commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__reset-clock_commands] )) ||
_jj__debug__watchman__reset-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman reset-clock commands' commands "$@"
}
(( $+functions[_jj__debug__watchman__status_commands] )) ||
_jj__debug__watchman__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug watchman status commands' commands "$@"
}
(( $+functions[_jj__debug__working-copy_commands] )) ||
_jj__debug__working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj debug working-copy commands' commands "$@"
}
(( $+functions[_jj__describe_commands] )) ||
_jj__describe_commands() {
    local commands; commands=()
    _describe -t commands 'jj describe commands' commands "$@"
}
(( $+functions[_jj__diff_commands] )) ||
_jj__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj diff commands' commands "$@"
}
(( $+functions[_jj__diffedit_commands] )) ||
_jj__diffedit_commands() {
    local commands; commands=()
    _describe -t commands 'jj diffedit commands' commands "$@"
}
(( $+functions[_jj__duplicate_commands] )) ||
_jj__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'jj duplicate commands' commands "$@"
}
(( $+functions[_jj__edit_commands] )) ||
_jj__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj edit commands' commands "$@"
}
(( $+functions[_jj__evolog_commands] )) ||
_jj__evolog_commands() {
    local commands; commands=()
    _describe -t commands 'jj evolog commands' commands "$@"
}
(( $+functions[_jj__file_commands] )) ||
_jj__file_commands() {
    local commands; commands=(
'chmod:Sets or removes the executable bit for paths in the repo' \
'list:List files in a revision' \
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj file commands' commands "$@"
}
(( $+functions[_jj__file__chmod_commands] )) ||
_jj__file__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj file chmod commands' commands "$@"
}
(( $+functions[_jj__file__help_commands] )) ||
_jj__file__help_commands() {
    local commands; commands=(
'chmod:Sets or removes the executable bit for paths in the repo' \
'list:List files in a revision' \
'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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj file help commands' commands "$@"
}
(( $+functions[_jj__file__help__chmod_commands] )) ||
_jj__file__help__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help chmod commands' commands "$@"
}
(( $+functions[_jj__file__help__help_commands] )) ||
_jj__file__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help help commands' commands "$@"
}
(( $+functions[_jj__file__help__list_commands] )) ||
_jj__file__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help list commands' commands "$@"
}
(( $+functions[_jj__file__help__show_commands] )) ||
_jj__file__help__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help show commands' commands "$@"
}
(( $+functions[_jj__file__help__track_commands] )) ||
_jj__file__help__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help track commands' commands "$@"
}
(( $+functions[_jj__file__help__untrack_commands] )) ||
_jj__file__help__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj file help untrack commands' commands "$@"
}
(( $+functions[_jj__file__list_commands] )) ||
_jj__file__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj file list commands' commands "$@"
}
(( $+functions[_jj__file__show_commands] )) ||
_jj__file__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj file show commands' commands "$@"
}
(( $+functions[_jj__file__track_commands] )) ||
_jj__file__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj file track commands' commands "$@"
}
(( $+functions[_jj__file__untrack_commands] )) ||
_jj__file__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj file untrack commands' commands "$@"
}
(( $+functions[_jj__files_commands] )) ||
_jj__files_commands() {
    local commands; commands=()
    _describe -t commands 'jj files commands' commands "$@"
}
(( $+functions[_jj__fix_commands] )) ||
_jj__fix_commands() {
    local commands; commands=()
    _describe -t commands 'jj fix commands' commands "$@"
}
(( $+functions[_jj__git_commands] )) ||
_jj__git_commands() {
    local commands; commands=(
'clone:Create a new repo backed by a clone of a Git repo' \
'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' \
'submodule:FOR INTERNAL USE ONLY Interact with git submodules' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git commands' commands "$@"
}
(( $+functions[_jj__git__clone_commands] )) ||
_jj__git__clone_commands() {
    local commands; commands=()
    _describe -t commands 'jj git clone commands' commands "$@"
}
(( $+functions[_jj__git__export_commands] )) ||
_jj__git__export_commands() {
    local commands; commands=()
    _describe -t commands 'jj git export commands' commands "$@"
}
(( $+functions[_jj__git__fetch_commands] )) ||
_jj__git__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'jj git fetch commands' commands "$@"
}
(( $+functions[_jj__git__help_commands] )) ||
_jj__git__help_commands() {
    local commands; commands=(
'clone:Create a new repo backed by a clone of a Git repo' \
'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' \
'submodule:FOR INTERNAL USE ONLY Interact with git submodules' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git help commands' commands "$@"
}
(( $+functions[_jj__git__help__clone_commands] )) ||
_jj__git__help__clone_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help clone commands' commands "$@"
}
(( $+functions[_jj__git__help__export_commands] )) ||
_jj__git__help__export_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help export commands' commands "$@"
}
(( $+functions[_jj__git__help__fetch_commands] )) ||
_jj__git__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help fetch commands' commands "$@"
}
(( $+functions[_jj__git__help__help_commands] )) ||
_jj__git__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help help commands' commands "$@"
}
(( $+functions[_jj__git__help__import_commands] )) ||
_jj__git__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help import commands' commands "$@"
}
(( $+functions[_jj__git__help__init_commands] )) ||
_jj__git__help__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help init commands' commands "$@"
}
(( $+functions[_jj__git__help__push_commands] )) ||
_jj__git__help__push_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help push commands' commands "$@"
}
(( $+functions[_jj__git__help__remote_commands] )) ||
_jj__git__help__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 help remote commands' commands "$@"
}
(( $+functions[_jj__git__help__remote__add_commands] )) ||
_jj__git__help__remote__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help remote add commands' commands "$@"
}
(( $+functions[_jj__git__help__remote__list_commands] )) ||
_jj__git__help__remote__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help remote list commands' commands "$@"
}
(( $+functions[_jj__git__help__remote__remove_commands] )) ||
_jj__git__help__remote__remove_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help remote remove commands' commands "$@"
}
(( $+functions[_jj__git__help__remote__rename_commands] )) ||
_jj__git__help__remote__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help remote rename commands' commands "$@"
}
(( $+functions[_jj__git__help__remote__set-url_commands] )) ||
_jj__git__help__remote__set-url_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help remote set-url commands' commands "$@"
}
(( $+functions[_jj__git__help__submodule_commands] )) ||
_jj__git__help__submodule_commands() {
    local commands; commands=(
'print-gitmodules:Print the relevant contents from .gitmodules. For debugging purposes only' \
    )
    _describe -t commands 'jj git help submodule commands' commands "$@"
}
(( $+functions[_jj__git__help__submodule__print-gitmodules_commands] )) ||
_jj__git__help__submodule__print-gitmodules_commands() {
    local commands; commands=()
    _describe -t commands 'jj git help submodule print-gitmodules commands' commands "$@"
}
(( $+functions[_jj__git__import_commands] )) ||
_jj__git__import_commands() {
    local commands; commands=()
    _describe -t commands 'jj git import commands' commands "$@"
}
(( $+functions[_jj__git__init_commands] )) ||
_jj__git__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj git init commands' commands "$@"
}
(( $+functions[_jj__git__push_commands] )) ||
_jj__git__push_commands() {
    local commands; commands=()
    _describe -t commands 'jj git push commands' commands "$@"
}
(( $+functions[_jj__git__remote_commands] )) ||
_jj__git__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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git remote commands' commands "$@"
}
(( $+functions[_jj__git__remote__add_commands] )) ||
_jj__git__remote__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote add commands' commands "$@"
}
(( $+functions[_jj__git__remote__help_commands] )) ||
_jj__git__remote__help_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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git remote help commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__add_commands] )) ||
_jj__git__remote__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help add commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__help_commands] )) ||
_jj__git__remote__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help help commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__list_commands] )) ||
_jj__git__remote__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help list commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__remove_commands] )) ||
_jj__git__remote__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help remove commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__rename_commands] )) ||
_jj__git__remote__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help rename commands' commands "$@"
}
(( $+functions[_jj__git__remote__help__set-url_commands] )) ||
_jj__git__remote__help__set-url_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote help set-url commands' commands "$@"
}
(( $+functions[_jj__git__remote__list_commands] )) ||
_jj__git__remote__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote list commands' commands "$@"
}
(( $+functions[_jj__git__remote__remove_commands] )) ||
_jj__git__remote__remove_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote remove commands' commands "$@"
}
(( $+functions[_jj__git__remote__rename_commands] )) ||
_jj__git__remote__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote rename commands' commands "$@"
}
(( $+functions[_jj__git__remote__set-url_commands] )) ||
_jj__git__remote__set-url_commands() {
    local commands; commands=()
    _describe -t commands 'jj git remote set-url commands' commands "$@"
}
(( $+functions[_jj__git__submodule_commands] )) ||
_jj__git__submodule_commands() {
    local commands; commands=(
'print-gitmodules:Print the relevant contents from .gitmodules. For debugging purposes only' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git submodule commands' commands "$@"
}
(( $+functions[_jj__git__submodule__help_commands] )) ||
_jj__git__submodule__help_commands() {
    local commands; commands=(
'print-gitmodules:Print the relevant contents from .gitmodules. For debugging purposes only' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj git submodule help commands' commands "$@"
}
(( $+functions[_jj__git__submodule__help__help_commands] )) ||
_jj__git__submodule__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj git submodule help help commands' commands "$@"
}
(( $+functions[_jj__git__submodule__help__print-gitmodules_commands] )) ||
_jj__git__submodule__help__print-gitmodules_commands() {
    local commands; commands=()
    _describe -t commands 'jj git submodule help print-gitmodules commands' commands "$@"
}
(( $+functions[_jj__git__submodule__print-gitmodules_commands] )) ||
_jj__git__submodule__print-gitmodules_commands() {
    local commands; commands=()
    _describe -t commands 'jj git submodule print-gitmodules commands' commands "$@"
}
(( $+functions[_jj__help_commands] )) ||
_jj__help_commands() {
    local commands; commands=(
'abandon:Abandon a revision' \
'backout:Apply the reverse of a revision on top of another revision' \
'bench:Commands for benchmarking internal operations' \
'bookmark:Manage bookmarks' \
'branch:Manage bookmarks' \
'cat:Print contents of files in a revision' \
'checkout:Create a new, empty change and edit it in the working copy (DEPRECATED, use \`jj new\`)' \
'chmod:Sets or removes the executable bit for paths in the repo' \
'commit:Update the description and create a new change on top' \
'config:Manage config options' \
'debug:Low-level commands not intended for users' \
'describe:Update the change description or other metadata' \
'diff:Compare file contents between two revisions' \
'diffedit:Touch up the content changes in a revision with a diff editor' \
'duplicate:Create a new change with the same content as an existing one' \
'edit:Sets the specified revision as the working-copy revision' \
'evolog:Show how a change has evolved over time' \
'file:File operations' \
'files:List files in a revision (DEPRECATED use \`jj file list\`)' \
'fix:Update files with formatting fixes or other changes' \
'git:Commands for working with Git remotes and the underlying Git repo' \
'init:Create a new repo in the given directory' \
'interdiff:Compare the changes of two commits' \
'log:Show revision history' \
'merge:Merge work from multiple bookmarks (DEPRECATED, use \`jj new\`)' \
'move:Move changes from one revision into another (DEPRECATED, use \`jj squash\`)' \
'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' \
'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)' \
'resolve:Resolve a conflicted file with an external merge tool' \
'restore:Restore paths from another revision' \
'revert:A dummy command that accepts any arguments' \
'root:Show the current workspace root directory' \
'run:(**Stub**, does not work yet) Run a command across a set of revisions.' \
'show:Show commit description and changes in a revision' \
'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' \
'tag:Manage tags' \
'util:Infrequently used commands such as for generating shell completions' \
'undo:Undo an operation (shortcut for \`jj op undo\`)' \
'unsquash:Move changes from a revision'\''s parent into the revision' \
'untrack:Stop tracking specified paths in the working copy' \
'version:Display version information' \
'workspace:Commands for working with workspaces' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj help commands' commands "$@"
}
(( $+functions[_jj__help__abandon_commands] )) ||
_jj__help__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj help abandon commands' commands "$@"
}
(( $+functions[_jj__help__backout_commands] )) ||
_jj__help__backout_commands() {
    local commands; commands=()
    _describe -t commands 'jj help backout commands' commands "$@"
}
(( $+functions[_jj__help__bench_commands] )) ||
_jj__help__bench_commands() {
    local commands; commands=(
'commonancestors:Find the common ancestor(s) of a set of commits' \
'isancestor:Checks if the first commit is an ancestor of the second commit' \
'resolveprefix:Resolve a commit ID prefix' \
'revset:Walk the revisions in the revset' \
    )
    _describe -t commands 'jj help bench commands' commands "$@"
}
(( $+functions[_jj__help__bench__commonancestors_commands] )) ||
_jj__help__bench__commonancestors_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bench commonancestors commands' commands "$@"
}
(( $+functions[_jj__help__bench__isancestor_commands] )) ||
_jj__help__bench__isancestor_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bench isancestor commands' commands "$@"
}
(( $+functions[_jj__help__bench__resolveprefix_commands] )) ||
_jj__help__bench__resolveprefix_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bench resolveprefix commands' commands "$@"
}
(( $+functions[_jj__help__bench__revset_commands] )) ||
_jj__help__bench__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bench revset commands' commands "$@"
}
(( $+functions[_jj__help__bookmark_commands] )) ||
_jj__help__bookmark_commands() {
    local commands; commands=(
'create:Create a new bookmark' \
'delete:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'forget:Forget everything about a bookmark, including its local and remote targets' \
'list:List bookmarks and their targets' \
'move:Move existing bookmarks to target revision' \
'rename:Rename \`old\` bookmark name to \`new\` bookmark name' \
'set:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
    )
    _describe -t commands 'jj help bookmark commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__create_commands] )) ||
_jj__help__bookmark__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark create commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__delete_commands] )) ||
_jj__help__bookmark__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark delete commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__forget_commands] )) ||
_jj__help__bookmark__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark forget commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__list_commands] )) ||
_jj__help__bookmark__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark list commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__move_commands] )) ||
_jj__help__bookmark__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark move commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__rename_commands] )) ||
_jj__help__bookmark__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark rename commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__set_commands] )) ||
_jj__help__bookmark__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark set commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__track_commands] )) ||
_jj__help__bookmark__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark track commands' commands "$@"
}
(( $+functions[_jj__help__bookmark__untrack_commands] )) ||
_jj__help__bookmark__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj help bookmark untrack commands' commands "$@"
}
(( $+functions[_jj__help__branch_commands] )) ||
_jj__help__branch_commands() {
    local commands; commands=(
'create:Create a new bookmark' \
'delete:Delete an existing bookmark and propagate the deletion to remotes on the next push' \
'forget:Forget everything about a bookmark, including its local and remote targets' \
'list:List bookmarks and their targets' \
'move:Move existing bookmarks to target revision' \
'rename:Rename \`old\` bookmark name to \`new\` bookmark name' \
'set:Create or update a bookmark to point to a certain commit' \
'track:Start tracking given remote bookmarks' \
'untrack:Stop tracking given remote bookmarks' \
    )
    _describe -t commands 'jj help branch commands' commands "$@"
}
(( $+functions[_jj__help__branch__create_commands] )) ||
_jj__help__branch__create_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch create commands' commands "$@"
}
(( $+functions[_jj__help__branch__delete_commands] )) ||
_jj__help__branch__delete_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch delete commands' commands "$@"
}
(( $+functions[_jj__help__branch__forget_commands] )) ||
_jj__help__branch__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch forget commands' commands "$@"
}
(( $+functions[_jj__help__branch__list_commands] )) ||
_jj__help__branch__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch list commands' commands "$@"
}
(( $+functions[_jj__help__branch__move_commands] )) ||
_jj__help__branch__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch move commands' commands "$@"
}
(( $+functions[_jj__help__branch__rename_commands] )) ||
_jj__help__branch__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch rename commands' commands "$@"
}
(( $+functions[_jj__help__branch__set_commands] )) ||
_jj__help__branch__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch set commands' commands "$@"
}
(( $+functions[_jj__help__branch__track_commands] )) ||
_jj__help__branch__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch track commands' commands "$@"
}
(( $+functions[_jj__help__branch__untrack_commands] )) ||
_jj__help__branch__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj help branch untrack commands' commands "$@"
}
(( $+functions[_jj__help__cat_commands] )) ||
_jj__help__cat_commands() {
    local commands; commands=()
    _describe -t commands 'jj help cat commands' commands "$@"
}
(( $+functions[_jj__help__checkout_commands] )) ||
_jj__help__checkout_commands() {
    local commands; commands=()
    _describe -t commands 'jj help checkout commands' commands "$@"
}
(( $+functions[_jj__help__chmod_commands] )) ||
_jj__help__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj help chmod commands' commands "$@"
}
(( $+functions[_jj__help__commit_commands] )) ||
_jj__help__commit_commands() {
    local commands; commands=()
    _describe -t commands 'jj help commit commands' commands "$@"
}
(( $+functions[_jj__help__config_commands] )) ||
_jj__help__config_commands() {
    local commands; commands=(
'edit:Start an editor on a jj config file' \
'get:Get the value of a given config option.' \
'list:List variables set in config file, along with their values' \
'path:Print the path to the config file' \
'set:Update config file to set the given option to a given value' \
    )
    _describe -t commands 'jj help config commands' commands "$@"
}
(( $+functions[_jj__help__config__edit_commands] )) ||
_jj__help__config__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj help config edit commands' commands "$@"
}
(( $+functions[_jj__help__config__get_commands] )) ||
_jj__help__config__get_commands() {
    local commands; commands=()
    _describe -t commands 'jj help config get commands' commands "$@"
}
(( $+functions[_jj__help__config__list_commands] )) ||
_jj__help__config__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help config list commands' commands "$@"
}
(( $+functions[_jj__help__config__path_commands] )) ||
_jj__help__config__path_commands() {
    local commands; commands=()
    _describe -t commands 'jj help config path commands' commands "$@"
}
(( $+functions[_jj__help__config__set_commands] )) ||
_jj__help__config__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj help config set commands' commands "$@"
}
(( $+functions[_jj__help__debug_commands] )) ||
_jj__help__debug_commands() {
    local commands; commands=(
'copy-detection:Rebuild commit index' \
'fileset:Parse fileset expression' \
'index:Show commit index stats' \
'local-working-copy:Show information about the local working copy state' \
'operation:Show information about an operation and its view' \
'reindex:Rebuild commit index' \
'revset:Evaluate revset to full commit IDs' \
'snapshot:Trigger a snapshot in the op log' \
'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 help debug commands' commands "$@"
}
(( $+functions[_jj__help__debug__copy-detection_commands] )) ||
_jj__help__debug__copy-detection_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug copy-detection commands' commands "$@"
}
(( $+functions[_jj__help__debug__fileset_commands] )) ||
_jj__help__debug__fileset_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug fileset commands' commands "$@"
}
(( $+functions[_jj__help__debug__index_commands] )) ||
_jj__help__debug__index_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug index commands' commands "$@"
}
(( $+functions[_jj__help__debug__local-working-copy_commands] )) ||
_jj__help__debug__local-working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug local-working-copy commands' commands "$@"
}
(( $+functions[_jj__help__debug__operation_commands] )) ||
_jj__help__debug__operation_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug operation commands' commands "$@"
}
(( $+functions[_jj__help__debug__reindex_commands] )) ||
_jj__help__debug__reindex_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug reindex commands' commands "$@"
}
(( $+functions[_jj__help__debug__revset_commands] )) ||
_jj__help__debug__revset_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug revset commands' commands "$@"
}
(( $+functions[_jj__help__debug__snapshot_commands] )) ||
_jj__help__debug__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug snapshot commands' commands "$@"
}
(( $+functions[_jj__help__debug__template_commands] )) ||
_jj__help__debug__template_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug template commands' commands "$@"
}
(( $+functions[_jj__help__debug__tree_commands] )) ||
_jj__help__debug__tree_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug tree commands' commands "$@"
}
(( $+functions[_jj__help__debug__watchman_commands] )) ||
_jj__help__debug__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 help debug watchman commands' commands "$@"
}
(( $+functions[_jj__help__debug__watchman__query-changed-files_commands] )) ||
_jj__help__debug__watchman__query-changed-files_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug watchman query-changed-files commands' commands "$@"
}
(( $+functions[_jj__help__debug__watchman__query-clock_commands] )) ||
_jj__help__debug__watchman__query-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug watchman query-clock commands' commands "$@"
}
(( $+functions[_jj__help__debug__watchman__reset-clock_commands] )) ||
_jj__help__debug__watchman__reset-clock_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug watchman reset-clock commands' commands "$@"
}
(( $+functions[_jj__help__debug__watchman__status_commands] )) ||
_jj__help__debug__watchman__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug watchman status commands' commands "$@"
}
(( $+functions[_jj__help__debug__working-copy_commands] )) ||
_jj__help__debug__working-copy_commands() {
    local commands; commands=()
    _describe -t commands 'jj help debug working-copy commands' commands "$@"
}
(( $+functions[_jj__help__describe_commands] )) ||
_jj__help__describe_commands() {
    local commands; commands=()
    _describe -t commands 'jj help describe commands' commands "$@"
}
(( $+functions[_jj__help__diff_commands] )) ||
_jj__help__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj help diff commands' commands "$@"
}
(( $+functions[_jj__help__diffedit_commands] )) ||
_jj__help__diffedit_commands() {
    local commands; commands=()
    _describe -t commands 'jj help diffedit commands' commands "$@"
}
(( $+functions[_jj__help__duplicate_commands] )) ||
_jj__help__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'jj help duplicate commands' commands "$@"
}
(( $+functions[_jj__help__edit_commands] )) ||
_jj__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj help edit commands' commands "$@"
}
(( $+functions[_jj__help__evolog_commands] )) ||
_jj__help__evolog_commands() {
    local commands; commands=()
    _describe -t commands 'jj help evolog commands' commands "$@"
}
(( $+functions[_jj__help__file_commands] )) ||
_jj__help__file_commands() {
    local commands; commands=(
'chmod:Sets or removes the executable bit for paths in the repo' \
'list:List files in a revision' \
'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 help file commands' commands "$@"
}
(( $+functions[_jj__help__file__chmod_commands] )) ||
_jj__help__file__chmod_commands() {
    local commands; commands=()
    _describe -t commands 'jj help file chmod commands' commands "$@"
}
(( $+functions[_jj__help__file__list_commands] )) ||
_jj__help__file__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help file list commands' commands "$@"
}
(( $+functions[_jj__help__file__show_commands] )) ||
_jj__help__file__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj help file show commands' commands "$@"
}
(( $+functions[_jj__help__file__track_commands] )) ||
_jj__help__file__track_commands() {
    local commands; commands=()
    _describe -t commands 'jj help file track commands' commands "$@"
}
(( $+functions[_jj__help__file__untrack_commands] )) ||
_jj__help__file__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj help file untrack commands' commands "$@"
}
(( $+functions[_jj__help__files_commands] )) ||
_jj__help__files_commands() {
    local commands; commands=()
    _describe -t commands 'jj help files commands' commands "$@"
}
(( $+functions[_jj__help__fix_commands] )) ||
_jj__help__fix_commands() {
    local commands; commands=()
    _describe -t commands 'jj help fix commands' commands "$@"
}
(( $+functions[_jj__help__git_commands] )) ||
_jj__help__git_commands() {
    local commands; commands=(
'clone:Create a new repo backed by a clone of a Git repo' \
'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' \
'submodule:FOR INTERNAL USE ONLY Interact with git submodules' \
    )
    _describe -t commands 'jj help git commands' commands "$@"
}
(( $+functions[_jj__help__git__clone_commands] )) ||
_jj__help__git__clone_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git clone commands' commands "$@"
}
(( $+functions[_jj__help__git__export_commands] )) ||
_jj__help__git__export_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git export commands' commands "$@"
}
(( $+functions[_jj__help__git__fetch_commands] )) ||
_jj__help__git__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git fetch commands' commands "$@"
}
(( $+functions[_jj__help__git__import_commands] )) ||
_jj__help__git__import_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git import commands' commands "$@"
}
(( $+functions[_jj__help__git__init_commands] )) ||
_jj__help__git__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git init commands' commands "$@"
}
(( $+functions[_jj__help__git__push_commands] )) ||
_jj__help__git__push_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git push commands' commands "$@"
}
(( $+functions[_jj__help__git__remote_commands] )) ||
_jj__help__git__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 help git remote commands' commands "$@"
}
(( $+functions[_jj__help__git__remote__add_commands] )) ||
_jj__help__git__remote__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git remote add commands' commands "$@"
}
(( $+functions[_jj__help__git__remote__list_commands] )) ||
_jj__help__git__remote__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git remote list commands' commands "$@"
}
(( $+functions[_jj__help__git__remote__remove_commands] )) ||
_jj__help__git__remote__remove_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git remote remove commands' commands "$@"
}
(( $+functions[_jj__help__git__remote__rename_commands] )) ||
_jj__help__git__remote__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git remote rename commands' commands "$@"
}
(( $+functions[_jj__help__git__remote__set-url_commands] )) ||
_jj__help__git__remote__set-url_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git remote set-url commands' commands "$@"
}
(( $+functions[_jj__help__git__submodule_commands] )) ||
_jj__help__git__submodule_commands() {
    local commands; commands=(
'print-gitmodules:Print the relevant contents from .gitmodules. For debugging purposes only' \
    )
    _describe -t commands 'jj help git submodule commands' commands "$@"
}
(( $+functions[_jj__help__git__submodule__print-gitmodules_commands] )) ||
_jj__help__git__submodule__print-gitmodules_commands() {
    local commands; commands=()
    _describe -t commands 'jj help git submodule print-gitmodules commands' commands "$@"
}
(( $+functions[_jj__help__help_commands] )) ||
_jj__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj help help commands' commands "$@"
}
(( $+functions[_jj__help__init_commands] )) ||
_jj__help__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj help init commands' commands "$@"
}
(( $+functions[_jj__help__interdiff_commands] )) ||
_jj__help__interdiff_commands() {
    local commands; commands=()
    _describe -t commands 'jj help interdiff commands' commands "$@"
}
(( $+functions[_jj__help__log_commands] )) ||
_jj__help__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj help log commands' commands "$@"
}
(( $+functions[_jj__help__merge_commands] )) ||
_jj__help__merge_commands() {
    local commands; commands=()
    _describe -t commands 'jj help merge commands' commands "$@"
}
(( $+functions[_jj__help__move_commands] )) ||
_jj__help__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj help move commands' commands "$@"
}
(( $+functions[_jj__help__new_commands] )) ||
_jj__help__new_commands() {
    local commands; commands=()
    _describe -t commands 'jj help new commands' commands "$@"
}
(( $+functions[_jj__help__next_commands] )) ||
_jj__help__next_commands() {
    local commands; commands=()
    _describe -t commands 'jj help next commands' commands "$@"
}
(( $+functions[_jj__help__operation_commands] )) ||
_jj__help__operation_commands() {
    local commands; commands=(
'abandon:Abandon operation history' \
'diff:Compare changes to the repository between two operations' \
'log:Show the operation log' \
'restore:Create a new operation that restores the repo to an earlier state' \
'show:Show changes to the repository in an operation' \
'undo:Create a new operation that undoes an earlier operation' \
    )
    _describe -t commands 'jj help operation commands' commands "$@"
}
(( $+functions[_jj__help__operation__abandon_commands] )) ||
_jj__help__operation__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation abandon commands' commands "$@"
}
(( $+functions[_jj__help__operation__diff_commands] )) ||
_jj__help__operation__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation diff commands' commands "$@"
}
(( $+functions[_jj__help__operation__log_commands] )) ||
_jj__help__operation__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation log commands' commands "$@"
}
(( $+functions[_jj__help__operation__restore_commands] )) ||
_jj__help__operation__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation restore commands' commands "$@"
}
(( $+functions[_jj__help__operation__show_commands] )) ||
_jj__help__operation__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation show commands' commands "$@"
}
(( $+functions[_jj__help__operation__undo_commands] )) ||
_jj__help__operation__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj help operation undo commands' commands "$@"
}
(( $+functions[_jj__help__parallelize_commands] )) ||
_jj__help__parallelize_commands() {
    local commands; commands=()
    _describe -t commands 'jj help parallelize commands' commands "$@"
}
(( $+functions[_jj__help__prev_commands] )) ||
_jj__help__prev_commands() {
    local commands; commands=()
    _describe -t commands 'jj help prev commands' commands "$@"
}
(( $+functions[_jj__help__rebase_commands] )) ||
_jj__help__rebase_commands() {
    local commands; commands=()
    _describe -t commands 'jj help rebase commands' commands "$@"
}
(( $+functions[_jj__help__resolve_commands] )) ||
_jj__help__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'jj help resolve commands' commands "$@"
}
(( $+functions[_jj__help__restore_commands] )) ||
_jj__help__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj help restore commands' commands "$@"
}
(( $+functions[_jj__help__revert_commands] )) ||
_jj__help__revert_commands() {
    local commands; commands=()
    _describe -t commands 'jj help revert commands' commands "$@"
}
(( $+functions[_jj__help__root_commands] )) ||
_jj__help__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj help root commands' commands "$@"
}
(( $+functions[_jj__help__run_commands] )) ||
_jj__help__run_commands() {
    local commands; commands=()
    _describe -t commands 'jj help run commands' commands "$@"
}
(( $+functions[_jj__help__show_commands] )) ||
_jj__help__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj help show commands' commands "$@"
}
(( $+functions[_jj__help__sparse_commands] )) ||
_jj__help__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 help sparse commands' commands "$@"
}
(( $+functions[_jj__help__sparse__edit_commands] )) ||
_jj__help__sparse__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj help sparse edit commands' commands "$@"
}
(( $+functions[_jj__help__sparse__list_commands] )) ||
_jj__help__sparse__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help sparse list commands' commands "$@"
}
(( $+functions[_jj__help__sparse__reset_commands] )) ||
_jj__help__sparse__reset_commands() {
    local commands; commands=()
    _describe -t commands 'jj help sparse reset commands' commands "$@"
}
(( $+functions[_jj__help__sparse__set_commands] )) ||
_jj__help__sparse__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj help sparse set commands' commands "$@"
}
(( $+functions[_jj__help__split_commands] )) ||
_jj__help__split_commands() {
    local commands; commands=()
    _describe -t commands 'jj help split commands' commands "$@"
}
(( $+functions[_jj__help__squash_commands] )) ||
_jj__help__squash_commands() {
    local commands; commands=()
    _describe -t commands 'jj help squash commands' commands "$@"
}
(( $+functions[_jj__help__status_commands] )) ||
_jj__help__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj help status commands' commands "$@"
}
(( $+functions[_jj__help__tag_commands] )) ||
_jj__help__tag_commands() {
    local commands; commands=(
'list:List tags' \
    )
    _describe -t commands 'jj help tag commands' commands "$@"
}
(( $+functions[_jj__help__tag__list_commands] )) ||
_jj__help__tag__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help tag list commands' commands "$@"
}
(( $+functions[_jj__help__undo_commands] )) ||
_jj__help__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj help undo commands' commands "$@"
}
(( $+functions[_jj__help__unsquash_commands] )) ||
_jj__help__unsquash_commands() {
    local commands; commands=()
    _describe -t commands 'jj help unsquash commands' commands "$@"
}
(( $+functions[_jj__help__untrack_commands] )) ||
_jj__help__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj help untrack commands' commands "$@"
}
(( $+functions[_jj__help__util_commands] )) ||
_jj__help__util_commands() {
    local commands; commands=(
'completion:Print a command-line-completion script' \
'gc:Run backend-dependent garbage collection' \
'mangen:Print a ROFF (manpage)' \
'markdown-help:Print the CLI help for all subcommands in Markdown' \
'config-schema:Print the JSON schema for the jj TOML config format' \
    )
    _describe -t commands 'jj help util commands' commands "$@"
}
(( $+functions[_jj__help__util__completion_commands] )) ||
_jj__help__util__completion_commands() {
    local commands; commands=()
    _describe -t commands 'jj help util completion commands' commands "$@"
}
(( $+functions[_jj__help__util__config-schema_commands] )) ||
_jj__help__util__config-schema_commands() {
    local commands; commands=()
    _describe -t commands 'jj help util config-schema commands' commands "$@"
}
(( $+functions[_jj__help__util__gc_commands] )) ||
_jj__help__util__gc_commands() {
    local commands; commands=()
    _describe -t commands 'jj help util gc commands' commands "$@"
}
(( $+functions[_jj__help__util__mangen_commands] )) ||
_jj__help__util__mangen_commands() {
    local commands; commands=()
    _describe -t commands 'jj help util mangen commands' commands "$@"
}
(( $+functions[_jj__help__util__markdown-help_commands] )) ||
_jj__help__util__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'jj help util markdown-help commands' commands "$@"
}
(( $+functions[_jj__help__version_commands] )) ||
_jj__help__version_commands() {
    local commands; commands=()
    _describe -t commands 'jj help version commands' commands "$@"
}
(( $+functions[_jj__help__workspace_commands] )) ||
_jj__help__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 current workspace root directory' \
'update-stale:Update a workspace that has become stale' \
    )
    _describe -t commands 'jj help workspace commands' commands "$@"
}
(( $+functions[_jj__help__workspace__add_commands] )) ||
_jj__help__workspace__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace add commands' commands "$@"
}
(( $+functions[_jj__help__workspace__forget_commands] )) ||
_jj__help__workspace__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace forget commands' commands "$@"
}
(( $+functions[_jj__help__workspace__list_commands] )) ||
_jj__help__workspace__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace list commands' commands "$@"
}
(( $+functions[_jj__help__workspace__rename_commands] )) ||
_jj__help__workspace__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace rename commands' commands "$@"
}
(( $+functions[_jj__help__workspace__root_commands] )) ||
_jj__help__workspace__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace root commands' commands "$@"
}
(( $+functions[_jj__help__workspace__update-stale_commands] )) ||
_jj__help__workspace__update-stale_commands() {
    local commands; commands=()
    _describe -t commands 'jj help workspace update-stale commands' commands "$@"
}
(( $+functions[_jj__init_commands] )) ||
_jj__init_commands() {
    local commands; commands=()
    _describe -t commands 'jj init commands' commands "$@"
}
(( $+functions[_jj__interdiff_commands] )) ||
_jj__interdiff_commands() {
    local commands; commands=()
    _describe -t commands 'jj interdiff commands' commands "$@"
}
(( $+functions[_jj__log_commands] )) ||
_jj__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj log commands' commands "$@"
}
(( $+functions[_jj__merge_commands] )) ||
_jj__merge_commands() {
    local commands; commands=()
    _describe -t commands 'jj merge commands' commands "$@"
}
(( $+functions[_jj__move_commands] )) ||
_jj__move_commands() {
    local commands; commands=()
    _describe -t commands 'jj move commands' commands "$@"
}
(( $+functions[_jj__new_commands] )) ||
_jj__new_commands() {
    local commands; commands=()
    _describe -t commands 'jj new commands' commands "$@"
}
(( $+functions[_jj__next_commands] )) ||
_jj__next_commands() {
    local commands; commands=()
    _describe -t commands 'jj next commands' commands "$@"
}
(( $+functions[_jj__operation_commands] )) ||
_jj__operation_commands() {
    local commands; commands=(
'abandon:Abandon operation history' \
'diff:Compare changes to the repository between two operations' \
'log:Show the operation log' \
'restore:Create a new operation that restores the repo to an earlier state' \
'show:Show changes to the repository in an operation' \
'undo:Create a new operation that undoes an earlier operation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj operation commands' commands "$@"
}
(( $+functions[_jj__operation__abandon_commands] )) ||
_jj__operation__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation abandon commands' commands "$@"
}
(( $+functions[_jj__operation__diff_commands] )) ||
_jj__operation__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation diff commands' commands "$@"
}
(( $+functions[_jj__operation__help_commands] )) ||
_jj__operation__help_commands() {
    local commands; commands=(
'abandon:Abandon operation history' \
'diff:Compare changes to the repository between two operations' \
'log:Show the operation log' \
'restore:Create a new operation that restores the repo to an earlier state' \
'show:Show changes to the repository in an operation' \
'undo:Create a new operation that undoes an earlier operation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj operation help commands' commands "$@"
}
(( $+functions[_jj__operation__help__abandon_commands] )) ||
_jj__operation__help__abandon_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help abandon commands' commands "$@"
}
(( $+functions[_jj__operation__help__diff_commands] )) ||
_jj__operation__help__diff_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help diff commands' commands "$@"
}
(( $+functions[_jj__operation__help__help_commands] )) ||
_jj__operation__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help help commands' commands "$@"
}
(( $+functions[_jj__operation__help__log_commands] )) ||
_jj__operation__help__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help log commands' commands "$@"
}
(( $+functions[_jj__operation__help__restore_commands] )) ||
_jj__operation__help__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help restore commands' commands "$@"
}
(( $+functions[_jj__operation__help__show_commands] )) ||
_jj__operation__help__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help show commands' commands "$@"
}
(( $+functions[_jj__operation__help__undo_commands] )) ||
_jj__operation__help__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation help undo commands' commands "$@"
}
(( $+functions[_jj__operation__log_commands] )) ||
_jj__operation__log_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation log commands' commands "$@"
}
(( $+functions[_jj__operation__restore_commands] )) ||
_jj__operation__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation restore commands' commands "$@"
}
(( $+functions[_jj__operation__show_commands] )) ||
_jj__operation__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation show commands' commands "$@"
}
(( $+functions[_jj__operation__undo_commands] )) ||
_jj__operation__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj operation undo commands' commands "$@"
}
(( $+functions[_jj__parallelize_commands] )) ||
_jj__parallelize_commands() {
    local commands; commands=()
    _describe -t commands 'jj parallelize commands' commands "$@"
}
(( $+functions[_jj__prev_commands] )) ||
_jj__prev_commands() {
    local commands; commands=()
    _describe -t commands 'jj prev commands' commands "$@"
}
(( $+functions[_jj__rebase_commands] )) ||
_jj__rebase_commands() {
    local commands; commands=()
    _describe -t commands 'jj rebase commands' commands "$@"
}
(( $+functions[_jj__resolve_commands] )) ||
_jj__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'jj resolve commands' commands "$@"
}
(( $+functions[_jj__restore_commands] )) ||
_jj__restore_commands() {
    local commands; commands=()
    _describe -t commands 'jj restore commands' commands "$@"
}
(( $+functions[_jj__revert_commands] )) ||
_jj__revert_commands() {
    local commands; commands=()
    _describe -t commands 'jj revert commands' commands "$@"
}
(( $+functions[_jj__root_commands] )) ||
_jj__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj root commands' commands "$@"
}
(( $+functions[_jj__run_commands] )) ||
_jj__run_commands() {
    local commands; commands=()
    _describe -t commands 'jj run commands' commands "$@"
}
(( $+functions[_jj__show_commands] )) ||
_jj__show_commands() {
    local commands; commands=()
    _describe -t commands 'jj show commands' commands "$@"
}
(( $+functions[_jj__sparse_commands] )) ||
_jj__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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj sparse commands' commands "$@"
}
(( $+functions[_jj__sparse__edit_commands] )) ||
_jj__sparse__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse edit commands' commands "$@"
}
(( $+functions[_jj__sparse__help_commands] )) ||
_jj__sparse__help_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' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj sparse help commands' commands "$@"
}
(( $+functions[_jj__sparse__help__edit_commands] )) ||
_jj__sparse__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse help edit commands' commands "$@"
}
(( $+functions[_jj__sparse__help__help_commands] )) ||
_jj__sparse__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse help help commands' commands "$@"
}
(( $+functions[_jj__sparse__help__list_commands] )) ||
_jj__sparse__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse help list commands' commands "$@"
}
(( $+functions[_jj__sparse__help__reset_commands] )) ||
_jj__sparse__help__reset_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse help reset commands' commands "$@"
}
(( $+functions[_jj__sparse__help__set_commands] )) ||
_jj__sparse__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse help set commands' commands "$@"
}
(( $+functions[_jj__sparse__list_commands] )) ||
_jj__sparse__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse list commands' commands "$@"
}
(( $+functions[_jj__sparse__reset_commands] )) ||
_jj__sparse__reset_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse reset commands' commands "$@"
}
(( $+functions[_jj__sparse__set_commands] )) ||
_jj__sparse__set_commands() {
    local commands; commands=()
    _describe -t commands 'jj sparse set commands' commands "$@"
}
(( $+functions[_jj__split_commands] )) ||
_jj__split_commands() {
    local commands; commands=()
    _describe -t commands 'jj split commands' commands "$@"
}
(( $+functions[_jj__squash_commands] )) ||
_jj__squash_commands() {
    local commands; commands=()
    _describe -t commands 'jj squash commands' commands "$@"
}
(( $+functions[_jj__status_commands] )) ||
_jj__status_commands() {
    local commands; commands=()
    _describe -t commands 'jj status commands' commands "$@"
}
(( $+functions[_jj__tag_commands] )) ||
_jj__tag_commands() {
    local commands; commands=(
'list:List tags' \
'l:List tags' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj tag commands' commands "$@"
}
(( $+functions[_jj__tag__help_commands] )) ||
_jj__tag__help_commands() {
    local commands; commands=(
'list:List tags' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj tag help commands' commands "$@"
}
(( $+functions[_jj__tag__help__help_commands] )) ||
_jj__tag__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag help help commands' commands "$@"
}
(( $+functions[_jj__tag__help__list_commands] )) ||
_jj__tag__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag help list commands' commands "$@"
}
(( $+functions[_jj__tag__list_commands] )) ||
_jj__tag__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj tag list commands' commands "$@"
}
(( $+functions[_jj__undo_commands] )) ||
_jj__undo_commands() {
    local commands; commands=()
    _describe -t commands 'jj undo commands' commands "$@"
}
(( $+functions[_jj__unsquash_commands] )) ||
_jj__unsquash_commands() {
    local commands; commands=()
    _describe -t commands 'jj unsquash commands' commands "$@"
}
(( $+functions[_jj__untrack_commands] )) ||
_jj__untrack_commands() {
    local commands; commands=()
    _describe -t commands 'jj untrack commands' commands "$@"
}
(( $+functions[_jj__util_commands] )) ||
_jj__util_commands() {
    local commands; commands=(
'completion:Print a command-line-completion script' \
'gc:Run backend-dependent garbage collection' \
'mangen:Print a ROFF (manpage)' \
'markdown-help:Print the CLI help for all subcommands in Markdown' \
'config-schema:Print the JSON schema for the jj TOML config format' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj util commands' commands "$@"
}
(( $+functions[_jj__util__completion_commands] )) ||
_jj__util__completion_commands() {
    local commands; commands=()
    _describe -t commands 'jj util completion commands' commands "$@"
}
(( $+functions[_jj__util__config-schema_commands] )) ||
_jj__util__config-schema_commands() {
    local commands; commands=()
    _describe -t commands 'jj util config-schema commands' commands "$@"
}
(( $+functions[_jj__util__gc_commands] )) ||
_jj__util__gc_commands() {
    local commands; commands=()
    _describe -t commands 'jj util gc commands' commands "$@"
}
(( $+functions[_jj__util__help_commands] )) ||
_jj__util__help_commands() {
    local commands; commands=(
'completion:Print a command-line-completion script' \
'gc:Run backend-dependent garbage collection' \
'mangen:Print a ROFF (manpage)' \
'markdown-help:Print the CLI help for all subcommands in Markdown' \
'config-schema:Print the JSON schema for the jj TOML config format' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj util help commands' commands "$@"
}
(( $+functions[_jj__util__help__completion_commands] )) ||
_jj__util__help__completion_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help completion commands' commands "$@"
}
(( $+functions[_jj__util__help__config-schema_commands] )) ||
_jj__util__help__config-schema_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help config-schema commands' commands "$@"
}
(( $+functions[_jj__util__help__gc_commands] )) ||
_jj__util__help__gc_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help gc commands' commands "$@"
}
(( $+functions[_jj__util__help__help_commands] )) ||
_jj__util__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help help commands' commands "$@"
}
(( $+functions[_jj__util__help__mangen_commands] )) ||
_jj__util__help__mangen_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help mangen commands' commands "$@"
}
(( $+functions[_jj__util__help__markdown-help_commands] )) ||
_jj__util__help__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'jj util help markdown-help commands' commands "$@"
}
(( $+functions[_jj__util__mangen_commands] )) ||
_jj__util__mangen_commands() {
    local commands; commands=()
    _describe -t commands 'jj util mangen commands' commands "$@"
}
(( $+functions[_jj__util__markdown-help_commands] )) ||
_jj__util__markdown-help_commands() {
    local commands; commands=()
    _describe -t commands 'jj util markdown-help commands' commands "$@"
}
(( $+functions[_jj__version_commands] )) ||
_jj__version_commands() {
    local commands; commands=()
    _describe -t commands 'jj version commands' commands "$@"
}
(( $+functions[_jj__workspace_commands] )) ||
_jj__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 current workspace root directory' \
'update-stale:Update a workspace that has become stale' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj workspace commands' commands "$@"
}
(( $+functions[_jj__workspace__add_commands] )) ||
_jj__workspace__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace add commands' commands "$@"
}
(( $+functions[_jj__workspace__forget_commands] )) ||
_jj__workspace__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace forget commands' commands "$@"
}
(( $+functions[_jj__workspace__help_commands] )) ||
_jj__workspace__help_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 current workspace root directory' \
'update-stale:Update a workspace that has become stale' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'jj workspace help commands' commands "$@"
}
(( $+functions[_jj__workspace__help__add_commands] )) ||
_jj__workspace__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help add commands' commands "$@"
}
(( $+functions[_jj__workspace__help__forget_commands] )) ||
_jj__workspace__help__forget_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help forget commands' commands "$@"
}
(( $+functions[_jj__workspace__help__help_commands] )) ||
_jj__workspace__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help help commands' commands "$@"
}
(( $+functions[_jj__workspace__help__list_commands] )) ||
_jj__workspace__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help list commands' commands "$@"
}
(( $+functions[_jj__workspace__help__rename_commands] )) ||
_jj__workspace__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help rename commands' commands "$@"
}
(( $+functions[_jj__workspace__help__root_commands] )) ||
_jj__workspace__help__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help root commands' commands "$@"
}
(( $+functions[_jj__workspace__help__update-stale_commands] )) ||
_jj__workspace__help__update-stale_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace help update-stale commands' commands "$@"
}
(( $+functions[_jj__workspace__list_commands] )) ||
_jj__workspace__list_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace list commands' commands "$@"
}
(( $+functions[_jj__workspace__rename_commands] )) ||
_jj__workspace__rename_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace rename commands' commands "$@"
}
(( $+functions[_jj__workspace__root_commands] )) ||
_jj__workspace__root_commands() {
    local commands; commands=()
    _describe -t commands 'jj workspace root commands' commands "$@"
}
(( $+functions[_jj__workspace__update-stale_commands] )) ||
_jj__workspace__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
