#compdef dsc

autoload -U is-at-least

_dsc_discourse_names() {
local config_path
local i
for i in {1..$#words}; do
if [[ ${words[$i]} == -c || ${words[$i]} == --config ]]; then
config_path=${words[$((i+1))]}
elif [[ ${words[$i]} == --config=* ]]; then
config_path=${words[$i]#--config=}
fi
done

local cmd=(dsc list --format plaintext)
if [[ -n ${config_path:-} ]]; then
cmd+=(-c "$config_path")
fi

local -a names
names=(${(f)"$(command ${cmd[@]} 2>/dev/null | sed 's/ - .*//')"})
_describe -t discourses 'discourses' names
}

zstyle ':completion:*:dsc:*' sort false

_dsc() {
    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[@]}" : \
'-c+[Path to the config file. If omitted, dsc searches standard locations]:CONFIG:_files' \
'--config=[Path to the config file. If omitted, dsc searches standard locations]:CONFIG:_files' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc_commands" \
"*::: :->dsc" \
&& ret=0
    case $state in
    (dsc)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format for the listing]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format for the listing]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--tags=[Filter by tags (comma/semicolon separated, match-any)]:tag1,tag2:_default' \
'-o[Open each listed Discourse base URL in a browser tab/window]' \
'--open[Open each listed Discourse base URL in a browser tab/window]' \
'-v[Include empty results and verbose listing details where supported]' \
'--verbose[Include empty results and verbose listing details where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_dsc__list_commands" \
"*::: :->list" \
&& ret=0

    case $state in
    (list)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-list-command-$line[1]:"
        case $line[1] in
            (tidy)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(ty)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__list__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-list-help-command-$line[1]:"
        case $line[1] in
            (tidy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format for the listing]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format for the listing]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--tags=[Filter by tags (comma/semicolon separated, match-any)]:tag1,tag2:_default' \
'-o[Open each listed Discourse base URL in a browser tab/window]' \
'--open[Open each listed Discourse base URL in a browser tab/window]' \
'-v[Include empty results and verbose listing details where supported]' \
'--verbose[Include empty results and verbose listing details where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_dsc__list_commands" \
"*::: :->list" \
&& ret=0

    case $state in
    (list)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-list-command-$line[1]:"
        case $line[1] in
            (tidy)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(ty)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__list__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-list-help-command-$line[1]:"
        case $line[1] in
            (tidy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(add)
_arguments "${_arguments_options[@]}" : \
'-i[Prompt for additional optional fields while adding]' \
'--interactive[Prompt for additional optional fields while adding]' \
'-h[Print help]' \
'--help[Print help]' \
':names -- Comma-separated discourse names to add:_default' \
&& ret=0
;;
(a)
_arguments "${_arguments_options[@]}" : \
'-i[Prompt for additional optional fields while adding]' \
'--interactive[Prompt for additional optional fields while adding]' \
'-h[Print help]' \
'--help[Print help]' \
':names -- Comma-separated discourse names to add:_default' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::path -- Path to import input (text/CSV). Reads stdin when omitted:_files' \
&& ret=0
;;
(imp)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::path -- Path to import input (text/CSV). Reads stdin when omitted:_files' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'-m+[Maximum workers when parallel mode is enabled (default\: 3)]:MAX:_default' \
'--max=[Maximum workers when parallel mode is enabled (default\: 3)]:MAX:_default' \
'-p[Parallel update mode for \`dsc update all\`]' \
'--parallel[Parallel update mode for \`dsc update all\`]' \
'--no-changelog[Disable changelog posting (posting prompt is on by default)]' \
'-y[Auto-confirm changelog posting prompt (non-interactive mode)]' \
'--yes[Auto-confirm changelog posting prompt (non-interactive mode)]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Discourse name, or '\''all'\'' to update every configured Discourse:_dsc_discourse_names' \
&& ret=0
;;
(up)
_arguments "${_arguments_options[@]}" : \
'-m+[Maximum workers when parallel mode is enabled (default\: 3)]:MAX:_default' \
'--max=[Maximum workers when parallel mode is enabled (default\: 3)]:MAX:_default' \
'-p[Parallel update mode for \`dsc update all\`]' \
'--parallel[Parallel update mode for \`dsc update all\`]' \
'--no-changelog[Disable changelog posting (posting prompt is on by default)]' \
'-y[Auto-confirm changelog posting prompt (non-interactive mode)]' \
'--yes[Auto-confirm changelog posting prompt (non-interactive mode)]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Discourse name, or '\''all'\'' to update every configured Discourse:_default' \
&& ret=0
;;
(emoji)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__emoji_commands" \
"*::: :->emoji" \
&& ret=0

    case $state in
    (emoji)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-emoji-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':emoji_path -- Local file or directory path:_files' \
'::emoji_name -- Optional emoji name (file uploads only):_default' \
&& ret=0
;;
(a)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':emoji_path -- Local file or directory path:_files' \
'::emoji_name -- Optional emoji name (file uploads only):_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-i[Render inline images when terminal protocol support is available]' \
'--inline[Render inline images when terminal protocol support is available]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-i[Render inline images when terminal protocol support is available]' \
'--inline[Render inline images when terminal protocol support is available]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__emoji__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-emoji-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(em)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__emoji_commands" \
"*::: :->emoji" \
&& ret=0

    case $state in
    (emoji)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-emoji-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':emoji_path -- Local file or directory path:_files' \
'::emoji_name -- Optional emoji name (file uploads only):_default' \
&& ret=0
;;
(a)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':emoji_path -- Local file or directory path:_files' \
'::emoji_name -- Optional emoji name (file uploads only):_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-i[Render inline images when terminal protocol support is available]' \
'--inline[Render inline images when terminal protocol support is available]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-i[Render inline images when terminal protocol support is available]' \
'--inline[Render inline images when terminal protocol support is available]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__emoji__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-emoji-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(topic)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__topic_commands" \
"*::: :->topic" \
&& ret=0

    case $state in
    (topic)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-topic-command-$line[1]:"
        case $line[1] in
            (pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Destination file or directory (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Destination file or directory (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(sync)
_arguments "${_arguments_options[@]}" : \
'-y[Skip sync confirmation prompt]' \
'--yes[Skip sync confirmation prompt]' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(sy)
_arguments "${_arguments_options[@]}" : \
'-y[Skip sync confirmation prompt]' \
'--yes[Skip sync confirmation prompt]' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(reply)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(r)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
'-t+[Topic title]:TITLE:_default' \
'--title=[Topic title]:TITLE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category_id -- Target category ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(n)
_arguments "${_arguments_options[@]}" : \
'-t+[Topic title]:TITLE:_default' \
'--title=[Topic title]:TITLE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category_id -- Target category ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__topic__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-topic-help-command-$line[1]:"
        case $line[1] in
            (pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reply)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(t)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__topic_commands" \
"*::: :->topic" \
&& ret=0

    case $state in
    (topic)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-topic-command-$line[1]:"
        case $line[1] in
            (pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Destination file or directory (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Destination file or directory (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(sync)
_arguments "${_arguments_options[@]}" : \
'-y[Skip sync confirmation prompt]' \
'--yes[Skip sync confirmation prompt]' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(sy)
_arguments "${_arguments_options[@]}" : \
'-y[Skip sync confirmation prompt]' \
'--yes[Skip sync confirmation prompt]' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
':local_path -- Local Markdown file path:_files' \
&& ret=0
;;
(reply)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(r)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':topic_id -- Topic ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
'-t+[Topic title]:TITLE:_default' \
'--title=[Topic title]:TITLE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category_id -- Target category ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(n)
_arguments "${_arguments_options[@]}" : \
'-t+[Topic title]:TITLE:_default' \
'--title=[Topic title]:TITLE:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category_id -- Target category ID:_default' \
'::local_path -- Input file path. Reads stdin when omitted or `-`:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__topic__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-topic-help-command-$line[1]:"
        case $line[1] in
            (pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reply)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(category)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__category_commands" \
"*::: :->category" \
&& ret=0

    case $state in
    (category)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-category-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'--tree[Show category hierarchy tree]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'--tree[Show category hierarchy tree]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
&& ret=0
;;
(cp)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
'::local_path -- Destination directory (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
'::local_path -- Destination directory (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
':local_path -- Local directory containing Markdown files:_files' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
':local_path -- Local directory containing Markdown files:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__category__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-category-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cat)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__category_commands" \
"*::: :->category" \
&& ret=0

    case $state in
    (category)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-category-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'--tree[Show category hierarchy tree]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'--tree[Show category hierarchy tree]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
&& ret=0
;;
(cp)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
'::local_path -- Destination directory (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
'::local_path -- Destination directory (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
':local_path -- Local directory containing Markdown files:_files' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':category -- Category ID or slug:_default' \
':local_path -- Local directory containing Markdown files:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__category__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-category-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(group)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__group_commands" \
"*::: :->group" \
&& ret=0

    case $state in
    (group)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-group-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(members)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(m)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(cp)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__group__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-group-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(members)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(grp)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__group_commands" \
"*::: :->group" \
&& ret=0

    case $state in
    (group)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-group-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(members)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(m)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(cp)
_arguments "${_arguments_options[@]}" : \
'-t+[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'--target=[Target discourse name (defaults to source when omitted)]:TARGET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Source discourse name:_dsc_discourse_names' \
':group -- Group ID:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__group__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-group-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(members)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(backup)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__backup_commands" \
"*::: :->backup" \
&& ret=0

    case $state in
    (backup)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-backup-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(cr)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':backup_path -- Backup filename/path on the target system:_default' \
&& ret=0
;;
(rs)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':backup_path -- Backup filename/path on the target system:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__backup__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-backup-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(bk)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__backup_commands" \
"*::: :->backup" \
&& ret=0

    case $state in
    (backup)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-backup-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(cr)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
markdown\:"Markdown list"
markdown-table\:"Markdown table"
json\:"Pretty JSON"
yaml\:"YAML"
csv\:"CSV"
urls\:"One base URL per line (pipe-friendly)"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':backup_path -- Backup filename/path on the target system:_default' \
&& ret=0
;;
(rs)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':backup_path -- Backup filename/path on the target system:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__backup__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-backup-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(palette)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__palette_commands" \
"*::: :->palette" \
&& ret=0

    case $state in
    (palette)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-palette-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':palette_id -- Palette ID:_default' \
'::local_path -- Destination file path (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':palette_id -- Palette ID:_default' \
'::local_path -- Destination file path (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::palette_id -- Palette ID to update (creates a new palette when omitted):_default' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::palette_id -- Palette ID to update (creates a new palette when omitted):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__palette__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-palette-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(pal)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__palette_commands" \
"*::: :->palette" \
&& ret=0

    case $state in
    (palette)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-palette-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':palette_id -- Palette ID:_default' \
'::local_path -- Destination file path (auto-derived when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':palette_id -- Palette ID:_default' \
'::local_path -- Destination file path (auto-derived when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::palette_id -- Palette ID to update (creates a new palette when omitted):_default' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::palette_id -- Palette ID to update (creates a new palette when omitted):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__palette__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-palette-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(plugin)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-plugin-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Plugin repository URL:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Plugin repository URL:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Plugin name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Plugin name:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__plugin__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-plugin-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(plg)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-plugin-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Plugin repository URL:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Plugin repository URL:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Plugin name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Plugin name:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__plugin__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-plugin-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(theme)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__theme_commands" \
"*::: :->theme" \
&& ret=0

    case $state in
    (theme)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-theme-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Theme repository URL:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Theme repository URL:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Theme name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Theme name:_default' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID (from `dsc theme list`):_default' \
'::local_path -- Destination file path (auto-derived from theme name when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID (from `dsc theme list`):_default' \
'::local_path -- Destination file path (auto-derived from theme name when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::theme_id -- Theme ID to update (creates a new theme when omitted):_default' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::theme_id -- Theme ID to update (creates a new theme when omitted):_default' \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID to duplicate (from `dsc theme list`):_default' \
&& ret=0
;;
(dup)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID to duplicate (from `dsc theme list`):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__theme__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-theme-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(th)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__theme_commands" \
"*::: :->theme" \
&& ret=0

    case $state in
    (theme)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-theme-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Include additional fields where supported]' \
'--verbose[Include additional fields where supported]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Theme repository URL:_default' \
&& ret=0
;;
(i)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':url -- Theme repository URL:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Theme name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':name -- Theme name:_default' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID (from `dsc theme list`):_default' \
'::local_path -- Destination file path (auto-derived from theme name when omitted):_files' \
&& ret=0
;;
(pl)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID (from `dsc theme list`):_default' \
'::local_path -- Destination file path (auto-derived from theme name when omitted):_files' \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::theme_id -- Theme ID to update (creates a new theme when omitted):_default' \
&& ret=0
;;
(ps)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':local_path -- Local JSON file path:_files' \
'::theme_id -- Theme ID to update (creates a new theme when omitted):_default' \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID to duplicate (from `dsc theme list`):_default' \
&& ret=0
;;
(dup)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':theme_id -- Theme ID to duplicate (from `dsc theme list`):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__theme__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-theme-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(setting)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__setting_commands" \
"*::: :->setting" \
&& ret=0

    case $state in
    (setting)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-setting-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
'--tags=[Optional tag filter (comma/semicolon separated, match-any). Ignored when discourse is specified]:tag1,tag2:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name. Required when targeting a single discourse:_dsc_discourse_names' \
':setting -- Setting key:_default' \
':value -- Setting value:_default' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'--tags=[Optional tag filter (comma/semicolon separated, match-any). Ignored when discourse is specified]:tag1,tag2:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name. Required when targeting a single discourse:_dsc_discourse_names' \
':setting -- Setting key:_default' \
':value -- Setting value:_default' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':setting -- Setting key:_default' \
&& ret=0
;;
(g)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':setting -- Setting key:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Show output even when list is empty]' \
'--verbose[Show output even when list is empty]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Show output even when list is empty]' \
'--verbose[Show output even when list is empty]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__setting__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-setting-help-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__setting_commands" \
"*::: :->setting" \
&& ret=0

    case $state in
    (setting)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-setting-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
'--tags=[Optional tag filter (comma/semicolon separated, match-any). Ignored when discourse is specified]:tag1,tag2:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name. Required when targeting a single discourse:_dsc_discourse_names' \
':setting -- Setting key:_default' \
':value -- Setting value:_default' \
&& ret=0
;;
(s)
_arguments "${_arguments_options[@]}" : \
'--tags=[Optional tag filter (comma/semicolon separated, match-any). Ignored when discourse is specified]:tag1,tag2:_default' \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name. Required when targeting a single discourse:_dsc_discourse_names' \
':setting -- Setting key:_default' \
':value -- Setting value:_default' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':setting -- Setting key:_default' \
&& ret=0
;;
(g)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
':setting -- Setting key:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Show output even when list is empty]' \
'--verbose[Show output even when list is empty]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'-v[Show output even when list is empty]' \
'--verbose[Show output even when list is empty]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__setting__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-setting-help-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(open)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(o)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':discourse -- Discourse name:_dsc_discourse_names' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-config-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--skip-ssh[Skip the SSH reachability probe]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(ck)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--skip-ssh[Skip the SSH reachability probe]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-config-help-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cfg)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_dsc__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-config-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--skip-ssh[Skip the SSH reachability probe]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(ck)
_arguments "${_arguments_options[@]}" : \
'-f+[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--format=[Output format]:FORMAT:((text\:"Plain text"
json\:"Pretty JSON"
yaml\:"YAML"))' \
'--skip-ssh[Skip the SSH reachability probe]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-config-help-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'-d+[Output directory. Prints to stdout when omitted]:DIR:_files' \
'--dir=[Output directory. Prints to stdout when omitted]:DIR:_files' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Target shell:((bash\:"Bash shell"
zsh\:"Zsh shell"
fish\:"Fish shell"))' \
&& ret=0
;;
(comp)
_arguments "${_arguments_options[@]}" : \
'-d+[Output directory. Prints to stdout when omitted]:DIR:_files' \
'--dir=[Output directory. Prints to stdout when omitted]:DIR:_files' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Target shell:((bash\:"Bash shell"
zsh\:"Zsh shell"
fish\:"Fish shell"))' \
&& ret=0
;;
(version)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(ver)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (list)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-list-command-$line[1]:"
        case $line[1] in
            (tidy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(emoji)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__emoji_commands" \
"*::: :->emoji" \
&& ret=0

    case $state in
    (emoji)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-emoji-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(topic)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__topic_commands" \
"*::: :->topic" \
&& ret=0

    case $state in
    (topic)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-topic-command-$line[1]:"
        case $line[1] in
            (pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reply)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(category)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__category_commands" \
"*::: :->category" \
&& ret=0

    case $state in
    (category)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-category-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(group)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__group_commands" \
"*::: :->group" \
&& ret=0

    case $state in
    (group)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-group-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(members)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(copy)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(backup)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__backup_commands" \
"*::: :->backup" \
&& ret=0

    case $state in
    (backup)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-backup-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(restore)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(palette)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__palette_commands" \
"*::: :->palette" \
&& ret=0

    case $state in
    (palette)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-palette-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(plugin)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-plugin-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(theme)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__theme_commands" \
"*::: :->theme" \
&& ret=0

    case $state in
    (theme)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-theme-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(push)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(duplicate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(setting)
_arguments "${_arguments_options[@]}" : \
":: :_dsc__help__setting_commands" \
"*::: :->setting" \
&& ret=0

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

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dsc-help-config-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(version)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_dsc_commands] )) ||
_dsc_commands() {
    local commands; commands=(
'list:List configured Discourses' \
'ls:List configured Discourses' \
'add:Add one or more Discourses to the config' \
'a:Add one or more Discourses to the config' \
'import:Import Discourses from a file or stdin' \
'imp:Import Discourses from a file or stdin' \
'update:Run remote OS + Discourse update workflow for one or all Discourses' \
'up:Run remote OS + Discourse update workflow for one or all Discourses' \
'emoji:Manage custom emoji' \
'em:Manage custom emoji' \
'topic:Pull/push/sync topics as local Markdown' \
't:Pull/push/sync topics as local Markdown' \
'category:List/copy/pull/push categories' \
'cat:List/copy/pull/push categories' \
'group:List/inspect/copy groups' \
'grp:List/inspect/copy groups' \
'backup:Create/list/restore backups' \
'bk:Create/list/restore backups' \
'palette:List/pull/push color palettes' \
'pal:List/pull/push color palettes' \
'plugin:List/install/remove plugins' \
'plg:List/install/remove plugins' \
'theme:List/install/remove/pull/push/duplicate themes' \
'th:List/install/remove/pull/push/duplicate themes' \
'setting:Update site settings' \
'set:Update site settings' \
'open:Open a Discourse in the default browser' \
'o:Open a Discourse in the default browser' \
'config:Inspect and validate configuration' \
'cfg:Inspect and validate configuration' \
'completions:Generate shell completion scripts' \
'comp:Generate shell completion scripts' \
'version:Print the dsc version' \
'ver:Print the dsc version' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc commands' commands "$@"
}
(( $+functions[_dsc__add_commands] )) ||
_dsc__add_commands() {
    local commands; commands=()
    _describe -t commands 'dsc add commands' commands "$@"
}
(( $+functions[_dsc__backup_commands] )) ||
_dsc__backup_commands() {
    local commands; commands=(
'create:Create a new backup' \
'cr:Create a new backup' \
'list:List backups' \
'ls:List backups' \
'restore:Restore a backup' \
'rs:Restore a backup' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc backup commands' commands "$@"
}
(( $+functions[_dsc__backup__create_commands] )) ||
_dsc__backup__create_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup create commands' commands "$@"
}
(( $+functions[_dsc__backup__help_commands] )) ||
_dsc__backup__help_commands() {
    local commands; commands=(
'create:Create a new backup' \
'list:List backups' \
'restore:Restore a backup' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc backup help commands' commands "$@"
}
(( $+functions[_dsc__backup__help__create_commands] )) ||
_dsc__backup__help__create_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup help create commands' commands "$@"
}
(( $+functions[_dsc__backup__help__help_commands] )) ||
_dsc__backup__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup help help commands' commands "$@"
}
(( $+functions[_dsc__backup__help__list_commands] )) ||
_dsc__backup__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup help list commands' commands "$@"
}
(( $+functions[_dsc__backup__help__restore_commands] )) ||
_dsc__backup__help__restore_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup help restore commands' commands "$@"
}
(( $+functions[_dsc__backup__list_commands] )) ||
_dsc__backup__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup list commands' commands "$@"
}
(( $+functions[_dsc__backup__restore_commands] )) ||
_dsc__backup__restore_commands() {
    local commands; commands=()
    _describe -t commands 'dsc backup restore commands' commands "$@"
}
(( $+functions[_dsc__category_commands] )) ||
_dsc__category_commands() {
    local commands; commands=(
'list:List categories' \
'ls:List categories' \
'copy:Copy a category to another Discourse' \
'cp:Copy a category to another Discourse' \
'pull:Pull all topics from a category into local Markdown files' \
'pl:Pull all topics from a category into local Markdown files' \
'push:Push local Markdown files into a category' \
'ps:Push local Markdown files into a category' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc category commands' commands "$@"
}
(( $+functions[_dsc__category__copy_commands] )) ||
_dsc__category__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category copy commands' commands "$@"
}
(( $+functions[_dsc__category__help_commands] )) ||
_dsc__category__help_commands() {
    local commands; commands=(
'list:List categories' \
'copy:Copy a category to another Discourse' \
'pull:Pull all topics from a category into local Markdown files' \
'push:Push local Markdown files into a category' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc category help commands' commands "$@"
}
(( $+functions[_dsc__category__help__copy_commands] )) ||
_dsc__category__help__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category help copy commands' commands "$@"
}
(( $+functions[_dsc__category__help__help_commands] )) ||
_dsc__category__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category help help commands' commands "$@"
}
(( $+functions[_dsc__category__help__list_commands] )) ||
_dsc__category__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category help list commands' commands "$@"
}
(( $+functions[_dsc__category__help__pull_commands] )) ||
_dsc__category__help__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category help pull commands' commands "$@"
}
(( $+functions[_dsc__category__help__push_commands] )) ||
_dsc__category__help__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category help push commands' commands "$@"
}
(( $+functions[_dsc__category__list_commands] )) ||
_dsc__category__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category list commands' commands "$@"
}
(( $+functions[_dsc__category__pull_commands] )) ||
_dsc__category__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category pull commands' commands "$@"
}
(( $+functions[_dsc__category__push_commands] )) ||
_dsc__category__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc category push commands' commands "$@"
}
(( $+functions[_dsc__completions_commands] )) ||
_dsc__completions_commands() {
    local commands; commands=()
    _describe -t commands 'dsc completions commands' commands "$@"
}
(( $+functions[_dsc__config_commands] )) ||
_dsc__config_commands() {
    local commands; commands=(
'check:Probe each configured Discourse\: API auth and (optionally) SSH reachability' \
'ck:Probe each configured Discourse\: API auth and (optionally) SSH reachability' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc config commands' commands "$@"
}
(( $+functions[_dsc__config__check_commands] )) ||
_dsc__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'dsc config check commands' commands "$@"
}
(( $+functions[_dsc__config__help_commands] )) ||
_dsc__config__help_commands() {
    local commands; commands=(
'check:Probe each configured Discourse\: API auth and (optionally) SSH reachability' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc config help commands' commands "$@"
}
(( $+functions[_dsc__config__help__check_commands] )) ||
_dsc__config__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'dsc config help check commands' commands "$@"
}
(( $+functions[_dsc__config__help__help_commands] )) ||
_dsc__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc config help help commands' commands "$@"
}
(( $+functions[_dsc__emoji_commands] )) ||
_dsc__emoji_commands() {
    local commands; commands=(
'add:Upload one emoji file, or bulk-upload from a directory' \
'a:Upload one emoji file, or bulk-upload from a directory' \
'list:List custom emojis on a Discourse' \
'ls:List custom emojis on a Discourse' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc emoji commands' commands "$@"
}
(( $+functions[_dsc__emoji__add_commands] )) ||
_dsc__emoji__add_commands() {
    local commands; commands=()
    _describe -t commands 'dsc emoji add commands' commands "$@"
}
(( $+functions[_dsc__emoji__help_commands] )) ||
_dsc__emoji__help_commands() {
    local commands; commands=(
'add:Upload one emoji file, or bulk-upload from a directory' \
'list:List custom emojis on a Discourse' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc emoji help commands' commands "$@"
}
(( $+functions[_dsc__emoji__help__add_commands] )) ||
_dsc__emoji__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'dsc emoji help add commands' commands "$@"
}
(( $+functions[_dsc__emoji__help__help_commands] )) ||
_dsc__emoji__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc emoji help help commands' commands "$@"
}
(( $+functions[_dsc__emoji__help__list_commands] )) ||
_dsc__emoji__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc emoji help list commands' commands "$@"
}
(( $+functions[_dsc__emoji__list_commands] )) ||
_dsc__emoji__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc emoji list commands' commands "$@"
}
(( $+functions[_dsc__group_commands] )) ||
_dsc__group_commands() {
    local commands; commands=(
'list:List groups' \
'ls:List groups' \
'info:Show group details' \
'i:Show group details' \
'members:List members of a group' \
'm:List members of a group' \
'copy:Copy a group to another Discourse' \
'cp:Copy a group to another Discourse' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc group commands' commands "$@"
}
(( $+functions[_dsc__group__copy_commands] )) ||
_dsc__group__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group copy commands' commands "$@"
}
(( $+functions[_dsc__group__help_commands] )) ||
_dsc__group__help_commands() {
    local commands; commands=(
'list:List groups' \
'info:Show group details' \
'members:List members of a group' \
'copy:Copy a group to another Discourse' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc group help commands' commands "$@"
}
(( $+functions[_dsc__group__help__copy_commands] )) ||
_dsc__group__help__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group help copy commands' commands "$@"
}
(( $+functions[_dsc__group__help__help_commands] )) ||
_dsc__group__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group help help commands' commands "$@"
}
(( $+functions[_dsc__group__help__info_commands] )) ||
_dsc__group__help__info_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group help info commands' commands "$@"
}
(( $+functions[_dsc__group__help__list_commands] )) ||
_dsc__group__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group help list commands' commands "$@"
}
(( $+functions[_dsc__group__help__members_commands] )) ||
_dsc__group__help__members_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group help members commands' commands "$@"
}
(( $+functions[_dsc__group__info_commands] )) ||
_dsc__group__info_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group info commands' commands "$@"
}
(( $+functions[_dsc__group__list_commands] )) ||
_dsc__group__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group list commands' commands "$@"
}
(( $+functions[_dsc__group__members_commands] )) ||
_dsc__group__members_commands() {
    local commands; commands=()
    _describe -t commands 'dsc group members commands' commands "$@"
}
(( $+functions[_dsc__help_commands] )) ||
_dsc__help_commands() {
    local commands; commands=(
'list:List configured Discourses' \
'add:Add one or more Discourses to the config' \
'import:Import Discourses from a file or stdin' \
'update:Run remote OS + Discourse update workflow for one or all Discourses' \
'emoji:Manage custom emoji' \
'topic:Pull/push/sync topics as local Markdown' \
'category:List/copy/pull/push categories' \
'group:List/inspect/copy groups' \
'backup:Create/list/restore backups' \
'palette:List/pull/push color palettes' \
'plugin:List/install/remove plugins' \
'theme:List/install/remove/pull/push/duplicate themes' \
'setting:Update site settings' \
'open:Open a Discourse in the default browser' \
'config:Inspect and validate configuration' \
'completions:Generate shell completion scripts' \
'version:Print the dsc version' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc help commands' commands "$@"
}
(( $+functions[_dsc__help__add_commands] )) ||
_dsc__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help add commands' commands "$@"
}
(( $+functions[_dsc__help__backup_commands] )) ||
_dsc__help__backup_commands() {
    local commands; commands=(
'create:Create a new backup' \
'list:List backups' \
'restore:Restore a backup' \
    )
    _describe -t commands 'dsc help backup commands' commands "$@"
}
(( $+functions[_dsc__help__backup__create_commands] )) ||
_dsc__help__backup__create_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help backup create commands' commands "$@"
}
(( $+functions[_dsc__help__backup__list_commands] )) ||
_dsc__help__backup__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help backup list commands' commands "$@"
}
(( $+functions[_dsc__help__backup__restore_commands] )) ||
_dsc__help__backup__restore_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help backup restore commands' commands "$@"
}
(( $+functions[_dsc__help__category_commands] )) ||
_dsc__help__category_commands() {
    local commands; commands=(
'list:List categories' \
'copy:Copy a category to another Discourse' \
'pull:Pull all topics from a category into local Markdown files' \
'push:Push local Markdown files into a category' \
    )
    _describe -t commands 'dsc help category commands' commands "$@"
}
(( $+functions[_dsc__help__category__copy_commands] )) ||
_dsc__help__category__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help category copy commands' commands "$@"
}
(( $+functions[_dsc__help__category__list_commands] )) ||
_dsc__help__category__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help category list commands' commands "$@"
}
(( $+functions[_dsc__help__category__pull_commands] )) ||
_dsc__help__category__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help category pull commands' commands "$@"
}
(( $+functions[_dsc__help__category__push_commands] )) ||
_dsc__help__category__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help category push commands' commands "$@"
}
(( $+functions[_dsc__help__completions_commands] )) ||
_dsc__help__completions_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help completions commands' commands "$@"
}
(( $+functions[_dsc__help__config_commands] )) ||
_dsc__help__config_commands() {
    local commands; commands=(
'check:Probe each configured Discourse\: API auth and (optionally) SSH reachability' \
    )
    _describe -t commands 'dsc help config commands' commands "$@"
}
(( $+functions[_dsc__help__config__check_commands] )) ||
_dsc__help__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help config check commands' commands "$@"
}
(( $+functions[_dsc__help__emoji_commands] )) ||
_dsc__help__emoji_commands() {
    local commands; commands=(
'add:Upload one emoji file, or bulk-upload from a directory' \
'list:List custom emojis on a Discourse' \
    )
    _describe -t commands 'dsc help emoji commands' commands "$@"
}
(( $+functions[_dsc__help__emoji__add_commands] )) ||
_dsc__help__emoji__add_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help emoji add commands' commands "$@"
}
(( $+functions[_dsc__help__emoji__list_commands] )) ||
_dsc__help__emoji__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help emoji list commands' commands "$@"
}
(( $+functions[_dsc__help__group_commands] )) ||
_dsc__help__group_commands() {
    local commands; commands=(
'list:List groups' \
'info:Show group details' \
'members:List members of a group' \
'copy:Copy a group to another Discourse' \
    )
    _describe -t commands 'dsc help group commands' commands "$@"
}
(( $+functions[_dsc__help__group__copy_commands] )) ||
_dsc__help__group__copy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help group copy commands' commands "$@"
}
(( $+functions[_dsc__help__group__info_commands] )) ||
_dsc__help__group__info_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help group info commands' commands "$@"
}
(( $+functions[_dsc__help__group__list_commands] )) ||
_dsc__help__group__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help group list commands' commands "$@"
}
(( $+functions[_dsc__help__group__members_commands] )) ||
_dsc__help__group__members_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help group members commands' commands "$@"
}
(( $+functions[_dsc__help__help_commands] )) ||
_dsc__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help help commands' commands "$@"
}
(( $+functions[_dsc__help__import_commands] )) ||
_dsc__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help import commands' commands "$@"
}
(( $+functions[_dsc__help__list_commands] )) ||
_dsc__help__list_commands() {
    local commands; commands=(
'tidy:Sort discourse entries by name and rewrite config in-place. Also inserts placeholder values for unset template keys' \
    )
    _describe -t commands 'dsc help list commands' commands "$@"
}
(( $+functions[_dsc__help__list__tidy_commands] )) ||
_dsc__help__list__tidy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help list tidy commands' commands "$@"
}
(( $+functions[_dsc__help__open_commands] )) ||
_dsc__help__open_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help open commands' commands "$@"
}
(( $+functions[_dsc__help__palette_commands] )) ||
_dsc__help__palette_commands() {
    local commands; commands=(
'list:List color palettes' \
'pull:Pull a palette to local JSON' \
'push:Push local JSON to create or update a palette' \
    )
    _describe -t commands 'dsc help palette commands' commands "$@"
}
(( $+functions[_dsc__help__palette__list_commands] )) ||
_dsc__help__palette__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help palette list commands' commands "$@"
}
(( $+functions[_dsc__help__palette__pull_commands] )) ||
_dsc__help__palette__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help palette pull commands' commands "$@"
}
(( $+functions[_dsc__help__palette__push_commands] )) ||
_dsc__help__palette__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help palette push commands' commands "$@"
}
(( $+functions[_dsc__help__plugin_commands] )) ||
_dsc__help__plugin_commands() {
    local commands; commands=(
'list:List installed plugins' \
'install:Install a plugin from URL' \
'remove:Remove a plugin by name' \
    )
    _describe -t commands 'dsc help plugin commands' commands "$@"
}
(( $+functions[_dsc__help__plugin__install_commands] )) ||
_dsc__help__plugin__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help plugin install commands' commands "$@"
}
(( $+functions[_dsc__help__plugin__list_commands] )) ||
_dsc__help__plugin__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help plugin list commands' commands "$@"
}
(( $+functions[_dsc__help__plugin__remove_commands] )) ||
_dsc__help__plugin__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help plugin remove commands' commands "$@"
}
(( $+functions[_dsc__help__setting_commands] )) ||
_dsc__help__setting_commands() {
    local commands; commands=(
'set:Set a site setting on a Discourse (or all tagged Discourses)' \
'get:Get the current value of a site setting' \
'list:List all site settings' \
    )
    _describe -t commands 'dsc help setting commands' commands "$@"
}
(( $+functions[_dsc__help__setting__get_commands] )) ||
_dsc__help__setting__get_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help setting get commands' commands "$@"
}
(( $+functions[_dsc__help__setting__list_commands] )) ||
_dsc__help__setting__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help setting list commands' commands "$@"
}
(( $+functions[_dsc__help__setting__set_commands] )) ||
_dsc__help__setting__set_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help setting set commands' commands "$@"
}
(( $+functions[_dsc__help__theme_commands] )) ||
_dsc__help__theme_commands() {
    local commands; commands=(
'list:List installed themes' \
'install:Install a theme from URL' \
'remove:Remove a theme by name' \
'pull:Pull a theme to a local JSON file' \
'push:Push a local JSON file to create or update a theme' \
'duplicate:Duplicate a theme and print the new theme ID' \
    )
    _describe -t commands 'dsc help theme commands' commands "$@"
}
(( $+functions[_dsc__help__theme__duplicate_commands] )) ||
_dsc__help__theme__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme duplicate commands' commands "$@"
}
(( $+functions[_dsc__help__theme__install_commands] )) ||
_dsc__help__theme__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme install commands' commands "$@"
}
(( $+functions[_dsc__help__theme__list_commands] )) ||
_dsc__help__theme__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme list commands' commands "$@"
}
(( $+functions[_dsc__help__theme__pull_commands] )) ||
_dsc__help__theme__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme pull commands' commands "$@"
}
(( $+functions[_dsc__help__theme__push_commands] )) ||
_dsc__help__theme__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme push commands' commands "$@"
}
(( $+functions[_dsc__help__theme__remove_commands] )) ||
_dsc__help__theme__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help theme remove commands' commands "$@"
}
(( $+functions[_dsc__help__topic_commands] )) ||
_dsc__help__topic_commands() {
    local commands; commands=(
'pull:Pull a topic to a local Markdown file' \
'push:Push a local Markdown file to a topic' \
'sync:Sync a topic and local Markdown file using newest timestamp' \
'reply:Reply to a topic with content from a file or stdin' \
'new:Create a new topic in a category, body from a file or stdin' \
    )
    _describe -t commands 'dsc help topic commands' commands "$@"
}
(( $+functions[_dsc__help__topic__new_commands] )) ||
_dsc__help__topic__new_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help topic new commands' commands "$@"
}
(( $+functions[_dsc__help__topic__pull_commands] )) ||
_dsc__help__topic__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help topic pull commands' commands "$@"
}
(( $+functions[_dsc__help__topic__push_commands] )) ||
_dsc__help__topic__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help topic push commands' commands "$@"
}
(( $+functions[_dsc__help__topic__reply_commands] )) ||
_dsc__help__topic__reply_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help topic reply commands' commands "$@"
}
(( $+functions[_dsc__help__topic__sync_commands] )) ||
_dsc__help__topic__sync_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help topic sync commands' commands "$@"
}
(( $+functions[_dsc__help__update_commands] )) ||
_dsc__help__update_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help update commands' commands "$@"
}
(( $+functions[_dsc__help__version_commands] )) ||
_dsc__help__version_commands() {
    local commands; commands=()
    _describe -t commands 'dsc help version commands' commands "$@"
}
(( $+functions[_dsc__import_commands] )) ||
_dsc__import_commands() {
    local commands; commands=()
    _describe -t commands 'dsc import commands' commands "$@"
}
(( $+functions[_dsc__list_commands] )) ||
_dsc__list_commands() {
    local commands; commands=(
'tidy:Sort discourse entries by name and rewrite config in-place. Also inserts placeholder values for unset template keys' \
'ty:Sort discourse entries by name and rewrite config in-place. Also inserts placeholder values for unset template keys' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc list commands' commands "$@"
}
(( $+functions[_dsc__list__help_commands] )) ||
_dsc__list__help_commands() {
    local commands; commands=(
'tidy:Sort discourse entries by name and rewrite config in-place. Also inserts placeholder values for unset template keys' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc list help commands' commands "$@"
}
(( $+functions[_dsc__list__help__help_commands] )) ||
_dsc__list__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc list help help commands' commands "$@"
}
(( $+functions[_dsc__list__help__tidy_commands] )) ||
_dsc__list__help__tidy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc list help tidy commands' commands "$@"
}
(( $+functions[_dsc__list__tidy_commands] )) ||
_dsc__list__tidy_commands() {
    local commands; commands=()
    _describe -t commands 'dsc list tidy commands' commands "$@"
}
(( $+functions[_dsc__open_commands] )) ||
_dsc__open_commands() {
    local commands; commands=()
    _describe -t commands 'dsc open commands' commands "$@"
}
(( $+functions[_dsc__palette_commands] )) ||
_dsc__palette_commands() {
    local commands; commands=(
'list:List color palettes' \
'ls:List color palettes' \
'pull:Pull a palette to local JSON' \
'pl:Pull a palette to local JSON' \
'push:Push local JSON to create or update a palette' \
'ps:Push local JSON to create or update a palette' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc palette commands' commands "$@"
}
(( $+functions[_dsc__palette__help_commands] )) ||
_dsc__palette__help_commands() {
    local commands; commands=(
'list:List color palettes' \
'pull:Pull a palette to local JSON' \
'push:Push local JSON to create or update a palette' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc palette help commands' commands "$@"
}
(( $+functions[_dsc__palette__help__help_commands] )) ||
_dsc__palette__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette help help commands' commands "$@"
}
(( $+functions[_dsc__palette__help__list_commands] )) ||
_dsc__palette__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette help list commands' commands "$@"
}
(( $+functions[_dsc__palette__help__pull_commands] )) ||
_dsc__palette__help__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette help pull commands' commands "$@"
}
(( $+functions[_dsc__palette__help__push_commands] )) ||
_dsc__palette__help__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette help push commands' commands "$@"
}
(( $+functions[_dsc__palette__list_commands] )) ||
_dsc__palette__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette list commands' commands "$@"
}
(( $+functions[_dsc__palette__pull_commands] )) ||
_dsc__palette__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette pull commands' commands "$@"
}
(( $+functions[_dsc__palette__push_commands] )) ||
_dsc__palette__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc palette push commands' commands "$@"
}
(( $+functions[_dsc__plugin_commands] )) ||
_dsc__plugin_commands() {
    local commands; commands=(
'list:List installed plugins' \
'ls:List installed plugins' \
'install:Install a plugin from URL' \
'i:Install a plugin from URL' \
'remove:Remove a plugin by name' \
'rm:Remove a plugin by name' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc plugin commands' commands "$@"
}
(( $+functions[_dsc__plugin__help_commands] )) ||
_dsc__plugin__help_commands() {
    local commands; commands=(
'list:List installed plugins' \
'install:Install a plugin from URL' \
'remove:Remove a plugin by name' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc plugin help commands' commands "$@"
}
(( $+functions[_dsc__plugin__help__help_commands] )) ||
_dsc__plugin__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin help help commands' commands "$@"
}
(( $+functions[_dsc__plugin__help__install_commands] )) ||
_dsc__plugin__help__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin help install commands' commands "$@"
}
(( $+functions[_dsc__plugin__help__list_commands] )) ||
_dsc__plugin__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin help list commands' commands "$@"
}
(( $+functions[_dsc__plugin__help__remove_commands] )) ||
_dsc__plugin__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin help remove commands' commands "$@"
}
(( $+functions[_dsc__plugin__install_commands] )) ||
_dsc__plugin__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin install commands' commands "$@"
}
(( $+functions[_dsc__plugin__list_commands] )) ||
_dsc__plugin__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin list commands' commands "$@"
}
(( $+functions[_dsc__plugin__remove_commands] )) ||
_dsc__plugin__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc plugin remove commands' commands "$@"
}
(( $+functions[_dsc__setting_commands] )) ||
_dsc__setting_commands() {
    local commands; commands=(
'set:Set a site setting on a Discourse (or all tagged Discourses)' \
's:Set a site setting on a Discourse (or all tagged Discourses)' \
'get:Get the current value of a site setting' \
'g:Get the current value of a site setting' \
'list:List all site settings' \
'ls:List all site settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc setting commands' commands "$@"
}
(( $+functions[_dsc__setting__get_commands] )) ||
_dsc__setting__get_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting get commands' commands "$@"
}
(( $+functions[_dsc__setting__help_commands] )) ||
_dsc__setting__help_commands() {
    local commands; commands=(
'set:Set a site setting on a Discourse (or all tagged Discourses)' \
'get:Get the current value of a site setting' \
'list:List all site settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc setting help commands' commands "$@"
}
(( $+functions[_dsc__setting__help__get_commands] )) ||
_dsc__setting__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting help get commands' commands "$@"
}
(( $+functions[_dsc__setting__help__help_commands] )) ||
_dsc__setting__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting help help commands' commands "$@"
}
(( $+functions[_dsc__setting__help__list_commands] )) ||
_dsc__setting__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting help list commands' commands "$@"
}
(( $+functions[_dsc__setting__help__set_commands] )) ||
_dsc__setting__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting help set commands' commands "$@"
}
(( $+functions[_dsc__setting__list_commands] )) ||
_dsc__setting__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting list commands' commands "$@"
}
(( $+functions[_dsc__setting__set_commands] )) ||
_dsc__setting__set_commands() {
    local commands; commands=()
    _describe -t commands 'dsc setting set commands' commands "$@"
}
(( $+functions[_dsc__theme_commands] )) ||
_dsc__theme_commands() {
    local commands; commands=(
'list:List installed themes' \
'ls:List installed themes' \
'install:Install a theme from URL' \
'i:Install a theme from URL' \
'remove:Remove a theme by name' \
'rm:Remove a theme by name' \
'pull:Pull a theme to a local JSON file' \
'pl:Pull a theme to a local JSON file' \
'push:Push a local JSON file to create or update a theme' \
'ps:Push a local JSON file to create or update a theme' \
'duplicate:Duplicate a theme and print the new theme ID' \
'dup:Duplicate a theme and print the new theme ID' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc theme commands' commands "$@"
}
(( $+functions[_dsc__theme__duplicate_commands] )) ||
_dsc__theme__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme duplicate commands' commands "$@"
}
(( $+functions[_dsc__theme__help_commands] )) ||
_dsc__theme__help_commands() {
    local commands; commands=(
'list:List installed themes' \
'install:Install a theme from URL' \
'remove:Remove a theme by name' \
'pull:Pull a theme to a local JSON file' \
'push:Push a local JSON file to create or update a theme' \
'duplicate:Duplicate a theme and print the new theme ID' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc theme help commands' commands "$@"
}
(( $+functions[_dsc__theme__help__duplicate_commands] )) ||
_dsc__theme__help__duplicate_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help duplicate commands' commands "$@"
}
(( $+functions[_dsc__theme__help__help_commands] )) ||
_dsc__theme__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help help commands' commands "$@"
}
(( $+functions[_dsc__theme__help__install_commands] )) ||
_dsc__theme__help__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help install commands' commands "$@"
}
(( $+functions[_dsc__theme__help__list_commands] )) ||
_dsc__theme__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help list commands' commands "$@"
}
(( $+functions[_dsc__theme__help__pull_commands] )) ||
_dsc__theme__help__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help pull commands' commands "$@"
}
(( $+functions[_dsc__theme__help__push_commands] )) ||
_dsc__theme__help__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help push commands' commands "$@"
}
(( $+functions[_dsc__theme__help__remove_commands] )) ||
_dsc__theme__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme help remove commands' commands "$@"
}
(( $+functions[_dsc__theme__install_commands] )) ||
_dsc__theme__install_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme install commands' commands "$@"
}
(( $+functions[_dsc__theme__list_commands] )) ||
_dsc__theme__list_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme list commands' commands "$@"
}
(( $+functions[_dsc__theme__pull_commands] )) ||
_dsc__theme__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme pull commands' commands "$@"
}
(( $+functions[_dsc__theme__push_commands] )) ||
_dsc__theme__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme push commands' commands "$@"
}
(( $+functions[_dsc__theme__remove_commands] )) ||
_dsc__theme__remove_commands() {
    local commands; commands=()
    _describe -t commands 'dsc theme remove commands' commands "$@"
}
(( $+functions[_dsc__topic_commands] )) ||
_dsc__topic_commands() {
    local commands; commands=(
'pull:Pull a topic to a local Markdown file' \
'pl:Pull a topic to a local Markdown file' \
'push:Push a local Markdown file to a topic' \
'ps:Push a local Markdown file to a topic' \
'sync:Sync a topic and local Markdown file using newest timestamp' \
'sy:Sync a topic and local Markdown file using newest timestamp' \
'reply:Reply to a topic with content from a file or stdin' \
'r:Reply to a topic with content from a file or stdin' \
'new:Create a new topic in a category, body from a file or stdin' \
'n:Create a new topic in a category, body from a file or stdin' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc topic commands' commands "$@"
}
(( $+functions[_dsc__topic__help_commands] )) ||
_dsc__topic__help_commands() {
    local commands; commands=(
'pull:Pull a topic to a local Markdown file' \
'push:Push a local Markdown file to a topic' \
'sync:Sync a topic and local Markdown file using newest timestamp' \
'reply:Reply to a topic with content from a file or stdin' \
'new:Create a new topic in a category, body from a file or stdin' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dsc topic help commands' commands "$@"
}
(( $+functions[_dsc__topic__help__help_commands] )) ||
_dsc__topic__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help help commands' commands "$@"
}
(( $+functions[_dsc__topic__help__new_commands] )) ||
_dsc__topic__help__new_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help new commands' commands "$@"
}
(( $+functions[_dsc__topic__help__pull_commands] )) ||
_dsc__topic__help__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help pull commands' commands "$@"
}
(( $+functions[_dsc__topic__help__push_commands] )) ||
_dsc__topic__help__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help push commands' commands "$@"
}
(( $+functions[_dsc__topic__help__reply_commands] )) ||
_dsc__topic__help__reply_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help reply commands' commands "$@"
}
(( $+functions[_dsc__topic__help__sync_commands] )) ||
_dsc__topic__help__sync_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic help sync commands' commands "$@"
}
(( $+functions[_dsc__topic__new_commands] )) ||
_dsc__topic__new_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic new commands' commands "$@"
}
(( $+functions[_dsc__topic__pull_commands] )) ||
_dsc__topic__pull_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic pull commands' commands "$@"
}
(( $+functions[_dsc__topic__push_commands] )) ||
_dsc__topic__push_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic push commands' commands "$@"
}
(( $+functions[_dsc__topic__reply_commands] )) ||
_dsc__topic__reply_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic reply commands' commands "$@"
}
(( $+functions[_dsc__topic__sync_commands] )) ||
_dsc__topic__sync_commands() {
    local commands; commands=()
    _describe -t commands 'dsc topic sync commands' commands "$@"
}
(( $+functions[_dsc__update_commands] )) ||
_dsc__update_commands() {
    local commands; commands=()
    _describe -t commands 'dsc update commands' commands "$@"
}
(( $+functions[_dsc__version_commands] )) ||
_dsc__version_commands() {
    local commands; commands=()
    _describe -t commands 'dsc version commands' commands "$@"
}

if [ "$funcstack[1]" = "_dsc" ]; then
    _dsc "$@"
else
    compdef _dsc dsc
fi
