#compdef gum
# zsh completion for gum
# generated by gum completion

_gum_choose() {
    _arguments -C \
        "--limit=[Maximum number of options to pick]:maximum number of options to pick:" \
        "--no-limit[Pick unlimited number of options (ignores limit)]" \
        "--height=[Height of the list]:height of the list:" \
        "--cursor=[Prefix to show on item that corresponds to the cursor position]:prefix to show on item that corresponds to the cursor position:" \
        "--cursor-prefix=[Prefix to show on the cursor item (hidden if limit is 1)]:prefix to show on the cursor item (hidden if limit is 1):" \
        "--selected-prefix=[Prefix to show on selected items (hidden if limit is 1)]:prefix to show on selected items (hidden if limit is 1):" \
        "--unselected-prefix=[Prefix to show on unselected items (hidden if limit is 1)]:prefix to show on unselected items (hidden if limit is 1):" \
        "--selected=[Options that should start as selected]:options that should start as selected:" \
        "--cursor.background=[Background Color]:background color:" \
        "--cursor.foreground=[Foreground Color]:foreground color:" \
        "--cursor.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor.border-background=[Border Background Color]:border background color:" \
        "--cursor.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor.height=[Text height]:text height:" \
        "--cursor.width=[Text width]:text width:" \
        "--cursor.margin=[Text margin]:text margin:" \
        "--cursor.padding=[Text padding]:text padding:" \
        "--cursor.bold[Bold text]" \
        "--cursor.faint[Faint text]" \
        "--cursor.italic[Italicize text]" \
        "--cursor.strikethrough[Strikethrough text]" \
        "--cursor.underline[Underline text]" \
        "--item.background=[Background Color]:background color:" \
        "--item.foreground=[Foreground Color]:foreground color:" \
        "--item.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--item.border-background=[Border Background Color]:border background color:" \
        "--item.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--item.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--item.height=[Text height]:text height:" \
        "--item.width=[Text width]:text width:" \
        "--item.margin=[Text margin]:text margin:" \
        "--item.padding=[Text padding]:text padding:" \
        "--item.bold[Bold text]" \
        "--item.faint[Faint text]" \
        "--item.italic[Italicize text]" \
        "--item.strikethrough[Strikethrough text]" \
        "--item.underline[Underline text]" \
        "--selected.background=[Background Color]:background color:" \
        "--selected.foreground=[Foreground Color]:foreground color:" \
        "--selected.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--selected.border-background=[Border Background Color]:border background color:" \
        "--selected.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--selected.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--selected.height=[Text height]:text height:" \
        "--selected.width=[Text width]:text width:" \
        "--selected.margin=[Text margin]:text margin:" \
        "--selected.padding=[Text padding]:text padding:" \
        "--selected.bold[Bold text]" \
        "--selected.faint[Faint text]" \
        "--selected.italic[Italicize text]" \
        "--selected.strikethrough[Strikethrough text]" \
        "--selected.underline[Underline text]"
}

_gum_confirm() {
    _arguments -C \
        "--affirmative=[The title of the affirmative action]:the title of the affirmative action:" \
        "--negative=[The title of the negative action]:the title of the negative action:" \
        "--default[Default confirmation action]" \
        "--timeout=[Timeout for confirmation]:timeout for confirmation:" \
        "--prompt.background=[Background Color]:background color:" \
        "--prompt.foreground=[Foreground Color]:foreground color:" \
        "--prompt.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--prompt.border-background=[Border Background Color]:border background color:" \
        "--prompt.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--prompt.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--prompt.height=[Text height]:text height:" \
        "--prompt.width=[Text width]:text width:" \
        "--prompt.margin=[Text margin]:text margin:" \
        "--prompt.padding=[Text padding]:text padding:" \
        "--prompt.bold[Bold text]" \
        "--prompt.faint[Faint text]" \
        "--prompt.italic[Italicize text]" \
        "--prompt.strikethrough[Strikethrough text]" \
        "--prompt.underline[Underline text]" \
        "--selected.background=[Background Color]:background color:" \
        "--selected.foreground=[Foreground Color]:foreground color:" \
        "--selected.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--selected.border-background=[Border Background Color]:border background color:" \
        "--selected.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--selected.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--selected.height=[Text height]:text height:" \
        "--selected.width=[Text width]:text width:" \
        "--selected.margin=[Text margin]:text margin:" \
        "--selected.padding=[Text padding]:text padding:" \
        "--selected.bold[Bold text]" \
        "--selected.faint[Faint text]" \
        "--selected.italic[Italicize text]" \
        "--selected.strikethrough[Strikethrough text]" \
        "--selected.underline[Underline text]" \
        "--unselected.background=[Background Color]:background color:" \
        "--unselected.foreground=[Foreground Color]:foreground color:" \
        "--unselected.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--unselected.border-background=[Border Background Color]:border background color:" \
        "--unselected.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--unselected.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--unselected.height=[Text height]:text height:" \
        "--unselected.width=[Text width]:text width:" \
        "--unselected.margin=[Text margin]:text margin:" \
        "--unselected.padding=[Text padding]:text padding:" \
        "--unselected.bold[Bold text]" \
        "--unselected.faint[Faint text]" \
        "--unselected.italic[Italicize text]" \
        "--unselected.strikethrough[Strikethrough text]" \
        "--unselected.underline[Underline text]"
}

_gum_file() {
    _arguments -C \
        '(-c --cursor=)'{-c,--cursor=}"[The cursor character]:the cursor character:" \
        '(-a --all)'{-a,--all}"[Show hidden and 'dot' files]" \
        "--file[Allow files selection]" \
        "--directory[Allow directories selection]" \
        "--height=[Maximum number of files to display]:maximum number of files to display:" \
        "--cursor.background=[Background Color]:background color:" \
        "--cursor.foreground=[Foreground Color]:foreground color:" \
        "--cursor.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor.border-background=[Border Background Color]:border background color:" \
        "--cursor.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor.height=[Text height]:text height:" \
        "--cursor.width=[Text width]:text width:" \
        "--cursor.margin=[Text margin]:text margin:" \
        "--cursor.padding=[Text padding]:text padding:" \
        "--cursor.bold[Bold text]" \
        "--cursor.faint[Faint text]" \
        "--cursor.italic[Italicize text]" \
        "--cursor.strikethrough[Strikethrough text]" \
        "--cursor.underline[Underline text]" \
        "--symlink.background=[Background Color]:background color:" \
        "--symlink.foreground=[Foreground Color]:foreground color:" \
        "--symlink.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--symlink.border-background=[Border Background Color]:border background color:" \
        "--symlink.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--symlink.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--symlink.height=[Text height]:text height:" \
        "--symlink.width=[Text width]:text width:" \
        "--symlink.margin=[Text margin]:text margin:" \
        "--symlink.padding=[Text padding]:text padding:" \
        "--symlink.bold[Bold text]" \
        "--symlink.faint[Faint text]" \
        "--symlink.italic[Italicize text]" \
        "--symlink.strikethrough[Strikethrough text]" \
        "--symlink.underline[Underline text]" \
        "--directory.background=[Background Color]:background color:" \
        "--directory.foreground=[Foreground Color]:foreground color:" \
        "--directory.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--directory.border-background=[Border Background Color]:border background color:" \
        "--directory.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--directory.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--directory.height=[Text height]:text height:" \
        "--directory.width=[Text width]:text width:" \
        "--directory.margin=[Text margin]:text margin:" \
        "--directory.padding=[Text padding]:text padding:" \
        "--directory.bold[Bold text]" \
        "--directory.faint[Faint text]" \
        "--directory.italic[Italicize text]" \
        "--directory.strikethrough[Strikethrough text]" \
        "--directory.underline[Underline text]" \
        "--file.background=[Background Color]:background color:" \
        "--file.foreground=[Foreground Color]:foreground color:" \
        "--file.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--file.border-background=[Border Background Color]:border background color:" \
        "--file.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--file.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--file.height=[Text height]:text height:" \
        "--file.width=[Text width]:text width:" \
        "--file.margin=[Text margin]:text margin:" \
        "--file.padding=[Text padding]:text padding:" \
        "--file.bold[Bold text]" \
        "--file.faint[Faint text]" \
        "--file.italic[Italicize text]" \
        "--file.strikethrough[Strikethrough text]" \
        "--file.underline[Underline text]" \
        "--permissions.background=[Background Color]:background color:" \
        "--permissions.foreground=[Foreground Color]:foreground color:" \
        "--permissions.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--permissions.border-background=[Border Background Color]:border background color:" \
        "--permissions.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--permissions.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--permissions.height=[Text height]:text height:" \
        "--permissions.width=[Text width]:text width:" \
        "--permissions.margin=[Text margin]:text margin:" \
        "--permissions.padding=[Text padding]:text padding:" \
        "--permissions.bold[Bold text]" \
        "--permissions.faint[Faint text]" \
        "--permissions.italic[Italicize text]" \
        "--permissions.strikethrough[Strikethrough text]" \
        "--permissions.underline[Underline text]" \
        "--selected.background=[Background Color]:background color:" \
        "--selected.foreground=[Foreground Color]:foreground color:" \
        "--selected.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--selected.border-background=[Border Background Color]:border background color:" \
        "--selected.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--selected.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--selected.height=[Text height]:text height:" \
        "--selected.width=[Text width]:text width:" \
        "--selected.margin=[Text margin]:text margin:" \
        "--selected.padding=[Text padding]:text padding:" \
        "--selected.bold[Bold text]" \
        "--selected.faint[Faint text]" \
        "--selected.italic[Italicize text]" \
        "--selected.strikethrough[Strikethrough text]" \
        "--selected.underline[Underline text]" \
        "--file-size.background=[Background Color]:background color:" \
        "--file-size.foreground=[Foreground Color]:foreground color:" \
        "--file-size.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--file-size.border-background=[Border Background Color]:border background color:" \
        "--file-size.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--file-size.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--file-size.height=[Text height]:text height:" \
        "--file-size.width=[Text width]:text width:" \
        "--file-size.margin=[Text margin]:text margin:" \
        "--file-size.padding=[Text padding]:text padding:" \
        "--file-size.bold[Bold text]" \
        "--file-size.faint[Faint text]" \
        "--file-size.italic[Italicize text]" \
        "--file-size.strikethrough[Strikethrough text]" \
        "--file-size.underline[Underline text]"
}

_gum_filter() {
    _arguments -C \
        "--indicator=[Character for selection]:character for selection:" \
        "--indicator.background=[Background Color]:background color:" \
        "--indicator.foreground=[Foreground Color]:foreground color:" \
        "--indicator.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--indicator.border-background=[Border Background Color]:border background color:" \
        "--indicator.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--indicator.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--indicator.height=[Text height]:text height:" \
        "--indicator.width=[Text width]:text width:" \
        "--indicator.margin=[Text margin]:text margin:" \
        "--indicator.padding=[Text padding]:text padding:" \
        "--indicator.bold[Bold text]" \
        "--indicator.faint[Faint text]" \
        "--indicator.italic[Italicize text]" \
        "--indicator.strikethrough[Strikethrough text]" \
        "--indicator.underline[Underline text]" \
        "--limit=[Maximum number of options to pick]:maximum number of options to pick:" \
        "--no-limit[Pick unlimited number of options (ignores limit)]" \
        "--strict[Only returns if anything matched. Otherwise return Filter]" \
        "--selected-prefix=[Character to indicate selected items (hidden if limit is 1)]:character to indicate selected items (hidden if limit is 1):" \
        "--selected-indicator.background=[Background Color]:background color:" \
        "--selected-indicator.foreground=[Foreground Color]:foreground color:" \
        "--selected-indicator.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--selected-indicator.border-background=[Border Background Color]:border background color:" \
        "--selected-indicator.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--selected-indicator.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--selected-indicator.height=[Text height]:text height:" \
        "--selected-indicator.width=[Text width]:text width:" \
        "--selected-indicator.margin=[Text margin]:text margin:" \
        "--selected-indicator.padding=[Text padding]:text padding:" \
        "--selected-indicator.bold[Bold text]" \
        "--selected-indicator.faint[Faint text]" \
        "--selected-indicator.italic[Italicize text]" \
        "--selected-indicator.strikethrough[Strikethrough text]" \
        "--selected-indicator.underline[Underline text]" \
        "--unselected-prefix=[Character to indicate unselected items (hidden if limit is 1)]:character to indicate unselected items (hidden if limit is 1):" \
        "--unselected-prefix.background=[Background Color]:background color:" \
        "--unselected-prefix.foreground=[Foreground Color]:foreground color:" \
        "--unselected-prefix.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--unselected-prefix.border-background=[Border Background Color]:border background color:" \
        "--unselected-prefix.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--unselected-prefix.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--unselected-prefix.height=[Text height]:text height:" \
        "--unselected-prefix.width=[Text width]:text width:" \
        "--unselected-prefix.margin=[Text margin]:text margin:" \
        "--unselected-prefix.padding=[Text padding]:text padding:" \
        "--unselected-prefix.bold[Bold text]" \
        "--unselected-prefix.faint[Faint text]" \
        "--unselected-prefix.italic[Italicize text]" \
        "--unselected-prefix.strikethrough[Strikethrough text]" \
        "--unselected-prefix.underline[Underline text]" \
        "--text.background=[Background Color]:background color:" \
        "--text.foreground=[Foreground Color]:foreground color:" \
        "--text.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--text.border-background=[Border Background Color]:border background color:" \
        "--text.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--text.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--text.height=[Text height]:text height:" \
        "--text.width=[Text width]:text width:" \
        "--text.margin=[Text margin]:text margin:" \
        "--text.padding=[Text padding]:text padding:" \
        "--text.bold[Bold text]" \
        "--text.faint[Faint text]" \
        "--text.italic[Italicize text]" \
        "--text.strikethrough[Strikethrough text]" \
        "--text.underline[Underline text]" \
        "--match.background=[Background Color]:background color:" \
        "--match.foreground=[Foreground Color]:foreground color:" \
        "--match.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--match.border-background=[Border Background Color]:border background color:" \
        "--match.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--match.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--match.height=[Text height]:text height:" \
        "--match.width=[Text width]:text width:" \
        "--match.margin=[Text margin]:text margin:" \
        "--match.padding=[Text padding]:text padding:" \
        "--match.bold[Bold text]" \
        "--match.faint[Faint text]" \
        "--match.italic[Italicize text]" \
        "--match.strikethrough[Strikethrough text]" \
        "--match.underline[Underline text]" \
        "--placeholder=[Placeholder value]:placeholder value:" \
        "--prompt=[Prompt to display]:prompt to display:" \
        "--prompt.background=[Background Color]:background color:" \
        "--prompt.foreground=[Foreground Color]:foreground color:" \
        "--prompt.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--prompt.border-background=[Border Background Color]:border background color:" \
        "--prompt.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--prompt.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--prompt.height=[Text height]:text height:" \
        "--prompt.width=[Text width]:text width:" \
        "--prompt.margin=[Text margin]:text margin:" \
        "--prompt.padding=[Text padding]:text padding:" \
        "--prompt.bold[Bold text]" \
        "--prompt.faint[Faint text]" \
        "--prompt.italic[Italicize text]" \
        "--prompt.strikethrough[Strikethrough text]" \
        "--prompt.underline[Underline text]" \
        "--width=[Input width]:input width:" \
        "--height=[Input height]:input height:" \
        "--value=[Initial filter value]:initial filter value:" \
        "--reverse[Display from the bottom of the screen]" \
        "--fuzzy[Enable fuzzy matching]"
}

_gum_format() {
    _arguments -C \
        "--theme=[Glamour theme to use for markdown formatting]:glamour theme to use for markdown formatting:" \
        '(-t --type=)'{-t,--type=}"[Format to use (markdown,template,code,emoji)]:format to use (markdown,template,code,emoji):(markdown template code emoji)"
}

_gum_input() {
    _arguments -C \
        "--placeholder=[Placeholder value]:placeholder value:" \
        "--prompt=[Prompt to display]:prompt to display:" \
        "--prompt.background=[Background Color]:background color:" \
        "--prompt.foreground=[Foreground Color]:foreground color:" \
        "--prompt.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--prompt.border-background=[Border Background Color]:border background color:" \
        "--prompt.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--prompt.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--prompt.height=[Text height]:text height:" \
        "--prompt.width=[Text width]:text width:" \
        "--prompt.margin=[Text margin]:text margin:" \
        "--prompt.padding=[Text padding]:text padding:" \
        "--prompt.bold[Bold text]" \
        "--prompt.faint[Faint text]" \
        "--prompt.italic[Italicize text]" \
        "--prompt.strikethrough[Strikethrough text]" \
        "--prompt.underline[Underline text]" \
        "--cursor.background=[Background Color]:background color:" \
        "--cursor.foreground=[Foreground Color]:foreground color:" \
        "--cursor.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor.border-background=[Border Background Color]:border background color:" \
        "--cursor.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor.height=[Text height]:text height:" \
        "--cursor.width=[Text width]:text width:" \
        "--cursor.margin=[Text margin]:text margin:" \
        "--cursor.padding=[Text padding]:text padding:" \
        "--cursor.bold[Bold text]" \
        "--cursor.faint[Faint text]" \
        "--cursor.italic[Italicize text]" \
        "--cursor.strikethrough[Strikethrough text]" \
        "--cursor.underline[Underline text]" \
        "--value=[Initial value (can also be passed via stdin)]:initial value (can also be passed via stdin):" \
        "--char-limit=[Maximum value length (0 for no limit)]:maximum value length (0 for no limit):" \
        "--width=[Input width]:input width:" \
        "--password[Mask input characters]" \
        "--header=[Header value]:header value:" \
        "--header.background=[Background Color]:background color:" \
        "--header.foreground=[Foreground Color]:foreground color:" \
        "--header.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--header.border-background=[Border Background Color]:border background color:" \
        "--header.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--header.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--header.height=[Text height]:text height:" \
        "--header.width=[Text width]:text width:" \
        "--header.margin=[Text margin]:text margin:" \
        "--header.padding=[Text padding]:text padding:" \
        "--header.bold[Bold text]" \
        "--header.faint[Faint text]" \
        "--header.italic[Italicize text]" \
        "--header.strikethrough[Strikethrough text]" \
        "--header.underline[Underline text]"
}

_gum_join() {
    _arguments -C \
        "--align=[Text alignment]:text alignment:(left center right bottom middle top)" \
        "--horizontal[Join (potentially multi-line) strings horizontally]" \
        "--vertical[Join (potentially multi-line) strings vertically]"
}

_gum_pager() {
    _arguments -C \
        "--background=[Background Color]:background color:" \
        "--foreground=[Foreground Color]:foreground color:" \
        "--border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--border-background=[Border Background Color]:border background color:" \
        "--border-foreground=[Border Foreground Color]:border foreground color:" \
        "--align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--height=[Text height]:text height:" \
        "--width=[Text width]:text width:" \
        "--margin=[Text margin]:text margin:" \
        "--padding=[Text padding]:text padding:" \
        "--bold[Bold text]" \
        "--faint[Faint text]" \
        "--italic[Italicize text]" \
        "--strikethrough[Strikethrough text]" \
        "--underline[Underline text]" \
        "--help.background=[Background Color]:background color:" \
        "--help.foreground=[Foreground Color]:foreground color:" \
        "--help.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--help.border-background=[Border Background Color]:border background color:" \
        "--help.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--help.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--help.height=[Text height]:text height:" \
        "--help.width=[Text width]:text width:" \
        "--help.margin=[Text margin]:text margin:" \
        "--help.padding=[Text padding]:text padding:" \
        "--help.bold[Bold text]" \
        "--help.faint[Faint text]" \
        "--help.italic[Italicize text]" \
        "--help.strikethrough[Strikethrough text]" \
        "--help.underline[Underline text]" \
        "--show-line-numbers[Show line numbers]" \
        "--line-number.background=[Background Color]:background color:" \
        "--line-number.foreground=[Foreground Color]:foreground color:" \
        "--line-number.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--line-number.border-background=[Border Background Color]:border background color:" \
        "--line-number.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--line-number.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--line-number.height=[Text height]:text height:" \
        "--line-number.width=[Text width]:text width:" \
        "--line-number.margin=[Text margin]:text margin:" \
        "--line-number.padding=[Text padding]:text padding:" \
        "--line-number.bold[Bold text]" \
        "--line-number.faint[Faint text]" \
        "--line-number.italic[Italicize text]" \
        "--line-number.strikethrough[Strikethrough text]" \
        "--line-number.underline[Underline text]" \
        "--soft-wrap[Soft wrap lines]"
}

_gum_spin() {
    _arguments -C \
        "--show-output[Show output of command]" \
        '(-s --spinner=)'{-s,--spinner=}"[Spinner type]:spinner type:(line dot minidot jump pulse points globe moon monkey meter hamburger)" \
        "--spinner.background=[Background Color]:background color:" \
        "--spinner.foreground=[Foreground Color]:foreground color:" \
        "--spinner.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--spinner.border-background=[Border Background Color]:border background color:" \
        "--spinner.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--spinner.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--spinner.height=[Text height]:text height:" \
        "--spinner.width=[Text width]:text width:" \
        "--spinner.margin=[Text margin]:text margin:" \
        "--spinner.padding=[Text padding]:text padding:" \
        "--spinner.bold[Bold text]" \
        "--spinner.faint[Faint text]" \
        "--spinner.italic[Italicize text]" \
        "--spinner.strikethrough[Strikethrough text]" \
        "--spinner.underline[Underline text]" \
        "--title=[Text to display to user while spinning]:text to display to user while spinning:" \
        "--title.background=[Background Color]:background color:" \
        "--title.foreground=[Foreground Color]:foreground color:" \
        "--title.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--title.border-background=[Border Background Color]:border background color:" \
        "--title.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--title.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--title.height=[Text height]:text height:" \
        "--title.width=[Text width]:text width:" \
        "--title.margin=[Text margin]:text margin:" \
        "--title.padding=[Text padding]:text padding:" \
        "--title.bold[Bold text]" \
        "--title.faint[Faint text]" \
        "--title.italic[Italicize text]" \
        "--title.strikethrough[Strikethrough text]" \
        "--title.underline[Underline text]" \
        '(-a --align=)'{-a,--align=}"[Alignment of spinner with regard to the title]:alignment of spinner with regard to the title:(left right)"
}

_gum_style() {
    _arguments -C \
        "--background=[Background Color]:background color:" \
        "--foreground=[Foreground Color]:foreground color:" \
        "--border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--border-background=[Border Background Color]:border background color:" \
        "--border-foreground=[Border Foreground Color]:border foreground color:" \
        "--align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--height=[Text height]:text height:" \
        "--width=[Text width]:text width:" \
        "--margin=[Text margin]:text margin:" \
        "--padding=[Text padding]:text padding:" \
        "--bold[Bold text]" \
        "--faint[Faint text]" \
        "--italic[Italicize text]" \
        "--strikethrough[Strikethrough text]" \
        "--underline[Underline text]"
}

_gum_table() {
    _arguments -C \
        '(-s --separator=)'{-s,--separator=}"[Row separator]:row separator:" \
        '(-c --columns=)'{-c,--columns=}"[Column names]:column names:" \
        '(-w --widths=)'{-w,--widths=}"[Column widths]:column widths:" \
        "--height=[Table height]:table height:" \
        "--cell.background=[Background Color]:background color:" \
        "--cell.foreground=[Foreground Color]:foreground color:" \
        "--cell.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cell.border-background=[Border Background Color]:border background color:" \
        "--cell.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cell.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cell.height=[Text height]:text height:" \
        "--cell.width=[Text width]:text width:" \
        "--cell.margin=[Text margin]:text margin:" \
        "--cell.padding=[Text padding]:text padding:" \
        "--cell.bold[Bold text]" \
        "--cell.faint[Faint text]" \
        "--cell.italic[Italicize text]" \
        "--cell.strikethrough[Strikethrough text]" \
        "--cell.underline[Underline text]" \
        "--header.background=[Background Color]:background color:" \
        "--header.foreground=[Foreground Color]:foreground color:" \
        "--header.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--header.border-background=[Border Background Color]:border background color:" \
        "--header.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--header.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--header.height=[Text height]:text height:" \
        "--header.width=[Text width]:text width:" \
        "--header.margin=[Text margin]:text margin:" \
        "--header.padding=[Text padding]:text padding:" \
        "--header.bold[Bold text]" \
        "--header.faint[Faint text]" \
        "--header.italic[Italicize text]" \
        "--header.strikethrough[Strikethrough text]" \
        "--header.underline[Underline text]" \
        "--selected.background=[Background Color]:background color:" \
        "--selected.foreground=[Foreground Color]:foreground color:" \
        "--selected.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--selected.border-background=[Border Background Color]:border background color:" \
        "--selected.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--selected.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--selected.height=[Text height]:text height:" \
        "--selected.width=[Text width]:text width:" \
        "--selected.margin=[Text margin]:text margin:" \
        "--selected.padding=[Text padding]:text padding:" \
        "--selected.bold[Bold text]" \
        "--selected.faint[Faint text]" \
        "--selected.italic[Italicize text]" \
        "--selected.strikethrough[Strikethrough text]" \
        "--selected.underline[Underline text]" \
        '(-f --file=)'{-f,--file=}"[file path]:file path:"
}

_gum_write() {
    _arguments -C \
        "--width=[Text area width]:text area width:" \
        "--height=[Text area height]:text area height:" \
        "--header=[Header value]:header value:" \
        "--placeholder=[Placeholder value]:placeholder value:" \
        "--prompt=[Prompt to display]:prompt to display:" \
        "--show-cursor-line[Show cursor line]" \
        "--show-line-numbers[Show line numbers]" \
        "--value=[Initial value (can be passed via stdin)]:initial value (can be passed via stdin):" \
        "--char-limit=[Maximum value length (0 for no limit)]:maximum value length (0 for no limit):" \
        "--base.background=[Background Color]:background color:" \
        "--base.foreground=[Foreground Color]:foreground color:" \
        "--base.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--base.border-background=[Border Background Color]:border background color:" \
        "--base.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--base.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--base.height=[Text height]:text height:" \
        "--base.width=[Text width]:text width:" \
        "--base.margin=[Text margin]:text margin:" \
        "--base.padding=[Text padding]:text padding:" \
        "--base.bold[Bold text]" \
        "--base.faint[Faint text]" \
        "--base.italic[Italicize text]" \
        "--base.strikethrough[Strikethrough text]" \
        "--base.underline[Underline text]" \
        "--cursor-line-number.background=[Background Color]:background color:" \
        "--cursor-line-number.foreground=[Foreground Color]:foreground color:" \
        "--cursor-line-number.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor-line-number.border-background=[Border Background Color]:border background color:" \
        "--cursor-line-number.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor-line-number.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor-line-number.height=[Text height]:text height:" \
        "--cursor-line-number.width=[Text width]:text width:" \
        "--cursor-line-number.margin=[Text margin]:text margin:" \
        "--cursor-line-number.padding=[Text padding]:text padding:" \
        "--cursor-line-number.bold[Bold text]" \
        "--cursor-line-number.faint[Faint text]" \
        "--cursor-line-number.italic[Italicize text]" \
        "--cursor-line-number.strikethrough[Strikethrough text]" \
        "--cursor-line-number.underline[Underline text]" \
        "--cursor-line.background=[Background Color]:background color:" \
        "--cursor-line.foreground=[Foreground Color]:foreground color:" \
        "--cursor-line.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor-line.border-background=[Border Background Color]:border background color:" \
        "--cursor-line.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor-line.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor-line.height=[Text height]:text height:" \
        "--cursor-line.width=[Text width]:text width:" \
        "--cursor-line.margin=[Text margin]:text margin:" \
        "--cursor-line.padding=[Text padding]:text padding:" \
        "--cursor-line.bold[Bold text]" \
        "--cursor-line.faint[Faint text]" \
        "--cursor-line.italic[Italicize text]" \
        "--cursor-line.strikethrough[Strikethrough text]" \
        "--cursor-line.underline[Underline text]" \
        "--cursor.background=[Background Color]:background color:" \
        "--cursor.foreground=[Foreground Color]:foreground color:" \
        "--cursor.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--cursor.border-background=[Border Background Color]:border background color:" \
        "--cursor.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--cursor.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--cursor.height=[Text height]:text height:" \
        "--cursor.width=[Text width]:text width:" \
        "--cursor.margin=[Text margin]:text margin:" \
        "--cursor.padding=[Text padding]:text padding:" \
        "--cursor.bold[Bold text]" \
        "--cursor.faint[Faint text]" \
        "--cursor.italic[Italicize text]" \
        "--cursor.strikethrough[Strikethrough text]" \
        "--cursor.underline[Underline text]" \
        "--end-of-buffer.background=[Background Color]:background color:" \
        "--end-of-buffer.foreground=[Foreground Color]:foreground color:" \
        "--end-of-buffer.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--end-of-buffer.border-background=[Border Background Color]:border background color:" \
        "--end-of-buffer.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--end-of-buffer.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--end-of-buffer.height=[Text height]:text height:" \
        "--end-of-buffer.width=[Text width]:text width:" \
        "--end-of-buffer.margin=[Text margin]:text margin:" \
        "--end-of-buffer.padding=[Text padding]:text padding:" \
        "--end-of-buffer.bold[Bold text]" \
        "--end-of-buffer.faint[Faint text]" \
        "--end-of-buffer.italic[Italicize text]" \
        "--end-of-buffer.strikethrough[Strikethrough text]" \
        "--end-of-buffer.underline[Underline text]" \
        "--line-number.background=[Background Color]:background color:" \
        "--line-number.foreground=[Foreground Color]:foreground color:" \
        "--line-number.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--line-number.border-background=[Border Background Color]:border background color:" \
        "--line-number.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--line-number.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--line-number.height=[Text height]:text height:" \
        "--line-number.width=[Text width]:text width:" \
        "--line-number.margin=[Text margin]:text margin:" \
        "--line-number.padding=[Text padding]:text padding:" \
        "--line-number.bold[Bold text]" \
        "--line-number.faint[Faint text]" \
        "--line-number.italic[Italicize text]" \
        "--line-number.strikethrough[Strikethrough text]" \
        "--line-number.underline[Underline text]" \
        "--header.background=[Background Color]:background color:" \
        "--header.foreground=[Foreground Color]:foreground color:" \
        "--header.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--header.border-background=[Border Background Color]:border background color:" \
        "--header.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--header.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--header.height=[Text height]:text height:" \
        "--header.width=[Text width]:text width:" \
        "--header.margin=[Text margin]:text margin:" \
        "--header.padding=[Text padding]:text padding:" \
        "--header.bold[Bold text]" \
        "--header.faint[Faint text]" \
        "--header.italic[Italicize text]" \
        "--header.strikethrough[Strikethrough text]" \
        "--header.underline[Underline text]" \
        "--placeholder.background=[Background Color]:background color:" \
        "--placeholder.foreground=[Foreground Color]:foreground color:" \
        "--placeholder.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--placeholder.border-background=[Border Background Color]:border background color:" \
        "--placeholder.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--placeholder.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--placeholder.height=[Text height]:text height:" \
        "--placeholder.width=[Text width]:text width:" \
        "--placeholder.margin=[Text margin]:text margin:" \
        "--placeholder.padding=[Text padding]:text padding:" \
        "--placeholder.bold[Bold text]" \
        "--placeholder.faint[Faint text]" \
        "--placeholder.italic[Italicize text]" \
        "--placeholder.strikethrough[Strikethrough text]" \
        "--placeholder.underline[Underline text]" \
        "--prompt.background=[Background Color]:background color:" \
        "--prompt.foreground=[Foreground Color]:foreground color:" \
        "--prompt.border=[Border Style]:border style:(none hidden normal rounded thick double)" \
        "--prompt.border-background=[Border Background Color]:border background color:" \
        "--prompt.border-foreground=[Border Foreground Color]:border foreground color:" \
        "--prompt.align=[Text Alignment]:text alignment:(left center right bottom middle top)" \
        "--prompt.height=[Text height]:text height:" \
        "--prompt.width=[Text width]:text width:" \
        "--prompt.margin=[Text margin]:text margin:" \
        "--prompt.padding=[Text padding]:text padding:" \
        "--prompt.bold[Bold text]" \
        "--prompt.faint[Faint text]" \
        "--prompt.italic[Italicize text]" \
        "--prompt.strikethrough[Strikethrough text]" \
        "--prompt.underline[Underline text]"
}

_gum() {
    local line state
    _arguments -C \
        '(-h --help)'{-h,--help}"[Show context-sensitive help.]" \
        '(-v --version)'{-v,--version}"[Print the version number]" \
        "1: :->cmds" \
        "*::arg:->args"
    case "$state" in
        cmds)
            _values "gum command" \
                "choose[Choose an option from a list of choices]" \
                "confirm[Ask a user to confirm an action]" \
                "file[Pick a file from a folder]" \
                "filter[Filter items from a list]" \
                "format[Format a string using a template]" \
                "input[Prompt for some input]" \
                "join[Join text vertically or horizontally]" \
                "pager[Scroll through a file]" \
                "spin[Display spinner while running a command]" \
                "style[Apply coloring, borders, spacing to text]" \
                "table[Render a table of data]" \
                "write[Prompt for long-form text]"
            ;;
        args)
            case "$line[1]" in
                choose)
                    _gum_choose
                    ;;
                confirm)
                    _gum_confirm
                    ;;
                file)
                    _gum_file
                    ;;
                filter)
                    _gum_filter
                    ;;
                format)
                    _gum_format
                    ;;
                input)
                    _gum_input
                    ;;
                join)
                    _gum_join
                    ;;
                pager)
                    _gum_pager
                    ;;
                spin)
                    _gum_spin
                    ;;
                style)
                    _gum_style
                    ;;
                table)
                    _gum_table
                    ;;
                write)
                    _gum_write
                    ;;
            esac
            ;;
    esac

}

