Full Code of zsh-users/zsh-completions for AI

master e461417f4e20 cached
188 files
1.6 MB
422.8k tokens
1 requests
Download .txt
Showing preview only (1,720K chars total). Download the full file or copy to clipboard to get everything.
Repository: zsh-users/zsh-completions
Branch: master
Commit: e461417f4e20
Files: 188
Total size: 1.6 MB

Directory structure:
gitextract_jrerujxc/

├── .editorconfig
├── .github/
│   └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── src/
│   ├── _afew
│   ├── _age
│   ├── _archlinux-java
│   ├── _atach
│   ├── _augmatch
│   ├── _augparse
│   ├── _augprint
│   ├── _avdmanager
│   ├── _bento4
│   ├── _bitcoin-cli
│   ├── _blkid
│   ├── _bower
│   ├── _bundle
│   ├── _cap
│   ├── _cask
│   ├── _ccache
│   ├── _certbot
│   ├── _cf
│   ├── _chatblade
│   ├── _chcpu
│   ├── _chmem
│   ├── _choc
│   ├── _chpasswd
│   ├── _chromium
│   ├── _clang-check
│   ├── _clang-format
│   ├── _clang-tidy
│   ├── _cmake
│   ├── _coffee
│   ├── _conan
│   ├── _concourse
│   ├── _cppcheck
│   ├── _dad
│   ├── _dart
│   ├── _dget
│   ├── _dhcpcd
│   ├── _diana
│   ├── _direnv
│   ├── _diskutil
│   ├── _distro_info
│   ├── _do-release-upgrade
│   ├── _docpad
│   ├── _ecdsautil
│   ├── _emacs
│   ├── _emulator
│   ├── _envdir
│   ├── _exportfs
│   ├── _fab
│   ├── _fail2ban-client
│   ├── _fail2ban-regex
│   ├── _fallocate
│   ├── _ffind
│   ├── _flutter
│   ├── _fwupdmgr
│   ├── _gas
│   ├── _ghc
│   ├── _gio
│   ├── _gist
│   ├── _git-flow
│   ├── _git-pulls
│   ├── _git-revise
│   ├── _git-wtf
│   ├── _glances
│   ├── _golang
│   ├── _gpgconf
│   ├── _grpcurl
│   ├── _gtk-launch
│   ├── _hello
│   ├── _hledger
│   ├── _httpie
│   ├── _ibus
│   ├── _include-what-you-use
│   ├── _inxi
│   ├── _ipcmk
│   ├── _ipcrm
│   ├── _ipcs
│   ├── _jest
│   ├── _jmeter
│   ├── _jmeter-plugins
│   ├── _jonas
│   ├── _jrnl
│   ├── _kak
│   ├── _kitchen
│   ├── _l3build
│   ├── _language_codes
│   ├── _ldattach
│   ├── _lilypond
│   ├── _lscpu
│   ├── _lsipc
│   ├── _lslocks
│   ├── _lslogins
│   ├── _lsmem
│   ├── _lunchy
│   ├── _mc
│   ├── _mcookie
│   ├── _middleman
│   ├── _mina
│   ├── _mix
│   ├── _mkcert
│   ├── _mssh
│   ├── _mussh
│   ├── _mvn
│   ├── _nano
│   ├── _nanoc
│   ├── _neo
│   ├── _neofetch
│   ├── _networkQuality
│   ├── _nftables
│   ├── _node
│   ├── _nvm
│   ├── _openssl
│   ├── _openvpn3
│   ├── _optirun
│   ├── _patool
│   ├── _periscope
│   ├── _phing
│   ├── _pixz
│   ├── _pkcon
│   ├── _pm2
│   ├── _port
│   ├── _pre-commit
│   ├── _protoc
│   ├── _pygmentize
│   ├── _qmk
│   ├── _rails
│   ├── _ralio
│   ├── _rdfind
│   ├── _redis-cli
│   ├── _rev
│   ├── _rfkill
│   ├── _rmlint
│   ├── _rslsync
│   ├── _rspec
│   ├── _rubocop
│   ├── _sbt
│   ├── _scala
│   ├── _screencapture
│   ├── _scrub
│   ├── _sdd
│   ├── _sdkmanager
│   ├── _setcap
│   ├── _setup.py
│   ├── _shallow-backup
│   ├── _shellcheck
│   ├── _showoff
│   ├── _sox_ng
│   ├── _srm
│   ├── _sslscan
│   ├── _subliminal
│   ├── _supervisord
│   ├── _svm
│   ├── _swaplabel
│   ├── _swapoff
│   ├── _swapon
│   ├── _teamocil
│   ├── _textutil
│   ├── _thor
│   ├── _tmuxinator
│   ├── _tmuxp
│   ├── _tox
│   ├── _ts-node
│   ├── _tsc
│   ├── _tsx
│   ├── _udisksctl
│   ├── _ufw
│   ├── _uuidd
│   ├── _uuidgen
│   ├── _uuidparse
│   ├── _vipw
│   ├── _virtualbox
│   ├── _vnstat
│   ├── _wdctl
│   ├── _wemux
│   ├── _wg-quick
│   ├── _xdg-mime
│   ├── _xsel
│   ├── _yamllint
│   ├── _yarn
│   ├── _zcash-cli
│   └── _zramctl
├── zsh-completions-howto.org
└── zsh-completions.plugin.zsh

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
; This file is for unifying the coding style for different editors and IDEs.
; More information at https://editorconfig.org/

root = true

[_*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = LF


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!-- Thank you so much for your PR! -->
<!-- Please provide a general summary of your changes in the title above. -->
<!-- If submitting a new compdef, please check it is compliant with our contributing guidelines and tick the boxes: -->

- [ ] This compdef is not already available in zsh.
- [ ] This compdef is not already available in their original project.
- [ ] I am the original author, or I have authorization to submit this work.
- [ ] This is a finished work.
- [ ] It has a header containing authors, status and origin of the script.
- [ ] It has a license header or I accept that it will be licensed under the terms of the Zsh license.


================================================
FILE: .gitignore
================================================
# zsh word code files
*.zwc

# IDE files
.vscode/
.idea/


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

## How to Contribute to zsh-completions

Contributions are welcome, just make sure you follow the guidelines:

 * Completions are not accepted when already available in zsh.
 * Completions are not accepted when already available in their original project.
 * Please do not just copy/paste someone else's completion, ask before.
 * Partially implemented completions are not accepted.
 * Please add a header containing authors, status and origin of the script and license header if you do not wish to use the Zsh license (example [here](src/_tox)).
 * Any reasonable open source license is acceptable but note that we recommend the use of the Zsh license and that you should use it if you hope for the function to migrate to zsh itself.
 * Please try to follow the [Zsh completion style guide](https://github.com/zsh-users/zsh/blob/master/Etc/completion-style-guide).
 * Please send one separate pull request per file.
 * Send a pull request or ask for committer access.

## Contributing Completion Functions to Zsh

The zsh project itself welcomes completion function contributions via
[github pull requests](https://github.com/zsh-users/zsh/),
[gitlab merge requests](https://gitlab.com/zsh-org/zsh/) or via patch
files sent to its mailing list, `zsh-workers@zsh.org`.

Contributing to zsh has the advantage of reaching the most users.

## Including Completion Functions in Upstream Projects

Many upstream projects include zsh completions.

If well maintained, this has the advantage that users get a completion
function that matches the installed version of their software.

If you are the upstream maintainer this is a good choice. If the project
already includes completions for bash, fish, tcsh, etc then they are
likely open to including zsh's too. It can also be a good option for
completions handling commands that are system or distribution specific.

Ideally, arrange for the project's build system to install the
completion function in `$prefix/share/zsh/site-functions`.


================================================
FILE: LICENSE
================================================
The Z Shell is copyright (c) 1992-2017 Paul Falstad, Richard Coleman,
Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wischnowsky, and
others.  All rights reserved.  Individual authors, whether or not
specifically named, retain copyright in all changes; in what follows, they
are referred to as `the Zsh Development Group'.  This is for convenience
only and this body has no legal status.  The Z shell is distributed under
the following licence; any provisions made in individual files take
precedence.

Permission is hereby granted, without written agreement and without
licence or royalty fees, to use, copy, modify, and distribute this
software and to distribute modified versions of this software for any
purpose, provided that the above copyright notice and the following
two paragraphs appear in all copies of this software.

In no event shall the Zsh Development Group be liable to any party for
direct, indirect, special, incidental, or consequential damages arising out
of the use of this software and its documentation, even if the Zsh
Development Group have been advised of the possibility of such damage.

The Zsh Development Group specifically disclaim any warranties, including,
but not limited to, the implied warranties of merchantability and fitness
for a particular purpose.  The software provided hereunder is on an "as is"
basis, and the Zsh Development Group have no obligation to provide
maintenance, support, updates, enhancements, or modifications.


================================================
FILE: README.md
================================================
zsh-completions ![GitHub release](https://img.shields.io/github/release/zsh-users/zsh-completions.svg) ![GitHub contributors](https://img.shields.io/github/contributors/zsh-users/zsh-completions.svg) [![IRC](https://img.shields.io/badge/IRC-%23zsh--completions-yellow.svg)](irc://irc.freenode.net/#zsh-completions) [![Gitter](https://badges.gitter.im/zsh-users/zsh-completions.svg)](https://gitter.im/zsh-users/zsh-completions?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
=============

**Additional completion definitions for [Zsh](https://www.zsh.org/).**

*This project aims at gathering/developing new completion scripts that are not available in Zsh yet. The scripts may be contributed to the Zsh project when stable enough.*

---

## Usage

### Using packages

| System  | Package |
| ------------- | ------------- |
| Debian / Ubuntu | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) |
| Fedora / CentOS / RHEL / Scientific Linux | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) |
| OpenSUSE / SLE | [zsh-completions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-completions&package=zsh-completions) |
| Arch Linux / Manjaro / Antergos / Hyperbola | [zsh-completions](https://www.archlinux.org/packages/zsh-completions), [zsh-completions-git](https://aur.archlinux.org/packages/zsh-completions-git) |
| Gentoo / Funtoo | [app-shells/zsh-completions](https://packages.gentoo.org/packages/app-shells/zsh-completions)  |
| NixOS | [zsh-completions](https://github.com/NixOS/nixpkgs/blob/master/pkgs/shells/zsh/zsh-completions/default.nix) |
| Void Linux | [zsh-completions](https://github.com/void-linux/void-packages/blob/master/srcpkgs/zsh-completions/template) |
| Slackware | [Slackbuilds](https://slackbuilds.org/repository/14.2/system/zsh-completions/) |
| macOS | [homebrew](https://github.com/Homebrew/homebrew-core/blob/master/Formula/z/zsh-completions.rb), [MacPorts](https://github.com/macports/macports-ports/blob/master/sysutils/zsh-completions/Portfile)  |
| NetBSD | [pkgsrc](https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/shells/zsh-completions/README.html)  |
| FreeBSD | [shells/zsh-completions](https://www.freshports.org/shells/zsh-completions)  |

---

### Using zsh frameworks

#### [antigen](https://github.com/zsh-users/antigen)

Add `antigen bundle zsh-users/zsh-completions` to your `~/.zshrc`.

#### [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh)

To avoid issues with redundant `.zcompdump` cache generation (see [#603](https://github.com/zsh-users/zsh-completions/issues/603)), do **not** load `zsh-completions` as a standard plugin.  
Instead, follow this optimized approach:

1. Clone the repository into your custom plugins directory:

```bash
git clone https://github.com/zsh-users/zsh-completions.git \
  ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions
```

2. Update your `~/.zshrc` configuration **before** sourcing oh-my-zsh:

```bash
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src
autoload -U compinit && compinit
source "$ZSH/oh-my-zsh.sh"
```

This prevents `compinit` from being called twice and significantly improves shell startup time.

#### [zinit](https://github.com/zdharma-continuum/zinit)

Add `zinit light zsh-users/zsh-completions` to your `~/.zshrc`.

---

### Manual installation

* Clone the repository:

```bash
git clone https://github.com/zsh-users/zsh-completions.git
```

* Include the directory in your `$fpath`, for example by adding in `~/.zshrc`:

```bash
fpath=(path/to/zsh-completions/src $fpath)
```

* You may have to force rebuild `zcompdump`:

```bash
rm -f ~/.zcompdump; compinit
```

---

### Contributing

Contributions are welcome, see [CONTRIBUTING](https://github.com/zsh-users/zsh-completions/blob/master/CONTRIBUTING.md).

---

## License

Completions use the Zsh license, unless explicitly mentioned in the file header.  
See [LICENSE](https://github.com/zsh-users/zsh-completions/blob/master/LICENSE) for more information.


================================================
FILE: src/_afew
================================================
#compdef afew
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for afew(version 3.0.1) an initial tagging script for notmuch mail.
#  (https://github.com/teythoon/afew)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Jindřich Pilař (https://github.com/JindrichPilar)
#
# ------------------------------------------------------------------------------

_arguments \
  '(- 1 *)'{-h,--help}'[display usage information]' \
  '(- 1 *)'{-V,--version}"[show program's version number and exit]" \
  "(-t --tag -m --move-mails)"{-w,--watch}"[continuously monitor the mailbox for new messages matching the given query]" \
  "(-m --move-mails -w --watch)"{-t,--tag}"[run the tag filters]" \
  "(-w --watch -m --move-mails)"{-m,--move-mails}"[move mail files between maildir folders]" \
  "(-a --all)"{-a,--all}"[operate on all email]" \
  "(-n --new)"{-n,--new}"[operate on all new email]" \
  {-C,--notmuch-config=}"[specify path to notmuch configuration file]:files:_files" \
  {-e,--enable-filters=}"[specify filter classes to use]:filter" \
  {-d,--dry-run}"[don't change the DB]" \
  {-R,--reference-set-size=}"[specify size of the reference set]:size [1000]" \
  {-T,--reference-set-timeframe-days=}"[don't use emails older than specified age]:age (days) [30]" \
  {-N,--notmuch-args=}"[arguments for notmuch new(in move mode)]:notmuch arg" \
  {-v,--verbose}"[be more verbose]" \
  '*: :_guard "^-*" query'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_age
================================================
#compdef age age-keygen
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for age 1.2.1 (https://github.com/FiloSottile/age).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Hydrargyrum (https://github.com/hydrargyrum)
#
# ------------------------------------------------------------------------------

case $service in
  (age)
    _arguments \
      -A '-*' \
      '(- *)'{-h,--help}'[show help message and exit]' \
      '(-e --encrypt -d --decrypt)'{-e,--encrypt}'[Encrypt the input to the output. Default if omitted]' \
      '(-e --encrypt -d --decrypt -a --armor -p --passphrase -r --recipient -R --recipients-file)'{-d,--decrypt}'[Decrypt the input to the output]' \
      '(-o --output)'{-o,--output=}'[Write the result to the given file]:OUTPUT:_files' \
      '(-a --armor -d --decrypt)'{-a,--armor}'[Encrypt to a PEM encoded format]' \
      '(-p --passphrase -d --decrypt)'{-p,--passphrase}'[Encrypt with a passphrase]' \
      '(-d --decrypt)'\*{-r,--recipient=}'[Encrypt to the explicitly specified RECIPIENT]:RECIPIENT:' \
      '(-d --decrypt)'\*{-R,--recipients-file=}'[Encrypt to the RECIPIENTS listed in the file at PATH]:RECIPIENTS_FILE:_files' \
      \*{-i,--identity=}'[Use the given identify file]:IDENTITY:_files' \
      :INPUT:_files
    ;;
  (age-keygen)
    _arguments \
      '(-o --output)'{-o,--output}'[write the result to the given file]:file:_files' \
      '-y[convert an identity file to a recipients file]' \
      '*:input'
    ;;
esac

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_archlinux-java
================================================
#compdef archlinux-java
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for archlinux-java a tool for selecting default Java runtime (https://wiki.archlinux.org/index.php/java).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Jindřich Pilař (https://github.com/JindrichPilar)
#
# ------------------------------------------------------------------------------


_archlinux-java_command_arguments() {
  case $words[1] in
    (set)
      local java_versions=("${(@f)$(archlinux-java status | tail -n +2 | tr -s ' ' | cut -d ' ' -f2)}")
      _describe -t output 'Java environments' java_versions
    ;;
  esac
}

_archlinux-java() {
  local -a commands

  commands=(
    "status:List installed Java environments and enabled one"
    "get:Return the short name of the Java environment set as default"
    "set:Force <JAVA_ENV> as default"
    "unset:Unset current default Java environment"
    "fix:Fix an invalid/broken default Java environment configuration"
    "help:Show help"
  )

  _arguments -C \
    '1:cmd:->cmds' \
    '*:: :->args' \

  case "$state" in
    (cmds)
      _describe -t commands 'commands' commands
      ;;
    (*)
      _archlinux-java_command_arguments
      ;;
  esac
}

_archlinux-java

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_atach
================================================
#compdef atach
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for atach (https://github.com/sorin-ionescu/atach).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Sorin Ionescu <sorin.ionescu@gmail.com>
#
# ------------------------------------------------------------------------------

local state mode_values existing_sessions ret=1

mode_values=(
  "none:disable redrawing"
  "ctrl_l:use ctrl + l to redraw"
  "winch:use sigwinch to redraw"
)

existing_sessions=($(_call_program session atach))

_arguments -C -s -S \
  '(--list -l)'{--list,-l}'[list sessions]' \
  '(--sockets -L)'{--sockets,-L}'[list sockets]' \
  '(--session -s)'{--session=,-s+}'[set the session name]:session' \
  '(--char -c)'{--char=,-c+}'[set the detach character (default: ^\\)]:char' \
  '(--redraw -r)'{--redraw=,-r+}'[set the redraw method (none, ctrl_l, or winch)]:mode:->mode' \
  '(--detached -d)'{--detached,-d}'[start the session detached]' \
  '(--no-detach -D)'{--no-detach,-D}'[disable detaching]' \
  '(--no-suspend -Z)'{--no-suspend,-Z}'[disable suspending]' \
  '(--version -v)'{--version,-v}'[display version and copyright]' \
  '(--help -h)'{--help,-h}'[display help]' \
  '(-)::args:->session-or-command' && ret=0

case "$state" in
  (mode)
    _describe -t mode 'redraw mode' mode_values && ret=0
  ;;
  (session-or-command)
    _describe -t 'session' 'sessions' existing_sessions && ret=0
    _path_commands && ret=0
  ;;
esac

return $ret

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_augmatch
================================================
#compdef augmatch
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for augmatch 1.14.1 (https://augeas.net/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_augmatch_lens() {
  local lenses=($(augtool --noload 'match /augeas/load/*/lens' | sed -e 's/.*@//'))
  _values lenses $lenses
}

_arguments \
  '(- *)'{-h,--help}'[show help message]' \
  '(-a --all)'{-a,--all}'[print all tree nodes, even ones without an associated value]' \
  '(-e --extract)'{-e,--extract}'[only print the parts of the tree that are matched with --match]' \
  \*{-I,--include=}'[add directory to the module loadpath]:dir:_files -/' \
  '(-l --lens)'{-l,--lens=}'[use lens for the given file]:lens:_augmatch_lens' \
  '(-L --print-lens)'{-L,--print-lens}'[print the name of lens]' \
  '(-m --match)'{-m,--match=}'[only print the parts of the tree that match]:expr' \
  '(-r --root)'{-r,--root=}'[use directory as the root of the filesystem]:dir:_files -/' \
  '(-S --nostdinc)'{-S,--nostdinc}'[do not search any of the default directories for lenses]' \
  '(-o --only-value)'{-o,--only-value}'[print only the value and not label or the path of nodes]' \
  '(-q --quiet)'{-q,--quiet}'[do not print anything]' \
  '*:: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_augparse
================================================
#compdef augparse
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for augparse 1.14.1 (https://augeas.net/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_arguments \
  '(- *)'{-h,--help}'[show help message]' \
  '(- *)--version[print version information and exit]' \
  \*{-I,--include=}'[add directory to the module loadpath]:dir:_files -/' \
  '(-t --trace)'{-t,--trace}'[print a trace of modules that are being loaded]' \
  '--nostdinc[do not search any of the default directories for modules]' \
  '--notypecheck[do not perform lens type checks]' \
  '*:: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_augprint
================================================
#compdef augprint
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for augprint 1.14.1 (https://augeas.net/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_augprint_lens() {
  local lenses=($(augtool --noload 'match /augeas/load/*/lens' | sed -e 's/.*@//'))
  _values lenses $lenses
}

_arguments \
  '(- *)'{-h,--help}'[show help message]' \
  '(-v --verbose)'{-v,--verbose}'[include the original numbered paths as comments in the output]' \
  '(-r --regexp)'{-r-,--regexp=-}'[generate regular expressions to match values]:num' \
  '(-l --lens)'{-l,--lens=}'[use lens for the given file]:lens:_augprint_lens' \
  '(-t --target)'{-t,--target=}'[generate the script as if its path was really targetfile]:file:_files' \
  '(-s --noseq)'{-s,--noseq}'[do not use "seq::*" in the output]' \
  '*:: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_avdmanager
================================================
#compdef avdmanager
# ------------------------------------------------------------------------------
# Copyright (c) 2023 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for avdmanager(https://developer.android.com/studio/command-line/avdmanager)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_avdmanager() {
  typeset -A opt_args
  local context state line
  local curcontext="$curcontext"
  local ret=1

  _arguments -C -A "-*" \
    '(- *)'{-h,--help}'[Print help message]' \
    '(-s --silent)'{-s,--silent}'[Silent mode, shows error only]' \
    '(-v --verbose)'{-v,--verbose}'[Verbose mode, shows errors, warnings and all messages]' \
    '--clear-cache[Clear the SDK Manager repository manifest cache]' \
    '1: :_avdmanager_subcommands' \
    '*::arg:->args' \
    && ret=0

  case "$state" in
    (args)
      if (( $+functions[_avdmanager_${words[1]}] )); then
          _avdmanager_${words[1]} && ret=0
      else
        ret=0
      fi
      ;;
  esac

  return ret
}

(( $+functions[_avdmanager_list] )) ||
_avdmanager_list() {
  local ret=1

  _arguments -C \
    '1: :(avd target device)' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (avd|target|device)
          _arguments \
            '(-0 --null)'{-0,--null}'[Terminate lines with \0 instead of \n]' \
            '(-c --compact)'{-c,--compact}'[Compact output]' \
            && ret=0
          ;;
      esac
      ;;
  esac

  return $ret
}

(( $+functions[_avdmanager_create] )) ||
_avdmanager_create() {
  local ret=1

  _arguments -C \
    '1: :(avd)' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (avd)
          _arguments \
            '(-c --sdcard)'{-c,--sdcard}'[Path to a shared SD card image]: :_files' \
            '(-g --tag)'{-g,--tag}'[The sys-img tag to use for the AVD]:tag' \
            '(-p --path)'{-p,--path}'[Directory where the new AVD will be created]' \
            '(-k --package)'{-k,--package}'[Package path of the system image for this AVD]:package' \
            '(-n --name)'{-n,--name}'[Name of the new AVD]:name' \
            '--skin[The optional name of a skin to use with this device]' \
            '(-f --force)'{-f,--force}'[Forces creation]' \
            '(-b --abi)'{-b,--abi}'[The ABI to use for the AVD]:abi' \
            '(-d --device)'{-d,--device}'[The optional device definition to use]' \
            && ret=0
          ;;
      esac
      ;;
  esac

  return $ret
}

(( $+functions[_avdmanager_move] )) ||
_avdmanager_move() {
  local ret=1

  _arguments -C \
    '1: :(avd)' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (avd)
          _arguments \
            '(-p --path)'{-p,--path}"[Path to the AVD's new directory]: :_files -/" \
            '(-n --name)'{-n,--name}'[Name of the AVD to delete]: :_avdmanager_avds' \
            '(-r --rename)'{-r,--rename}'[New name of the AVD]' \
            && ret=0
          ;;
      esac
      ;;
  esac

  return $ret
}

(( $+functions[_avdmanager_delete] )) ||
_avdmanager_delete() {
  local ret=1

  _arguments -C \
    '1: :(avd)' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (avd)
          _arguments \
            '(-n --name)'{-n,--name}'[Name of the AVD to delete]: :_avdmanager_avds' \
            && ret=0
          ;;
      esac
      ;;
  esac

  return $ret
}

(( $+functions[_avdmanager_subcommands] )) ||
_avdmanager_subcommands() {
  local -a commands=(
    "list:Lists existing targets or virtual devices"
    "create:Creates a new Android Virtual Device"
    "move:Moves or renames an Android Virtual Device"
    "delete:Deletes an Android Virtual Device"
  )
  _describe -t commands 'subcommand' commands
}

(( $+functions[_avdmanager_avds] )) ||
_avdmanager_avds() {
  local -a avds=(${(@f)"$(avdmanager list avd -c)"})
  _values 'android virtual devices' $avds
}

_avdmanager "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_bento4
================================================
#compdef aac2mp4 mp42aac mp42avc mp42hevc mp42hls mp42ts mp4compact mp4dash mp4dashclone mp4dcfpackager mp4decrypt mp4dump mp4edit mp4encrypt mp4extract mp4fragment mp4hls mp4iframeindex mp4info mp4mux mp4rtphintinfo mp4split mp4tag
# ------------------------------------------------------------------------------
# Copyright (c) 2026 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for bento4 tools 1.6.0-641 (https://github.com/axiomatic-systems/Bento4)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

local -a encrypt_methods=(
  OMA-PDCF-CBC OMA-PDCF-CTR MARLIN-IPMP-ACBC MARLIN-IPMP-ACGK ISMA-IAEC PIFF-CBC
  PIFF-CTR MPEG-CENC MPEG-CBC1 MPEG-CENS MPEG-CBCS
)
local -a options=()

case $service in
  (mp42aac|mp42avc|mp42hevc)
    options+=('--key[128-bit decryption key (in hex: 32 chars)]:key')
    ;;
  (mp42hls)
    options+=(
      '--verbose[enable verbose mode]'
      '--show-info[show information]'
      '--hls-version[HLS version(default: 3)]:version'
      '--pmt-pid[PID to use for the PMT(default: 0x100)]:pid'
      '--audio-pid[PID to use for audio packets(default: 0x101)]:pid'
      '--video-pid[PID to use for video packets(default: 0x102)]:pid'
      '--audio-track-id[Read audio from the given track ID(0 means no audio)]:track_id'
      '--video-track-id[Read video from the given track ID(0 means no video)]:track_id'
      '--audio-format[Format to use for audio-only segments(default: ts)]:format:(ts packed)'
      '--segment-duration[Target segment duration in seconds(default: 6)]:seconds'
      '--segment-duration-threshold[Segment duration threshold in milliseconds(default: 15)]:seconds'
      '--pcr-offset[offset in units of 90kHz(default: 1000)]:offset'
      '--index-filename[File name to use for the playlist/index(default: stream.m3u8)]:name:_files'
      '--allow-cache[set #EXT-X-ALLOW_CACHE to YES or NO]: :(YES NO)'
      '--segment-filename-template[File name pattern to use for the segment(default: segment-%d.<ext> or stream.<ext>)]:pattern'
      '--segment-url-template[URL pattern to use for segments(default: segment-%d.<ext> or stream.<ext>)]:pattern'
      '--iframe-index-filename[File name to use for the I-Frame playlist(default: iframes.m3u8)]:file:_files'
      '--output-single-file[Output all the media in a single file instead of separate segment files]'
      '--encryption-mode[Encryption mode(default: AES-128)]:mode:(AES-128 SAMPLE-AES)'
      '--encryption-key[Encryption key in hexadecimal(default: no encryption)]:key'
      '--encryption-iv-mode[Encryption IV mode(default: separate)]:mode:(sequence random fps)'
      '--encryption-key-uri[Encryption key URI, relative or absolute URI(default: key.bin)]:uri'
      '--encryption-key-format[Encryption key format(default: identity)]:format'
      '--encryption-key-format-versions[Encryption key format versions]:versions'
      '--encryption-key-line[Preformatted encryption key line]:ext_x_key_line'
    )
    ;;
  (mp42ts)
    options+=(
      '--pmt-pid[PID to use for the PMT(default: 0x100)]:pid'
      '--audio-pid[PID to use for audio packets(default: 0x101)]:pid'
      '--video-pid[PID to use for video packets(default: 0x102)]:pid'
      '--segment[Segment duration in seconds]:seconds'
      '--segment-duration-threshold[Segment duration threshold in milliseconds(default: 50)]:seconds'
      '--pcr-offset[offset in units of 90kHz(default: 1000)]:offset'
      '--verbose[enable verbose mode]'
      '--playlist[Playlist file name]:file:_files'
      '--playlist-hls-version[HLS version(default: 3)]:version'
    )
    ;;
  (mp4compact)
    options+=('--verbose[Enable verbose mode]')
    ;;
  (mp4dash)
    options+=(
      '(- *)'{-h,--help}'[Show this help message and exit]'
      '(-v --verbose)'{-v,--verbose}'[Be verbose]'
      '(-d --debug)'{-d,--debug}'[Print out debugging information]'
      '(-o --output-dir)'{-o,--output-dir=}'[Output directory]:dir:_files -/'
      '(-f --force)'{-f,--force}'[Allow output to an existing directory]'
      '--mpd-name=[MPD file name]:file:_files'
      '--profiles=[Comma-separated list of one or more profile(s)]:profiles'
      '--no-media[Do not output media files (MPD/Manifests only)]'
      '--rename-media[Use a file name pattern instead of the base name of input files]'
      '--media-prefix=[Use this prefix for prefixed media file names(default: media)]:prefix'
      '--init-segment=[Initialization segment name]:file:_files'
      '--no-split[Do not split the file into individual segment files]'
      '--use-segment-list[Use segment lists instead of segment templates]'
      '--use-segment-template-number-padding[Use padded numbers in segment URL/filename templates]'
      '--use-segment-timeline[Use segment timelines]'
      '--min-buffer-time=[Minimum buffer time in seconds]:seconds'
      '--max-playout-rate=[Max Playout Rate setting strategy for trick-play support]:strategy:(lowest:X)'
      '--language-map=[Remap language code <lang_from> to <lang_to>]:from_to_list'
      '--always-output-lang[Always output an @lang attribute for audio tracks]'
      '--subtitles[Enable Subtitles]'
      *'--attributes=[Specify the attributes of a set of tracks]:attribute'
      '--smooth[Produce an output compatible with Smooth Streaming]'
      '--smooth-client-manifest-name=[Smooth Streaming Client Manifest file name]:file:_files'
      '--smooth-server-manifest-name=[Smooth Streaming Server Manifest file name]:file:_files'
      '--smooth-h264-fourcc=[Smooth Streaming FourCC value for H.264 video(default H264)]:fourcc'
      '--hls[Output HLS playlists in addition to MPEG DASH]'
      '--hls-key-url=[HLS key URL (default: key.bin)]:url'
      '--hls-master-playlist-name=[HLS master playlist name (default: master.m3u8)]:file:_files'
      '--hls-media-playlist-name=[HLS media playlist name (default: media.m3u8)]:file:_files'
      '--hls-iframes-playlist-name=[HLS I-Frames playlist name (default: iframes.m3u8)]'
      '--hippo[Produce an output compatible with the Hippo Media Server]'
      '--hippo-server-manifest-name=[Hippo Media Server Manifest file name]:file:_files'
      '--use-compat-namespace[Use the original DASH MPD namespace]'
      '--use-legacy-audio-channel-config-uri[Use the legacy DASH namespace URI]'
      '--encryption-key=[Encryption key specifications]:key_spec'
      '--encryption-cenc-scheme=[MPEG Common Encryption scheme(default: cenc)]:scheme:(cenc cbc1 cens cbcs)'
      '--encryption-args=[Pass additional command line arguments to mp4encrypt]:args'
      '--eme-signaling=[Add EME-compliant signaling in the MPD and PSSH boxes]:type:(pssh-v0 pssh-v1)'
      '--merge-keys[Merge all keys in a single set used for all ContentProtection elements]'
      '--marlin[Add Marlin signaling to the MPD]'
      '--marlin-add-pssh[Add an (optional) Marlin "pssh" box in the init segment(s)]'
      '--playready[Add PlayReady signaling to the MPD]'
      '--playready-version=[PlayReady version to use]:version:(4.0 4.1 4.2 4.3)'
      '--playready-header=[Add a PlayReady PRO element in the MPD and a PlayReady PSSH box in the init segments]:header'
      '--playready-no-pssh[Do not store the PlayReady header in a "pssh" box in the init segment(s)]'
      '--widevine[Add Widevine signaling to the MPD]'
      '--widevine-header=[Add a Widevine entry in the MPD, and a Widevine PSSH box in the init segments]:header'
      '--primetime[Add Primetime signaling to the MPD]'
      '--primetime-metadata=[Add Primetime metadata in a PSSH box in the init segments]:metadata'
      '--fairplay-key-uri=[Specify the key URI to use for FairPlay Streaming key delivery]:uri'
      '--clearkey[Add Clear Key signaling to the MPD]'
      '--clearkey-license-uri=[Specify the license/key URI to use for Clear Key]'
      '--exec-dir=[Directory where the Bento4 executables are located]:dir:_files -/'
    )
    ;;
  (mp4dashclone)
    options+=(
      '(- *)'{-h,--help}'[Show this help message and exit]'
      '--quiet[Be quiet]'
      '--encrypt=[Encrypt the media with KID and KEY specified in HEX(32 characters each)]:key'
      '--exec-dir=[Directory where the Bento4 executables are located]:dir:_files -/'
    )
    ;;
  (mp4dcfpackager)
    options+=(
      '--method[method name]:method:(NULL CBC CTR)'
      '--content-type[Content MIME type]:mime_type'
      '--content-id[Content ID]:id'
      '--rights-issuer[rights issuer URL]:url'
      '--key[Specify the key to use for encryption]:key'
      *'--textual-header[Specify a textual header]:header'
    )
    ;;
  (mp4decrypt)
    options+=(
      '--show-progress[Show progress details]'
      '--key[Specify the key to use for decryption]:key'
      '--fragments-info[File to decrypt the fragments read from]:file:_files'
    )
    ;;
  (mp4dump)
    options+=(
      '--verbosity[Set the verbosity level]:level:(0 1 2 3)'
      '--track[Write the track data into a file]:file:_files'
      '--format[Format to use for the output(default: text)]:format:(text json)'
    )
    ;;
  (mp4edit)
    options+=(
      '--insert[insert atom data]:atom_path_and_source_and_position'
      '--remove[remove atom data]:atom_path'
      '--replace[replace atom data]:atom_path_and_source'
    )
    ;;
  (mp4encrypt)
    options+=(
      '--method=[Encryption method]:method:($encrypt_methods)'
      '--show-progress[Show progress details]'
      '--fragments-info[Encrypt the fragments read from <input> with track info read from the given file]:file:_files'
      '--multi[Encrypt multiple individual fragment files]'
      '--key[Specify the key to use for a track (or group key)]:key_spec'
      '--strict[Fail if there is a warning]'
      *'--property[Specify a named string property for a track]:property'
      '--global-option[Set the global option]:option'
      '--pssh[Add a "pssh" atom for this system ID with the payload]:pssh'
      '--pssh-v1[Same as --pssh but generates a version=1 "pssh" atom]:pssh'
      '--kms-uri[Specify the KMS URI for the ISMA-IAEC method]:uri'
    )
    ;;
  (mp4extract)
    options+=(
      '--payload-only[Omit the atom header]'
    )
    ;;
  (mp4fragment)
    options+=(
      '--verbosity[Set the verbosity level]:level:(0 1 2 3)'
      '--debug[Enable debugging information output]'
      '--quiet[Do not print out notice messages]'
      '--fragment-duration[Fragment duration in milliseconds(default: automatic)]:msecs'
      '--timescale[Time scale]:time_scale'
      '--track[Specify track ID or type only include media from one track]:id_or_type:(audio video subtitles)'
      '--index[(Re)create the segment index]'
      '--trim[Trim excess media in longer tracks]'
      '--no-tfdt[Do not add "tfdt boxes in the fragments"]'
      '--tfdt-start[Set start value of the first tfdt timestamp]:start'
      '--sequence-number-start[Set start value of the first segment sequence number(default: 1)]:number'
      '--force-i-frame-sync[Treat all I-frames as sync samples]:type:(auto all)'
      '--copy-udta[Copy the moov/udta atom from input to output]'
      '--no-zero-elst[Do not set the last edit list entry to 0 duration]'
      '--trun-version-zero[Set the "trun" box version to zero(default version: 1)]'
    )
    ;;
  (mp4hls)
    options+=(
      '(- *)'{-h,--help}'[Show this help message and exit]'
      '(-v --verbose)'{-v,--verbose}'[Be verbose]'
      '(-d --debug)'{-d,--debug}'[Print out debugging information]'
      '(-o --output-dir)'{-o,--output-dir=}'[Output directory]:dir:_files -/'
      '(-f --force)'{-f,--force}'[Allow output to an existing directory]'
      '--hls-version=[HLS version]:version'
      '--master-playlist-name=[Master Playlist name]:file:_files'
      '--media-playlist-name=[Media Playlist name]:file:_files'
      '--iframe-playlist-name=[I-frame Playlist name]:name'
      '--output-single-file[Store segment data in a single output file per input file]'
      '--audio-format=[Format for audio segments]:format:(packed ts)'
      '--segment-duration=[Segment duration(default: 6)]:duration'
      '--encryption-mode=[Encryption mode(default: AES-128)]:mode:(AES-128 SAMPLE-AES)'
      '--encryption-key=[Encryption key in hexadecimal]:key'
      '--encryption-iv-mode=[Encryption IV mode]:mode:(sequence random fps)'
      '--encryption-key-uri=[Encryption key URI(default: key.bin)]:uri'
      '--encryption-key-format=[Encryption key format (default: identity)]:mode:(identity)'
      '--encryption-key-format-versions=[Encryption key format versions]:versions'
      '--signal-session-key[Signal an #EXT-X-SESSION-KEY tag in the master playlist]'
      '--fairplay=[Enable FairPlay Key Delivery and set parameters]:parameters'
      '--widevine=[Enable Widevine Key Delivery and set parameters]:parameters'
      '--output-encryption-key[Output the encryption key to a file]'
      '--exec-dir=[Directory where the Bento4 executables are located]:dir:_files -/'
      '--base-url=[The base URL for the Media Playlists and TS files listed in the playlists]:uri'
    )
    ;;
  (mp4iframeindex)
    options+=(
      '--track[ID of the video track]:id'
    )
    ;;
  (mp4info)
    options+=(
      '--verbose[Show extended information when available]'
      '--format[Display the information in this format(default: text)]:format:(text json)'
      '--show-layout[Show sample layout]'
      '--show-samples[Show sample details]'
      '--show-sample-data[Show sample data]'
      '--fast[Skip some details that are slow to compute]'
    )
    ;;
  (mp4mux)
    options+=(
      *'--track=[Track type, input, parameters]:track'
      '--verbose[Show more details]'
    )
    ;;
  (mp4rtphintinfo)
    options+=(
      '--trackid[Hint track ID]:id'
    )
    ;;
  (mp4split)
    options+=(
      '--verbose[Print verbose information when running]'
      '--init-segment[Name of init segment(default: init.mp4)]:file:_files'
      '--init-only[Only output the init segment(no media segments)]'
      '--media-segment[Segment file name pattern(default: segment-%llu.%04llu.m4s)]:pattern'
      '--start-number[Start numbering segments at n(default=1)]:number'
      '--pattern-parameters[One or more selector letter(default: IN)]:params'
      '--track-id[Only output segments with this track ID]:id'
      '--audio[Only output audio segments]'
      '--video[Only output video segments]'
    )
    ;;
  (mp4tag)
    options+=(
      '--help[Print this usage information]'
      '--show-tags[Show tags found in the input file]'
      '--list-symbols[List all the builtin symbols]'
      '--list-keys[List all the builtin symbolic key names]'
      '--set[Set a tag]:tag'
      '--add[Set/Add a tag]:tag'
      '--remove[Remove a tag]:key'
      '--extract[extract the value of a tag and save it to a file]:key_file'
    )
    ;;
esac

_arguments \
  "${options[@]}" \
  "*::file:_files"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_bitcoin-cli
================================================
#compdef bitcoin-cli
# ------------------------------------------------------------------------------
# Copyright (c) 2017 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for bitcoin-cli v29.0.0 (https://bitcoin.org).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Ian Ker-Seymer (https://github.com/ianks)
#  * notmike (https://github.com/notmike-5)
# ------------------------------------------------------------------------------

_bitcoin-cli() {
  local context state line curcontext="$curcontext"
  local ret=1

  _arguments -C \
    -?'[This help message]' \
    -addrinfo'[Get the number of addresses known to the node, per network and total]' \
    -chain='[Use the chain <chain> (default: main). Allowed values: main, test, signet, regtest]:chain:(main test signet regtest)' \
    -color='[Color setting for CLI output (default: auto)]:when:(always auto never)' \
    -conf='[Specify configuration file. Relative paths will be prefixed by datadir location. (default: bitcoin.conf)]:PATH:_files' \
    -datadir='[Specify data directory]:PATH:_directories' \
    -getinfo'[Get general information from the remote server]' \
    -testnet'[Use the test chain]' \
    -regtest'[Enter regression test mode]' \
    -named'[Pass named instead of positional arguments (default: false)]' \
    -netinfo=-'[Get network peer connection information from the remote server.]::level_or_help:(0 1 2 3 4 help)' \
    -stdin'[Read extra arguments from standard input, one per line until EOF/Ctrl-D]' \
    -rpcport='[Connect to JSON-RPC on <port> (default: 8332, testnet: 18332, regtest: 18443)]: :_guard "[[\:digit\:]]#" "PORT"' \
    -rpcwait'[Wait for RPC server to start]' \
    -rpcwaittimeout='[Timeout in seconds to wait for the RPC server to start, or 0 for no timeout. (default: 0)]:timeout' \
    -rpcuser='[Username for JSON-RPC connections]:RPCUSER:()' \
    -rpcpassword='[Password for JSON-RPC connections]:RPCPASSWORD:()' \
    -rpccookiefile='[Location of the auth cookie(default: data dir)]:dir:_files' \
    -rpcwallet='[Send RPC for non-default wallet on RPC server]:server' \
    -rpcconnect='[Send commands to node running on <ip> (default: 127.0.0.1)]:RPCCONNECT:_hosts' \
    -rpcclienttimeout='[Timeout during HTTP requests, or 0 for no timeout. (default: 900)]: :_guard "[[\:digit\:]]#" "RPCCLIENTTIMEOUT"' \
    -version'[Print version and exit]' \
    ':subcommand:->subcommand' && ret=0

  case $state in
    subcommand)
      subcommands=(
        'dumptxoutset'
        'getbestblockhash'
        'getblock'
        'getblockchaininfo'
        'getblockcount'
        'getblockfilter'
        'getblockfrompeer'
        'getblockhash'
        'getblockheader'
        'getblockstats'
        'getchainstates'
        'getchaintips'
        'getchaintxstats'
        'getdeploymentinfo'
        'getdifficulty'
        'getmempoolancestors'
        'getmempooldescendants'
        'getmempoolentry'
        'getmempoolinfo'
        'getrawmempool'
        'gettxout'
        'gettxoutproof'
        'gettxoutsetinfo'
        'gettxspendingprevout'
        'importmempool'
        'loadtxoutset'
        'preciousblock'
        'pruneblockchain'
        'savemempool'
        'scanblocks'
        'scantxoutset'
        'verifychain'
        'verifytxoutproof'
        'getmemoryinfo'
        'getrpcinfo'
        'help'
        'logging'
        'stop'
        'uptime'
        'getblocktemplate'
        'getmininginfo'
        'getnetworkhashps'
        'getprioritisedtransactions'
        'prioritisetransaction'
        'submitblock'
        'submitheader'
        'addnode'
        'clearbanned'
        'disconnectnode'
        'getaddednodeinfo'
        'getaddrmaninfo'
        'getconnectioncount'
        'getnettotals'
        'getnetworkinfo'
        'getnodeaddresses'
        'getpeerinfo'
        'listbanned'
        'ping'
        'setban'
        'setnetworkactive'
        'analyzepsbt'
        'combinepsbt'
        'combinerawtransaction'
        'converttopsbt'
        'createpsbt'
        'createrawtransaction'
        'decodepsbt'
        'decoderawtransaction'
        'decodescript'
        'descriptorprocesspsbt'
        'finalizepsbt'
        'fundrawtransaction'
        'getrawtransaction'
        'joinpsbts'
        'sendrawtransaction'
        'signrawtransactionwithkey'
        'submitpackage'
        'testmempoolaccept'
        'utxoupdatepsbt'
        'enumeratesigners'
        'createmultisig'
        'deriveaddresses'
        'estimatesmartfee'
        'getdescriptorinfo'
        'getindexinfo'
        'signmessagewithprivkey'
        'validateaddress'
        'verifymessage'
        'abandontransaction'
        'abortrescan'
        'backupwallet'
        'bumpfee'
        'createwallet'
        'createwalletdescriptor'
        'encryptwallet'
        'getaddressesbylabel'
        'getaddressinfo'
        'getbalance'
        'getbalances'
        'gethdkeys'
        'getnewaddress'
        'getrawchangeaddress'
        'getreceivedbyaddress'
        'getreceivedbylabel'
        'gettransaction'
        'getunconfirmedbalance'
        'getwalletinfo'
        'importdescriptors'
        'importprunedfunds'
        'keypoolrefill'
        'listaddressgroupings'
        'listdescriptors'
        'listlabels'
        'listlockunspent'
        'listreceivedbyaddress'
        'listreceivedbylabel'
        'listsinceblock'
        'listtransactions'
        'listunspent'
        'listwalletdir'
        'listwallets'
        'loadwallet'
        'lockunspent'
        'migratewallet'
        'psbtbumpfee'
        'removeprunedfunds'
        'rescanblockchain'
        'restorewallet'
        'send'
        'sendall'
        'sendmany'
        'sendtoaddress'
        'setlabel'
        'settxfee'
        'setwalletflag'
        'signmessage'
        'signrawtransactionwithwallet'
        'simulaterawtransaction'
        'unloadwallet'
        'upgradewallet'
        'walletcreatefundedpsbt'
        'walletdisplayaddress'
        'walletlock'
        'walletpassphrase'
        'walletpassphrasechange'
        'walletprocesspsbt'
        'getzmqnotifications'
      )

    _describe -t subcommands 'bitcoin-cli subcommands' subcommands && ret=0
  esac

  return ret
}

_bitcoin-cli "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_blkid
================================================
#compdef blkid
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Description
# -----------
#
# Completion for blkid, util-linux 2.40.2 (https://github.com/util-linux/util-linux/)
# - locate/print block device attributes
# https://man7.org/linux/man-pages/man8/blkid.8.html
# ------------------------------------------------------------------------------
# Authors
# -------
#  * Aditi Sharma (https://github.com/Aditi76117)
# ------------------------------------------------------------------------------

_arguments \
  '(-c --cache-file)'{-c+,--cache-file}'[Read from cachefile instead of reading from the default cache file]:cache file:_files' \
  '(-d --no-encoding)'{-d,--no-encoding}"[Don't encode non-printing characters]" \
  '(-D --no-part-details)'{-D,--no-part-details}"[Don't print information from partition table in low-level probing mode]" \
  '(-g --garbage-collect)'{-g,--garbage-collect}'[Perform a garbage collection on the blkid cache]' \
  '(-H --hint)'{-H,--hint}'[Set probing hint]:setting' \
  '(-i --info)'{-i,--info}'[Display information about I/O limits]' \
  '(-k --list-filesystems)'{-k,--list-filesystems}'[List all known filesystems and RAIDS and exits]' \
  '(-l --list-one)'{-l,--list-one}'[Look up only one device that matches with the --match-token option]' \
  '(-L --label)'{-L+,--label}'[Look up the device that uses this filesystem label]:label' \
  '(-n --match-types)'{-n+,--match-types}'[Restrict the probing functions to the specified comma-separated list of superblock types]:list' \
  '(-o --output)'{-o+,--output}'[Use the specified output format]:format:(full value list device udev export)' \
  '(-O --offset)'{-O+,--offset}'[Probe at the given offset]:offset' \
  '(-p --probe)'{-p,--probe}'[Switch to low-level superblock probing mode]' \
  '(-s --match-tag)'{-s+,--match-tag}'[Show only the tags that match tag]:tag' \
  '(-S --size)'{-S,--size}'[Override the size of device/file]' \
  '(-t --match-token)'{-t+,--match-token}'[Search for block devices with tokens named NAME that have the VALUE]:name' \
  '(-u --usages)'{-u,--usages}'[Restrict the probing functions to the specified comma-separated list of usage types]:list' \
  '(-U --uuid)'{-U,--uuid}'[Look up the device that uses this filesystem uuid]:uuid' \
  '(- *)'{-h,--help}'[Display help text and exit]' \
  '(- *)'{-V,--version}'[Print version and exit]' \
  '*:device:_files -W /dev'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_bower
================================================
#compdef bower
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for Bower (https://bower.io).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Joe Lencioni (https://github.com/lencioni)
#
# ------------------------------------------------------------------------------


local curcontext="$curcontext" state line _opts ret=1

_arguments -C \
  '(- 1 *)'{-v,--version}'[display version information]' \
  '1: :->cmds' \
  '*:: :->args' && ret=0

case $state in
  cmds)
    _values "bower command" \
      "cache[manage bower cache]" \
      "help[display help information about Bower]" \
      "home[opens a package homepage into your favorite browser]" \
      "info[info of a particular package]" \
      "init[interactively create a bower.json file]" \
      "install[install a package locally]" \
      "link[symlink a package folder]" \
      "list[list local packages - and possible updates]" \
      "login[authenticate with GitHub and store credentials]" \
      "lookup[look up a package URL by name]" \
      "prune[removes local extraneous packages]" \
      "register[register a package]" \
      "search[search for a package by name]" \
      "update[update a local package]" \
      "uninstall[remove a local package]" \
      "unregister[remove a package from the registry]" \
      "version[bump a package version]" && ret=0
    _arguments \
      '(--force)--force[make various commands more forceful]' \
      '(--json)--json[output consumable JSON]' \
      '(--log-level)--log-level[what level of logs to report]' \
      "(--offline)--offline[don't hit the network]" \
      '(--quiet)--quiet[only output important information]' \
      "(--silent)--silent[don't output anything, besides errors]" \
      '(--verbose)--verbose[make output more verbose]' \
      '(--allow-root)--allow-root[allow running commands as root]' \
      '(--version)--version[output Bower version]' \
      '(--no-color)--no-color[disable colors]' && ret=0
    ;;
  args)
    case $line[1] in
      help)
        _values 'commands' \
          'cache' \
          'home' \
          'info' \
          'init' \
          'install' \
          'link' \
          'list' \
          'login' \
          'lookup' \
          'prune' \
          'register' \
          'search' \
          'update' \
          'uninstall' \
          'unregister' \
          'version' && ret=0
        ;;
      (home|info|init|link|lookup|prune|register|search|unregister)
        _arguments \
          '(--help)--help[show help message]' && ret=0
        ;;
      install)
        _arguments \
          '(--force-latest)--force-latest[force latest version on conflict]' \
          '(--help)--help[show help message]' \
          "(--production)--production[don't install project devDependencies]" \
          "(--save)--save[save installed packages into the project's bower.json dependencies]" \
          "(--save-dev)--save-dev[save installed packages into the project's bower.json devDependencies]" && ret=0
        ;;
      list)
        _arguments \
          '(--help)--help[show help message]' \
          '(--paths)--paths[generate a simple JSON source mapping]' \
          '(--relative)--relative[make paths relative to the directory config property, which defaults to bower_components]' && ret=0
        ;;
      login)
        _arguments \
          '(--help)--help[show help message]' \
          '(-t --token)'{-t,--token}'[Pass GitHub auth token (will not prompt for username/password)]' && ret=0
        ;;
      uninstall)
        _arguments \
          '(--help)--help[show help message]' \
          "(--save)--save[save installed packages into the project's bower.json dependencies]" \
          "(--save-dev)--save-dev[save installed packages into the project's bower.json devDependencies]" && ret=0
        ;;
      update)
        _arguments \
          '(--force-latest)--force-latest[force latest version on conflict]' \
          '(--help)--help[show help message]' \
          "(--production)--production[don't install project devDependencies]" && ret=0
        ;;
      version)
        _arguments \
          '(--message)--message[custom git commit and tag message]' && ret=0
        ;;
      exec)
        _normal && ret=0
        ;;
      *)
        _opts=(  $(bower help $line[1] | sed -e '/^  \[-/!d; s/^  \[\(-[^=]*\)=.*/\1/') )
        _opts+=( $(bower help $line[1] | sed -e '/^  -/!d; s/^  \(-.\), \[\(-[^=]*\)=.*/\1 \2/') )
        if [[ $_opts != "" ]]; then
          _values 'option' $_opts && ret=0
        fi
        ;;
    esac
    ;;
esac

return ret

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_bundle
================================================
#compdef bundle
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for Bundler 4.0.0 (https://bundler.io/).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Bruno Michel (https://github.com/nono)
#  * Shohei Yoshida (https://github.com/syohex)
#
# ------------------------------------------------------------------------------

_bundle() {
  typeset -A opt_args
  local context state line
  local curcontext="$curcontext"

  local ret=1

  _arguments -C -A "-v" -A "--version" \
    '(- 1 *)'{-v,--version}'[display version information]' \
    '(-r --retry)'{-r,--retry}'[specify the number of times you with to attempt network commands]:number:' \
    '(-V --verbose)'{-V,--verbose}'[print out additional logging information]' \
    '--no-color[print all output without color]' \
    '1: :_bundle_commands' \
    '*:: :->args' && ret=0

  case $state in
    (args)
      case $words[1] in
        (help)
          _arguments \
            '1: :_bundle_commands' \
            && ret=0
          ;;
        (install)
          local -a policies=('HighSecurity' 'MediumSecurity' 'LowSecurity' 'AlmostNoSecurity' 'NoSecurity')
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '(--force --redownload)'{--force,--redownload}'[force reinstalling every gem]' \
            '--full-index[download and cache the index file of all gems]' \
            '--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile:_files' \
            '(-j --jobs)'{-j,--jobs}'[the maximum number of parallel download and install jobs]:number' \
            '--local[do not attempt to connect to rubygems.org]' \
            '--lockfile=[location of the lockfile which Bundler should use]:path:_files' \
            '--prefer-local[force using locally installed gems]' \
            '--no-cache[do not update the cache in vendor/cache with newly installed gems]' \
            '--no-lock[do not create a lockfile]' \
            '--quiet[only output warnings and errors]' \
            '--retry=[retry number when network or git requests failed]:number' \
            '--standalone=-[create standalone bundles]:groups:_bundle_groups' \
            "--trust-policy=-[apply the Rubygems security policy]:arg:($policies)" \
            && ret=0
          ;;
        (update)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--all[update all gems specified in Gemfile]' \
            \*{--group,-g}=-'[only update the gems in the specified group]' \
            '--source=-[the name of a source used in the Gemfile]:url' \
            '--local[do not attempt to fetch gems remotely and use the gem cached instead]' \
            '--ruby[update the locked version of Ruby to the current version of Ruby]' \
            '--bundler[update the locked version of bundler to invoked bundler version]' \
            '(--force --redownload)'{--force,--redownload}'[force reinstalling every gem]' \
            '--full-index[fall back to using the single-file index of all gems]' \
            '(-j --jobs)'{-j,--jobs}'[specify the number of jobs to run in parallel]:number' \
            '--retry=-[retry failed network or git requests for number times]:number' \
            '--quiet[only output warnings and errors]' \
            '--patch[prefer updating only to next patch version]' \
            '--minor[prefer updating only to next minor version]' \
            '--major[prefer updating only to next major version (default)]' \
            '--pre[always choose the highest allowed version]' \
            '--strict[do not allow any gem to be updated past latest --patch | --minor | --major]' \
            '--conservative[use bundle install conservative update behavior]' \
            '*:: :_bundle_gems' \
            && ret=0
          ;;
        (cache)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--all-platforms[include gems for all platforms present in the lockfile, not only the current one]' \
            '--cache-path=-[specify a different cache path than the default(vendor/cache)]: :_files -/' \
            '--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile:_files' \
            "--no-install[don't install the gems, only update the cache]" \
            '--quiet[only output warnings and errors]' \
            && ret=0
          ;;
        (exec)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--gemfile=[use the specified gemfile instead of Gemfile]' \
            '*:: :_normal' \
            && ret=0
          ;;
        (config)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '1: :_bundle_config_subcommands' \
            '--local[use local configuration]' \
            '--global[use global configuration]' \
            && ret=0
          ;;
        (add)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '(-v --version)'{-v,--version}=-'[specify version requirements for the added gem]:version' \
            '(-g --group)'{-g,--group}=-'[specify the group for the added gem]:group:_bundle_groups' \
            '(-s --source)'{-s,--source}=-'[specify the source for the added gem]: :_files' \
            '(-r --require)'{-r,--require}=-'[adds require path to gem]: :_files' \
            '--path=[specify the file path for the added gem]: :_files -/' \
            '--git=[specify the git source for the added gem]:git' \
            '--github=[specify the github source for the added gem]:github' \
            '--branch=[specify the git branch for the added gem]:branch' \
            '--ref=[specify the git ref for the added gem]' \
            "--glob=[specify the location of a dependency's .gemspec, expanded within Ruby]:glob" \
            '--quiet[do not print progress information to the standard output]' \
            '--skip-install[adds the gem to the Gemfile but does not install it]' \
            '--optimistic[adds optimistic declaration of version]' \
            '--strict[adds strict declaration of version]' \
            '1::gem' \
            && ret=0
          ;;
        (binstubs)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--force[overwrite existing binstubs if they exist]' \
            '--standalone[makes binstubs that can work without depending on Rubygems or Bundler at runtime]' \
            '--shebang=-[specify a different shebang executable name than the default(default: ruby)]: :_files' \
            '--all[create binstubs for all gems in the bundle]' \
            '--all-platforms[install binstubs for all platforms]' \
            '1::gem:' \
            && ret=0
          ;;
        (check)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--dry-run[locks the Gemfile before running the command]' \
            '--gemfile=-[use the specified gemfile instead of the Gemfile]: :_files' \
            && ret=0
          ;;
        (show)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--paths[list the paths of all gems that are required by your Gemfile]' \
            '1:: :_bundle_gems' \
            && ret=0
          ;;
        (outdated)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--local[do not attempt to fetch gems remotely and use the gem cache instead]' \
            '--pre[check for newer pre-release gems]' \
            '--source=[check against a specific source]:source:_files' \
            '(--filter-strict --strict)'{--filter-strict,--strict}'[only list newer versions allowed by your Gemfile requirements]' \
            '(--parseable --porcelain)'{--parseable,--porcelain}'[use minimal formatting for more parsable output]' \
            '--group=[list gems from a specific group]:group:_bundle_groups' \
            '--groups[list gems organized by groups]' \
            '--major[prefer updating to next major version(default)]' \
            '--minor[prefer updating only to next minor version]' \
            '--patch[prefer updating only to next patch version]' \
            '--filter-major[only list major new versions]' \
            '--filter-minor[only list minor new versions]' \
            '--filter-patch[only list patch new versions]' \
            '--only-explicit[only list gems specified in your Gemfile, not their dependencies]' \
            '*:: :_bundle_gems' \
            && ret=0
          ;;
        (console)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--no-color[disable colorization in output]' \
            '(-r --retry)'{-r,--retry}='[specify the number of times you with to attempt network commands]:num' \
            '1:: :_bundle_groups' \
            && ret=0
          ;;
        (open)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--path=[specify GEM source relative path to open]:path:_files' \
            '1:: :_bundle_gems' \
            && ret=0
          ;;
        (list)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--name-only[print only the name of each gem]' \
            '--paths[print the path to each gem in the bundle]' \
            '--without-group=-[a space-separated list of groups of gems to skip during printing]: :_bundle_groups' \
            '--only-group=-[a space-separated list of groups of gems to print]: :_bundle_groups' \
            '--format[output format]:format:(json)' \
            && ret=0
          ;;
        (lock)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--update=-[ignores the existing lockfile]' \
            '--bundler=-[update the locked version of bundler to the given version or the latest version]:version' \
            '--local[do not attempt to connect to rubygems.org]' \
            '--print[prints the lockfile to STDOUT instead of writing to the file system]' \
            '--lockfile=[the path where the lick file should be written to]: :_files' \
            '--full-index[fall back to using the single file index of all gems]' \
            '--gemfile=[use the specified gemfile instead of Gemfile]:file:_files' \
            '--add-checksums[add checksums to the lockfile]' \
            '--add-platform=[add a new platform to the lockfile]:platforms' \
            '--remove-platform=[remove a platform from the lockfile]:platforms' \
            '--normalize-platforms[normalize lockfile platforms]' \
            '--patch[if updating, prefer updating only to next patch version]' \
            '--minor[if updating, prefer updating only to next minor version]' \
            '--major[if updating, prefer updating  to next major version(default)]' \
            '--pre[if updating, always choose the highest allowed version]' \
            '--strict[if updating, do not allow any gem to be updated past latest --patch | --minor | --major]' \
            '--conservative[if updating, use bundle install conservative update behavior]' \
            && ret=0
          ;;
        (init)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--gemspec=-[use the specified .gemspec to create the Gemfile]: :_files' \
            '--gemfile=[use the specified name for the gemfile instead of Gemfile]:name' \
            && ret=0
          ;;
        (gem)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '(--exe -b --bin --no-exe)'{--exe,-b,--bin}'[specify that bundler should create a binary executable in the generated rubygem project]' \
            '(--exe -b --bin --no-exe)--no-exe[do not create a binary]' \
            '(--no-coc)--coc[add a CODE_OF_CONDUCT.md to the root of the generated project]' \
            '(--coc)--no-coc[do not create a CODE_OF_CONDUCT.md]' \
            '(--changelog --no-changelog)--changelog[add a CHANGELOG.md file to the root of the project]' \
            '(--changelog --no-changelog)--no-changelog[do not add a CHANGELOG.md file to the root of the project]' \
            '(--no-ext --ext)--ext=[add boilerplate for C, GO or Rust extension code to the generated project]: :(c go rust )' \
            '(--ext --no-ext)--no-ext[do not add extension code]' \
            '--git[initialize a git repo inside your library]' \
            '--github-username=[Github username on README]:username' \
            '(--no-mit --mit)--mit[add an MIT license to a LICENSE.txt file in the root of the generated project]' \
            '(--mit --no-mit)--no-mit[do not create a LICENSE.txt]' \
            '(-t --test --no-test)'{-t,--test}='[specify the test framework]: :(minitest rspec test-unit)' \
            '(-t --test --no-test)--no-test[do not use a test framework]' \
            '(--ci --no-ci)--ci=-[specify the continuous integration service]: :(circle github gitlab)' \
            '(--ci --no-ci)--no-ci[do not use a continuous integration service]' \
            '(--linter --no-linter)--linter=-[specify the linter and code formatter]: :(rubocop standard)' \
            '(--linter --no-linter)--no-linter[do not add a linter]' \
            '(-e --edit)'{-e,--edit}='[open the resulting GEM_NAME.gemspec in EDITOR]:editor' \
            '(--bundle --no-bundle)--bundle[run bundle install after creating the gem]' \
            '(--bundle --no-bundle)--no-bundle[do not run bundle install after creating the gem]' \
            '1::gem_name:' \
            && ret=0
          ;;
        (platform)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--ruby[it will display the ruby directive information]' \
            && ret=0
          ;;
        (clean)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--dry-run[print the changes, but do not clean the unused gems]' \
            '--force[forces cleaning up unused gems even if Bundler is configured to use globally installed gems]' \
            && ret=0
          ;;
        (doctor)
          _bundle_doctor && ret=0
          ;;
        (remove)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '*:: :_bundle_gems' \
            && ret=0
          ;;
        (plugin)
          _bundle_plugin && ret=0
          ;;
      esac
      ;;
  esac

  return ret
}

_bundle_commands() {
  local -a commands=(
    "install:Install the gems specified by the Gemfile or Gemfile.lock"
    "update:Update dependencies to their latest versions"
    "cache:Package the .gem files required by your application"
    "exec:Execute a script in the context of the current bundle"
    "config:Specify and read configuration options for bundler"
    "help:Describe available tasks or one specific task"
    "add:Add the named gem to the Gemfile and run bundle install"
    "binstubs:Generate binstubs for executables in a gem"
    "check:Determine whether the requirements for your application are installed"
    "show:Show the source location of a particular gem in the bundle"
    "outdated:Show all of the outdated gems in the current bundle"
    "console:Start an IRB session in the context of the current bundle"
    "open:Open an installed gem in the editor"
    "list:Show all of the gems in the current bundle"
    "lock:Generate a lockfile for your dependencies"
    "init:Generate a simple Gemfile, placed in the current directory"
    "gem:Create a simple gem, suitable for development with bundler"
    "platform:Displays platform compatibility information"
    "clean:Clean up unused gems in your Bundler directory"
    "doctor:Display warnings about common problems"
    "remove:Removes gems from the Gemfile"
    "plugin:Manage Bundler plugins"
    "version:Prints Bundler version information"
  )

  _describe -t commands 'command' commands "$@"
}

_bundle_gems() {
  local -a gems=($(bundle show | awk '/^  / { print $2 }'))
  if [[ $? == 0 ]]; then
    _values 'gems' $gems
  fi
}

_bundle_groups() {
  if [[ -e Gemfile ]]; then
    local -a groups=(${(@f)"$(awk '/^ *group *:/{sub(/^ *group *:/, ""); print $1}' Gemfile)"})
    _values 'groups' $groups
  fi
}

_bundle_config_subcommands() {
  local -a subcommands=(
    "list:print a list of all bundler configuration"
    "get:print the value of that configuration setting"
    "set:set <name> <value> defaults to setting configuration"
    "unset:delete the configuration"
  )
  _describe -t subcommands 'subcommand' subcommands "$@"
}

_bundle_plugin() {
  local ret=1

  _arguments -C \
    '(- *)'{-h,--help}'[show help message]' \
    '1:subcommand:_bundle_plugin_subcommands' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (install)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--source=[install the plugin gem from a specific source]:url:_urls' \
            '--version=[specify a version of the plugin gem]:version' \
            '--git=[install the plugin gem from a Git repository]:url:_urls' \
            '--branch=[branch name when using --git]:branch' \
            '--ref=[tag or commit hash when using --git]:ref' \
            '--path=[local file path to install the plugin gem]:path:_files -/' \
            '*::plugins' \
            && ret=0
          ;;
        (uninstall)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '--all[uninstall all the installed plugins]' \
            '*::plugins' \
            && ret=0
          ;;
        (list)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            && ret=0
          ;;
        (help)
          _arguments \
            '(- *)'{-h,--help}'[show help message]' \
            '1:subcommand:(install uninstall list help)' \
            && ret=0
          ;;
      esac
    ;;
  esac

  return ret
}

_bundle_plugin_subcommands() {
  local -a subcommands=(
    'install:install the given plugins'
    'uninstall:uninstall the plugins'
    'list:list the installed plugins and available commands'
    'help:describe subcommands or one specific subcommand'
  )

  _describe -t subcommands 'subcommand' subcommands "$@"
}

_bundle_doctor() {
  local ret=1

  _arguments -C \
    '(- *)'{-h,--help}'[show help message]' \
    '--quiet[only output warnings and errors]' \
    '--gemfile=[the location of the Gemfile which Bundler should use]: :_files' \
    '--ssl[diagnose common SSL problems when connecting to https://rubygems.org]' \
    '1:subcommand:_bundle_doctor_subcommands' \
    '*:: :->arg' \
    && ret=0

  case $state in
    (arg)
      case $words[1] in
        (diagnose)
          _arguments \
            '--quiet[only output warnings and errors]' \
            '--gemfile=[the location of the Gemfile which Bundler should use]: :_files' \
            '--ssl[diagnose common SSL problems when connecting to https://rubygems.org]' \
            && ret=0
          ;;
        (ssl)
          _arguments \
            '--host=[perform the diagnostic on HOST(default: rubygems.org)]:host' \
            '--tls-version=[TLS version to connect to HOST]:version:(1.1 1.2)' \
            '--verify-mode=[specify the TLS verify mode]:mode:(CLIENT_ONCE FAIL_IF_NO_PEER_CERT NONE PEER)' \
            && ret=0
          ;;
        (help)
          _arguments \
            '1:subcommand:_bundle_doctor_subcommands' \
            && ret=0
          ;;
      esac
    ;;
  esac

  return ret
}

_bundle_doctor_subcommands() {
  local -a subcommands=(
    'diagnose:check your Gemfile and gem environment for common problems'
    'ssl:check issues related to SSL certificates or/and TLS versions'
    'help:describe subcommands or one specific subcommand'
  )

  _describe -t subcommands 'subcommand' subcommands "$@"
}

_bundle "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_cap
================================================
#compdef cap
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for Capistrano 3.19.2 (https://capistranorb.com/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Bruno Michel (https://github.com/nono)
#  * Shohei Yoshida (https://github.com/syohex)
#
# ------------------------------------------------------------------------------


local curcontext="$curcontext" state line cmds ret=1

_arguments -C \
  '--backtrace=[Enable full backtrace]: :(stderr stdout)' \
  '--comments[Show commented tasks only]' \
  '--job-stats[Display job statistics]:level' \
  '--rules[Trace the rules resolution]' \
  '--suppress-backtrace[Suppress backtrace lines matching regexp PATTERN]:pattern' \
  '(-A --all)'{-A,--all}'[Show all tasks, even uncommented ones]' \
  '(-B --build-all)'{-B,--build-all}'[Build all prerequisites, including those which are up-to-date]' \
  '(-C --directory)'{-C,--directory}'[Change to DIRECTORY before doing anything]: :_files -/' \
  '(-D --describe)'{-D,--describe}'[Describe the tasks, then exit]:pattern' \
  '(-e --execute)'{-e,--execute}'[Execute some Ruby code and exit]:code' \
  '(-E --execute-continue)'{-E,--execute-continue}'[Execute Ruby code and continue with task processing]:code' \
  '(-f --rakefile)'{-f,--rakefile}'[Use FILENAME as the rakefile to search for]: :_files' \
  '(-G --no-system --nosystem)'{-G,--no-system,--nosystem}'[Use standard project Rakefile search paths, ignore system wide rakefiles]' \
  '(-g --system)'{-g,--system}'[Using system wide rakefiles]' \
  '(-I --libdir)'\*{-I,--libdir}'[Include LIBDIR in the search path for required modules]: :_files -/' \
  '(-j --jobs)'{-j-,--jobs-}'[Specifies the maximum number of tasks to execute in parallel]:num' \
  '(-m --multitask)'{-m,--multitask}'[Treat all tasks as multitasks]' \
  '(-N --no-search --nosearch)'{-N,--no-search,--nosearch}'[Do not search parent directories for the Rakefile]' \
  '(-P --prereqs)'{-P,--prereqs}'[Display the tasks and dependencies, then exit]' \
  '--execute-print[Execute some Ruby code, print the result, then exit]:code' \
  '*--require[Require MODULE before executing rakefile]:module' \
  '(-R --rakelibdir --rakelib)'{-R,--rakelibdir,--rakelib}'[Auto-import any .rake files in RAKELIBDIR]: :_files -/' \
  '(-t --trace)'{-t,--trace}'[Turn on invoke/execute tracing, enable full backtrace]: :(stderr stdout)' \
  '(-T --tasks)'{-T,--tasks}'[Display the tasks with descriptions]::pattern' \
  '(-W --where)'{-W,--where}'[Describe the tasks then exit]::pattern' \
  '(-X --no-deprecation-warnings)'{-X,--no-deprecation-warnings}'[Disable the deprecation warnings]' \
  '(- *)'{-V,--version}'[Display the program version]' \
  '(-n --dry-run)'{-n,--dry-run}'[Do a dry run without executing actions]' \
  '(-r --roles)'{-r,--roles}'[Run SSH commands only on hosts matching these roles]:roles' \
  '(-z --hosts)'{-z,--hosts}'[Run SSH commands only on matching hosts]:hosts' \
  '(-p --print-config-variables)'{-p,--print-config-variables}'[Display the defined config variables before starting the deployment tasks]' \
  '(- *)'{-h,-H,--help}'[Display help message]' \
  '*: :->cmds' && ret=0

case $state in
  cmds)
    cmds=( ${(f)"$(_call_program commands cap -T 2>/dev/null | sed -e '/ # /!d; s/:/\\:/g; s/cap \([A-Za-z0-9\\:_-]*\) .*# /\1:/')"} )
    _describe -t commands 'cap command' cmds && ret=0
    ;;
esac

return ret

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_cask
================================================
#compdef cask
# ------------------------------------------------------------------------------
# Copyright (c) 2014 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for cask (https://cask.readthedocs.io)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * ptrv <mail@petervasil.net>
# * Johan Andersson <johan.rejeep@gmail.com>
# * Sebastien Duthil <duthils@free.fr>
#
# ------------------------------------------------------------------------------

function _cask() {
  typeset -A opt_args
  local context state line ret=1
  local curcontext="$curcontext"

  _arguments -C \
    '(--proxy --http-proxy --https-proxy)--proxy[Set emacs proxy for HTTPS and HTTPS]:host:_hosts' \
    '(--proxy --http-proxy)--http-proxy[Set emacs proxy for HTTP]:host:_hosts' \
    '(--proxy --https-proxy)--https-proxy[Set emacs proxy for HTTPS]:host:_hosts' \
    '(--proxy --http-proxy --https-proxy)--proxy[Set emacs proxy for HTTPS and HTTPS]:host:_hosts' \
    '--no-proxy[Set Emacs no-proxy to HOST]:host:_hosts' \
    '(- *)--version[Print Cask version and exit]' \
    '(- *)'{-h,--help}'[Display usage or information for command]::command:->subcommand' \
    '--debug[Turn on debug output]' \
    '--path[Run command in this PATH instead of default-directory]:dir:_files -/' \
    '(--verbose --silent)--verbose[Be verbose and show debug output]' \
    '(--verbose --silent)--verbose[Be slient and do not show anything]' \
    ':subcommand:->subcommand' \
    '*:: :->subcmds' \
    && ret=0

  case $state in
    (subcommand)
      local -a subcommands=(
        "build:build all Elisp files in the files directive"
        "clean-elc:remove all byte compiled Elisp files in the files directive"
        "exec:execute command with correct 'exec-path' and 'load-path'"
        "exec-path:print 'exec-path' for all packages and dependencies"
        "files:print list of files specified in the files directive"
        "help:display usage information or documentation for specified command"
        "info:show info about the current package"
        "init:initialize the current directory with a Cask-file"
        "install:install all packages specified in the Cask-file"
        "link:manage links"
        "list:list dependencies"
        "load-path:print 'load-path' for all packages and dependencies"
        "outdated:print list of outdated packages"
        "package:build package and put in specified directory (default: dist)"
        "package-directory:print current package installation directory"
        "path:print 'exec-path' for all packages and dependencies"
        "pkg-file:write a 'define-package' file"
        "update:update package version"
        "upgrade-cask:upgrade Cask itself and its dependencies"
        "upgrade:upgrade Cask itself and its dependencies"
        "version:print program version"
      )

      _describe -t subcommands 'cask subcommands' subcommands && ret=0
      ;;
    (subcmds)
      case "$words[1]" in
        (init)
          _arguments \
            '(--dev)--dev[Run in dev mode]' \
            && ret=0
          ;;
        (exec)
          _generic
          ;;
      esac
      ;;
  esac

  return ret
}

_cask "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_ccache
================================================
#compdef ccache -P -value-,CCACHE_*,-default-

# zsh completion script for ccache 4.10.2

# Copyright 2018 CERN for the benefit of the LHCb Collaboration.

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
#   list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
#   this list of conditions and the following disclaimer in the documentation
#   and/or other materials provided with the distribution.
#
# * Neither the name of the copyright holder nor the names of its
#   contributors may be used to endorse or promote products derived from
#   this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# In applying this licence, CERN does not waive the privileges and immunities
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

# allow users to define their better compilers
# inspired by _cmake_compilers
# users could override with
#
# _ccache_compilers() {
#   local -a _ccache_compilers
#   _ccache_compilers=(gcc g++ clang clang++)
#   _wanted compilers expl "compiler" compadd -- $_ccache_compilers
# }
(( $+functions[_ccache_compilers] )) ||
_ccache_compilers() {
  _command_names -e
}

_ccache_booleans() {
  _message 'There are no "false" values, unset variable to disable'
  local description=${1:-boolean}
  local -a booleans=('true' 'yes')
  _describe -t booeans "$description" booleans
}

(( $+functions[_ccache_sloppiness] )) ||
_ccache_sloppiness() {
  _values -s ',' \
    'clang_index_store[ignore the clang compiler option -index-store-path and its argument]' \
    'file_stat_matches[rely on mtimes and ctimes]' \
    'file_stat_matches_ctime[ignore ctime when file_stat_matches is enabled]' \
    'gcno_cwd[not hash the current working directory]' \
    'incbin[pretend the .incbin directive]' \
    'include_file_ctime[ignore headers ctime too new]' \
    'include_file_mtime[ignore headers mtime too new]' \
    'ivfsoverlay[ignore the clang option -ivfsoverlay and its argument]' \
    'locale[include locale environment variables in the hash]' \
    'module[enable cache even if -fmodules is used]' \
    'pch_defines[be sloppy about #defines in pch]' \
    'random_seed[ignore the -frandom-seed option and its argument]' \
    'system_headers[only check non-system headers in direct mode]' \
    'time_macros[ignore __DATE__ and __TIME__]'
}

(( $+functions[_ccache_compilerchecks] )) ||
_ccache_compilerchecks() {
  local -a compiler_check_values=(
    'content:the actual compiler binary'
    'mtime:mtime and size of the compiler'
    'none:ignore compiler for hashing'
    'string\::any hard coded string (pre-computed version)'
    '%compiler%\ -v:any compiler invocation output'
  )
  _describe -t compilerchecks "compiler information included in the hash" compiler_check_values
}

(( $+functions[_ccache_compiler_type] )) ||
_ccache_compiler_type() {
  local -a compiler_types=(
    'auto:guess compiler name'
    'clang:clang-based compiler'
    'clang-cl:clang-cl'
    'gcc:gcc-based compiler'
    'icl:Intel compiler on Windows'
    'msvc:Microsoft Visual C++'
    'nvcc:NVCC CUDA compiler'
    'other:any compiler other than the known types'
  )
  _describe -t compiler_types "compiler types" compiler_types
}

if [[ "$service" = -value-* ]]; then
  case $service in
    *CCACHE_*DIR*)
      # CCACHE_BASEDIR: relative to which top level paths are hashed
      # CCACHE_DIR: where the cache and config are kept
      # CCACHE_TEMPDIR: where temporary files are kept
      # all: a single path
      _path_files -/
      ;;
    *CCACHE_CC*)
      _ccache_compilers
      ;;
    *CCACHE_COMPILERCHECK*)
      _ccache_compilerchecks
      ;;
    *CCACHE_*COMPRESS*)
      _ccache_booleans "write compressed cache"
      ;;
    *CCACHE_EXTENSION*)
      _alternative ':set extension for intermediate files: '
      ;;
    *CCACHE_*DIRECT*)
      _ccache_booleans "use direct mode"
      ;;
    *CCACHE_*DISABLE*)
      _ccache_booleans "disable cache usage"
      ;;
    *CCACHE_EXTRAFILES*)
      local sep=:
      compset -P "*${sep}"
      compset -S "${sep}*" || suf="$sep"

      _files "" -r "${sep}"' /\t\t\-' "$@"
      ;;
    *CCACHE_*HARDLINK*)
      _ccache_booleans "create hard links rather than copies"
      ;;
    *CCACHE_*HASHDIR*)
      _ccache_booleans "include the cwd in the hash"
      ;;
    *CCACHE_IGNOREHEADERS*)
      _dir_list
      ;;
    *CCACHE_*COMMENTS*)
      _ccache_booleans "consider comments in hashing"
      ;;
    *CCACHE_LIMIT_MULTIPLE*)
      _alternative ":clean up down to level (e.g. 0.8): "
      ;;
    *CCACHE_LOGFILE*)
      _path_files -g "*(/) *.log"
      ;;
    *CCACHE_MAXFILES*)
      _alternative ":maximum number of files in the cache (0= no limit): "
      ;;
    *CCACHE_MAXSIZE*)
      _alternative ':maximum cache size (0= no limit) with suffix k,M,G,T or Ki,Mi,Gi,Ti: '
      ;;
    *CCACHE_PATH*)
      _alternative ':PATH for compiler lookup (instead of $PATH):_dir_list'
      ;;
    *CCACHE_PREFIX*)
      _alternative ':prefixes for compiler invocation: '
      ;;
    *CCACHE_PREFIX_CPP*)
      _alternative ':prefixes for preprocessor invocation: '
      ;;
    *CCACHE_*READONLY*)
      _ccache_booleans "treat cache as read-only"
      ;;
    *CCACHE_*READONLY_DIRECT*)
      _ccache_booleans "retrieve from read-only cache in direct mode"
      ;;
    *CCACHE_*RECACHE*)
      _ccache_booleans "use cache in write-only mode"
      ;;
    *CCACHE_*CPP2*)
      _ccache_booleans "pass original rather than preprocessed source code to compiler"
      ;;
    *CCACHE_SLOPPINESS*)
      _ccache_sloppiness
      ;;
    *CCACHE_*STATS*)
      _ccache_booleans "update statistics counters"
      ;;
    *CCACHE_UMASK*)
      _alternative ":umask value (octal): "
      ;;
    *CCACHE_*UNIFY*)
      _ccache_booleans "normalize sources prior to processing"
      ;;
  esac

  return
fi

__ccache_config_keys() {
  local -a keys=(
    'absolute_paths_in_stderr:rewrite relative paths in error output to absolute paths'
    'base_dir:specify relative to which top level paths are hashed'
    'cache_dir:specify where the cache is kept'
    'compiler:specify compiler'
    'compiler_check:compiler information included in the hash'
    'compiler_type:force a compiler type'
    'compression:write compressed cache'
    'compression_level:cache compression level'
    'cpp_extension:set extensions for intermediate files'
    'debug:enable debug mode'
    'debug_dir:specify directory to write debug files'
    'debug_level:specify the amount of debug information'
    'depend_mode:enable depend mode'
    'direct_mode:use direct mode'
    'disable:disable cache usage'
    'extra_files_to_hash:additional files to consider in hashing'
    'file_clone:use file cloning to store and fetch cached compiler results'
    'hard_link:create hard links rather than copies'
    'hash_dir:include the cwd in the hash'
    'ignore_headers_in_manifest:set paths to headers to ignore in hashing'
    'ignore_options:list of options that ccache will ignore'
    'inode_cache:cache source file hashes based on device, inode and timestamps'
    'keep_comments_cpp:consider comments in hashing'
    'log_file:specify a log file'
    'max_files:maximum number of files in the cache'
    'max_size:maximum size of the cache'
    'msvc_dep_prefix:specify the prefix of included files output for MSVC compiler'
    'namespace:namespace will be added to the hashed data for each compilation'
    'path:PATH for compiler lookup (instead of $PATH)'
    'pch_external_checksum:use .sum file for hash'
    'prefix_command:prefixes for compiler invocation'
    'prefix_command_cpp:prefixes for preprocessor invocation'
    'read_only:treat cache as read-only'
    'read_only_direct:retrieve from read-only cache in direct mode'
    'recache:use cache in write-only mode'
    'remote_only:use remote storage'
    'remote_storage:specify one or several storage backends'
    'reshare:write results to remote storage even for local storage cache hits'
    'run_second_cpp:pass original rather than preprocessed source code to compiler'
    'sloppiness:hash files sloppy'
    'stats:update statistics counters'
    'stats_log:write statistics counter updates to the specified file'
    'temporary_dir:specify where temporary files are kept'
    'umask:set umask for ccache and child processes (e.g. for sharing cache)'
  )
  _describe -t configkeys "configuration keys" keys -S '='
}

if compset -P '--set-config=*='; then
  case $IPREFIX in
    ( *=absolute_paths_in_stderr= | *=compression= | *=debug= | *=depend_mode= | *=direct_mode= | *=disable= | *=file_clone= | *=hard_link= | *=hash_dir= | *=inode_cache= | *=keep_comments_cpp= | *=read_only= | *=read_only_direct= | *=recache= | *=run_second_cpp= | *=stats= | *=unify= )
      local -a booleans=('true' 'false')
      _describe -t booleans 'boolean' booleans
      ;;
    (*=base_dir= | *=cache_dir= | *=debug_dir= | *=temporary_dir=)
      _path_files -/
      ;;
    (*=compiler=)
      _ccache_compilers
      ;;
    (*=compiler_check=)
      _ccache_compilerchecks
      ;;
    (*=compiler_type=)
      _ccache_compiler_type
      ;;
    (*=extra_files_to_hash=)
      local sep=:
      compset -P "*${sep}"
      compset -S "${sep}*" || suf="$sep"

      _files "" -r "${sep}"' /\t\t\-' "$@"
      ;;
    ( *=ignore_headers_in_manifest= | *=path= )
      _dir_list
      ;;
    (*=log_file= | *=stats_log= )
      _path_files -g "*(/) *.log"
      ;;
    (*=sloppiness=)
      _ccache_sloppiness
      ;;
    *=umask=)
      _alternative ":umask value (octal): "
      ;;
  esac
elif [[ $words[2] == -* ]]; then
  # if the first argument starts with -, we are in configure-ccache mode
  _arguments \
    '*'{-o,--set-config=}"[set configuration key]:keys:__ccache_config_keys" \
    '(: -)'{-h,--help}'[show help message]' \
    '(: -)'{-V,--version}'[print version and copyright information]' \
    '(-c --cleanup)'{-c,--cleanup}'[delete old files and recalculate size counters]' \
    '(-C --clear)'{-C,--clear}'[clear the cache completely (except configuration)]' \
    '--config-path[operate on configuration file PATH instead of the default]: :_files' \
    '(-d --dir)'{-d,--dir}'[operate on cache directory PATH instead of the default]: :_files -/' \
    '--evict-namespace[remove file created in namespace NAMESPACE]:namespace' \
    '--evict-older-than[remove files older than AGE]:age' \
    '(-F --max-files=)'{-F,--max-files=}'[set maximum number of files in cache]:number of files in cache: ' \
    '(-M --max-size=)'{-M,--max-size=}'[set maximum size of cache]:cache size: ' \
    '(-X --recompress)'{-X,--recompress}'[recompress the cache to level LEVEL]:level' \
    '--recompress-threads[use up to THREADS threads when recompressing the cache]:threads' \
    '(-x --show-compression)'{-x,--show-compression}'[show compression statistics]' \
    '(-p --show-config)'{-p,--show-config}'[show current configuration options]' \
    '--show-log-stats[print statistics counters from the stats log in human-readable format]' \
    '(-s --show-stats)'{-s,--show-stats}'[show statistics summary]' \
    '(-v --verbose)'{-v,--verbose}'[increase verbosity]' \
    '(-z --zero-stats)'{-z,--zero-stats}'[zero statistics counters]' \
    '--trim-dir[remove old files from directory _PATH_]: :_files -/'  \
    '--trim-max-size[specify the maximum size for --trim-dir]:size' \
    '--trim-method[specify the method for --trim-dir]: :(atime mtime)' \
    '--trim-recompress[recompress to level LEVEL]:level' \
    '--trim-recompress-threads[use up to THREADS threads when recompressing]:threads' \
    '--checksum-file[print the checksum of the file at PATH]: :_files' \
    '--extract-result[extract file data stored in result file at PATH to the current working directory]' \
    '--format[specify format for --print-log-stats and --print-stats]:format:(tab json)' \
    '(-k --get-config)'{-k,--get-config}'[print the value of configuration key]:key' \
    '--hash-file[print the hash of the file at PATH]: :_files' \
    '--inspect[print result/manifest file at PATH in human-readable format]' \
    '--print-log-stats[print statistics counter IDs and corresponding values from the stats log]' \
    '--print-stats[print statistics counter IDs and corresponding values in machine-parsable format]' \
    '--print-version[print version only]'
elif [[ $CURRENT -eq 2 ]]; then
  _ccache_compilers
else
  # the command line already looks like 'ccache <compiler> ...'
  # forward to the completion function of the compiler
  (( CURRENT-- ))
  shift words
  _normal
fi

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_certbot
================================================
#compdef certbot
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for certbot 5.1.0 (https://github.com/certbot/certbot)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_certbot() {
  typeset -A opt_args
  local context state line
  local curcontext="$curcontext"
  local ret=1

  _arguments -C -A "-*" \
    '(- *)'{-h,--help}'[Print help message]:topic:_certbot_help_topics' \
    '(- *)--version[Print version and exit]' \
    '1: :_certbot_subcommands' \
    '*::arg:->args' \
    && ret=0

  case "$state" in
    (args)
      local -a opts=(
        '(- *)'{-h,--help}'[Show help message and exit]'
        '(-c --config)'{-c,--config}'[Path to config file]:config_file:_files'
      )
      case $words[1] in
        (run|certonly|renew|enhance|certificates|delete|reconfigure)
          opts+=(
            '--cert-name[Certificate name to apply]:name'
          )
          ;|
        (run|certonly|renew|reconfigure)
          opts+=(
            '--deploy-hook[Command to be run once for each successfully issued certificate]:hook'
          )
          ;|
        (run|certonly|renew)
          opts+=(
            '(-q --quiet)'{-q,--quiet}'[Silence all output except errors]'
            '--required-profile[Request the given profile name from the ACME server]:profile'
            '--preferred-profile[Request the given profile name from the ACME server]:profile'
            '--preferred-chain[Set the preferred certificate chain]:chain'
          )
          ;|
        (run|certonly|enhance|certificates)
          opts+=(
            '(-d --domains --domain)'{-d,--domains,--domain}'[Domain names to include]'
          )
          ;|
        (run|certonly|enhance|register)
          opts+=(
            '--force-interactive[Force Certbot to be interactive even not in a terminal]'
          )
          ;|
        (run|certonly|enhance)
          opts+=(
            '(-n --non-interactive --noninteractive)'{-n,--non-interactive,--noninteractive}'[Run without ever asking for user input]'
          )
          ;|
        (run|certonly|register)
          opts+=(
            '--eab-kid[Key identifier for External Account Binding]:eab_kid'
            '--eab-hmac-key[HMAC key for External Account Binding]:eab_hmac_key'
            '--eab-hmac-alg[HMAC algorithm for External Account Binding(default: HS256)]:algorithm:(HS256 HS384 HS512)'
          )
          ;|
        (run|certonly)
          opts+=(
            '(--keep-until-expiring --keep --reinstall)'{--keep-until-expiring,--keep,--reinstall}'[Always keep the existing one until it is due for renewal]'

            '--debug-challenges[After setting up challenges, wait for user input before submitting to CA]'

            '--issuance-timeout[How many seconds Certbot will wait for the server to issue a certificate]:seconds'
            '--apache[Obtain and install certificates using Apache]'
            '--nginx[Obtain and install certificates using Nginx]'
          )
          ;|
        (certonly|renew|reconfigure)
          opts+=(
            '--run-deploy-hooks[run any applicable deploy hooks]'
          )
          ;|
        (certonly|renew)
          opts+=(
            "--dry-run[Perform a test run against the Let's Encrypt staging server]"
            '--allow-subset-of-names[When performing domain validation, do not consider it a failure]'
            '--preferred-challenges[A sorted, comma delimited list of the preferred challenge]:challenges'
          )
          ;|
        (run|revoke)
          opts+=(
            '(--test-cert --staging)'{--test-cert,--staging}"[Use the Let's Encrypt staging server to obtain or revoke test]"
          )
          ;|
        (certonly|revoke)
          opts+=(
            '--cert-path[Path to where certificate is saved]:cert:_files'
          )
          ;|
        (certonly|reconfigure)
          opts+=(
            '--webroot[Obtain certificates by placing files in a webroot directory]'
          )
          ;|
        (certonly)
          opts+=(
            '--csr[Path to a Certificate Signing Request (CSR) in DER or PEM format]:csr:_files'
            '--standalone[Obtain certificates using a "standalone" webserver]'
            '--manual[Provide laborious manual instructions for obtaining a certificate]'
            '--dns-cloudflare[Obtain certificates using a Cloudflare DNS TXT record]'
            '--dns-digitalocean[Obtain certificates using a DigitalOcean DNS TXT record]'
            '--dns-dnsimple[Obtain certificates using a DNSimple DNS TXT record]'
            '--dns-dnsmadeeasy[Obtain certificates using a DNS Made Easy DNS TXT record]'
            '--dns-gehirn[Obtain certificates using a Gehirn DNS TXT record]'
            '--dns-google[Obtain certificates using a Google Cloud DNS TXT record]'
            '--dns-linode[Obtain certificates using a Linode DNS TXT record]'
            '--dns-luadns[Obtain certificates using a LuaDNS DNS TXT record]'
            '--dns-nsone[Obtain certificates using a NS1 DNS TXT record]'
            '--dns-ovh[Obtain certificates using a OVH DNS TXT record]'
            '--dns-rfc2136[Obtain certificates using a BIND DNS TXT record]'
            '--dns-route53[Obtain certificates using a Route53 DNS TXT record]'
            '--dns-sakuracloud[Obtain certificates using a Sakura Cloud DNS TXT record]'
          )
          ;|
        (renew|reconfigure)
          opts+=(
            '--pre-hook[Command to be run before obtaining any certificates]:pre_hook'
            '--post-hook[Command to be run after attempting to obtain/renew certificates]:post_hook'
          )
          ;|
        (renew)
          opts+=(
            '(--force-renewal --renew-by-default)'{--force-renewal,--renew-by-default}'[renew now regardless of whether it is near expiry]'
            '--disable-hook-validation[Disable command validation for hook commands]'
            "--no-directory-hooks[Disable running executables found in Certbot's hook directories]"
            '--disable-renew-updates[Disable automatic updates to your server configuration]'
            '--no-autorenew[Disable auto renewal of certificates]'
          )
          ;|
        (enhance)
          opts+=(
            '--redirect[Automatically redirect all HTTP traffic to HTTPS]'
            '--hsts[Add Strict-Transport-Security header to every HTTP response]'
            '--uir[Add "Content-Security-Policy: upgrade-insecure-requests" header to every HTTP response]'
            '--auto-hsts[Gradually increasing max-age value for HTTP Strict Transport Security security header]'
          )
          ;|
        (revoke)
          opts+=(
            '--reason[Specify reason for revoking certificates]:reason:(unspecified keycompromise affiliationchanged superseded cessationofoperation)'
            '(--delete-after-revoke --no-delete-after-revoke)--delete-after-revoke[Delete certificates after revoking them]'
            '(--delete-after-revoke --no-delete-after-revoke)--no-delete-after-revoke[Do not delete certificates after revoking them]'
            '--key-path[Path to private key for certificates instructions or revocation]:key_path:_files'
          )
          ;|
        (reconfigure)
          opts+=(
            '(-a --authenticator)'{-a,--authenticator}'[Authenticator plugin name]:plugin'
            '(-i --installer)'{-i,--installer}'[Installer plugin name]:plugin'
          )
          ;|
        (register|unregister|update_account)
          opts+=(
            '(-m --email)'{-m,--email}'[Email used for registration and recovery contact]:email')
          ;|
        (register|update_account)
          opts+=(
            '(--eff-email --no-eff-email)--eff-email[Share your e-mail address with EFF]'
            '(--eff-email --no-eff-email)--no-eff-email[Do not share your email address with EFF]'
          )
          ;|
        (unregister)
          opts+=(
            '--account[Account ID to use]:account_id'
          )
          ;|
        (show_account)
          opts+=(
            '--server[ACME Directory Resource URI]:server'
          )
          ;|
      esac

      _arguments "$opts[@]" && ret=0
      ;;
  esac

  return ret
}

(( $+functions[_certbot_subcommands] )) ||
_certbot_subcommands() {
  local -a commands=(
    "run:Obtain & install a certificate in your current webserver"
    "certonly:Obtain or renew a certificate, but do not install it"
    "renew:Renew all previously obtained certificates that are near"
    "enhance:Add security enhancements to your existing configuration"
    "certificates:Display information about certificates you have from Certbot"
    "revoke:Revoke a certificate (supply --cert-name or --cert-path)"
    "delete:Delete a certificate (supply --cert-name)"
    "reconfigure:Update a certificate's configuration (supply --cert-name)"
    "register:Create an ACME account"
    "unregister:Deactivate an ACME account"
    "update_account:Update an ACME account"
    "show_account:Display account details"
  )
  _describe -t commands 'command' commands "$@"
}

(( $+functions[_certbot_help_topics] )) ||
_certbot_help_topics() {
  local -a topics=(
    # topics
    all automation commands paths security testing
    # subcommands
    run certonly renew enhance certificates revoke delete reconfigure register unregister
    update_account show_account
    # plugins
    nginx apache standalone webroot
  )
  _values topics  $topics
}

_certbot "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_cf
================================================
#compdef cf
# ------------------------------------------------------------------------------
#
# Copyright 2015 Ferran Rodenas & Danny Rosen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# ------------------------------------------------------------------------------
#
# Description
# -----------
#
#  Completion script for Cloud Foundry CLI (https://github.com/cloudfoundry/cli#downloads)
#
# ------------------------------------------------------------------------------
#
# Authors
# -------
#
#  * Ferran Rodenas (https://github.com/frodenas)
#  * Danny Rosen (https://github.com/dannyzen)
#
# ------------------------------------------------------------------------------

_cf() {
  typeset -A opt_args
  local context state line
  local curcontext="$curcontext"
  local ret=1

  _arguments -C \
    '1: :__cf_subcommands' \
    '*:: :->command' \
    && ret=0

  case "$state" in
    (command)
      local cmd="$words[1]"
      if (( $+functions[__cf_${cmd}] )); then
        __cf_$cmd
      fi
      ;;
  esac

  return ret
}

__cf_subcommands() {
  local -a commands=(
    "login:Log user in"
    "logout:Log user out"
    "passwd:Change user password"
    "target:Set or view the targeted org or space"
    "api:Set or view target api url"
    "auth:Authenticate user non-interactively"
    "apps:List all apps in the target space"
    "app:Display health and status for app"
    "push:Push a new app or sync changes to an existing app"
    "scale:Change or view the instance count, disk space limit, and memory limit for an app"
    "delete:Delete an app"
    "rename:Rename an app"
    "start:Start an app"
    "stop:Stop an app"
    "restart:Restart an app"
    "restage:Restage an app"
    "restart-app-instance:Terminate the running application Instance at the given index and instantiate a new instance of the application with the same index"
    "events:Show recent app events"
    "files:Print out a list of files in a directory or the contents of a specific file"
    "logs:Tail or show recent logs for an app"
    "env:Show all env variables for an app"
    "set-env:Set an env variable for an app"
    "unset-env:Remove an env variable"
    "stacks:List all stacks"
    "stack:Show information for a stack"
    "copy-source:Make a copy of app source code from one application to another.  Unless overridden, the copy-source command will restart the application"
    "create-app-manifest:Create an app manifest for an app that has been pushed successfully"
    "marketplace:List available offerings in the marketplace"
    "services:List all service instances in the target space"
    "service:Show service instance info"
    "create-service:Create a service instance"
    "update-service:Update a service instance"
    "delete-service:Delete a service instance"
    "rename-service:Rename a service instance"
    "create-service-key:Create key for a service instance"
    "service-keys:List keys for a service instance"
    "service-key:Show service key info"
    "delete-service-key:Delete a service key"
    "bind-service:Bind a service instance to an app"
    "unbind-service:Unbind a service instance from an app"
    "create-user-provided-service:Make a user-provided service instance available to cf apps"
    "update-user-provided-service:Update user-provided service instance name value pairs"
    "orgs:List all orgs"
    "org:Show org info"
    "create-org:Create an org"
    "delete-org:Delete an org"
    "rename-org:Rename an org"
    "spaces:List all spaces in an org"
    "space:Show space info"
    "create-space:Create a space"
    "delete-space:Delete a space"
    "rename-space:Rename a space"
    "domains:List domains in the target org"
    "create-domain:Create a domain in an org for later use"
    "delete-domain:Delete a domain"
    "create-shared-domain:Create a domain that can be used by all orgs (admin-only)"
    "delete-shared-domain:Delete a shared domain"
    "routes:List all routes in the current space or the current organization"
    "create-route:Create a url route in a space for later use"
    "check-route:Perform a simple check to determine whether a route currently exists or not"
    "map-route:Add a url route to an app"
    "unmap-route:Remove a url route from an app"
    "delete-route:Delete a route"
    "delete-orphaned-routes:Delete all orphaned routes (e.g.: those that are not mapped to an app)"
    "buildpacks:List all buildpacks"
    "create-buildpack:Create a buildpack"
    "update-buildpack:Update a buildpack"
    "rename-buildpack:Rename a buildpack"
    "delete-buildpack:Delete a buildpack"
    "running-environment-variable-group:Retrieve the contents of the running environment variable group"
    "staging-environment-variable-group:Retrieve the contents of the staging environment variable group"
    "set-staging-environment-variable-group:Pass parameters as JSON to create a staging environment variable group"
    "set-running-environment-variable-group:Pass parameters as JSON to create a running environment variable group"
    "feature-flags:Retrieve list of feature flags with status of each flag-able feature"
    "feature-flag:Retrieve an individual feature flag with status"
    "enable-feature-flag:Enable the use of a feature so that users have access to and can use the feature"
    "disable-feature-flag:Disable the use of a feature so that users have access to and can use the feature"
    "curl:Executes a raw request, content-type set to application/json by default"
    "config:write default values to the config"
    "oauth-token:Retrieve and display the OAuth token for the current session"
    "add-plugin-repo:Add a new plugin repository"
    "remove-plugin-repo:Remove a plugin repository"
    "list-plugin-repos:list all the added plugin repository"
    "repo-plugins:List all available plugins in all added repositories"
    "plugins:list all available plugin commands"
    "install-plugin:Install the plugin defined in command argument"
    "uninstall-plugin:Uninstall the plugin defined in command argument"
    "targets:List all saved targets (requires cf-targets plugin)"
    "save-target:Save the current target under a given name (requires cf-targets plugin)"
    "set-target:Restore a previously saved target (requires cf-targets plugin)"
    "delete-target:Delete a saved target (requires cf-targets plugin)"
  )

  _describe -t commands "cf command" commands
}

# ----------------------
# ----- Helper functions
# ----------------------

# Output a selectable list of organizations
__cf_orgs() {
  local -a orgs=($(CF_COLOR=false CF_TRACE=false cf orgs | awk 'NR>3{print $1}'))
  if (( $#orgs )); then
    _describe "org" orgs
  fi
}

# Output a selectable list of spaces
__cf_spaces() {
  local -a spaces=($(CF_COLOR=false CF_TRACE=false cf spaces | awk 'NR>3{print $1}'))
  if (( $#spaces )); then
    _describe 'SPACE' spaces
  fi
}

# Output a selectable list of applications
__cf_apps() {
  local -a apps=($(CF_COLOR=false CF_TRACE=false cf apps | awk 'NR>4{print $1}'))
  if (( $#apps )); then
    _describe 'APP' apps
  fi
}

# Output a selectable list of stacks
__cf_stacks() {
  local -a stacks=($(CF_COLOR=false CF_TRACE=false cf stacks | awk 'NR>4{print $1}'))
  if (( $#stacks )); then
    _describe 'STACK' stacks
  fi
}

# Output a selectable list of services
__cf_marketplace_services() {
  local -a market_places=($(CF_COLOR=false CF_TRACE=false cf marketplace | awk 'NR>4{print $1}'))
  if (( $#market_places )); then
    _describe 'SERVICE' market_places
  fi
}

# Output a selectable list of services
__cf_services() {
  local -a services=($(CF_COLOR=false CF_TRACE=false cf services | awk 'NR>4{print $1}'))
  if (( $#services )); then
    _describe 'SERVICE' services
  fi
}

# Output a selectable list of domains
__cf_domains() {
  local -a domains=($(CF_COLOR=false CF_TRACE=false cf domains | grep -v shared | awk 'NR>2{print $1}'))
  if (( $#domains )); then
    _describe 'DOMAIN' domains
  fi
}

# Output a selectable list of shared domains
__cf_shared_domains() {
  local shared_domains=($(CF_COLOR=false CF_TRACE=false cf domains | grep -v owned | awk 'NR>2{print $1}'))
  if (( $#shared_domains )); then
    _describe 'SHARED-DOMAIN' shared_domains
  fi
}

# Output a selectable list of hostnames
__cf_hostnames() {
  local -a hostnames=($(CF_COLOR=false CF_TRACE=false cf routes | awk 'NR>3{print $2}'))
  if (( $#hostnames )); then
    _describe 'ROUTE' hostnames
  fi
}

# Output a selectable list of buildpacks
__cf_buildpacks() {
  local -a build_packs=($(CF_COLOR=false CF_TRACE=false cf buildpacks | awk 'NR>3{print $1}'))
  if (( $#build_packs )); then
    _describe 'BUILDPACK' build_packs
  fi
}

# Output a selectable list of feature flags
__cf_feature_flags() {
  local -a flags=($(CF_COLOR=false CF_TRACE=false cf feature-flags | awk 'NR>4{print $1}'))
  if (( $#flags )); then
    _describe 'FEATURE-FLAG' flags
  fi
}

# Output a selectable list of plugin repos
__cf_repo_plugins() {
  local -a repo_plugins=($(CF_COLOR=false CF_TRACE=false cf list-plugin-repos | awk 'NR>3{print $1}'))
  if (( $#repo_plugins )); then
    _describe 'REPO-PLUGIN' repo_plugins
  fi
}

# Output a selectable list of plugins
__cf_plugins() {
  local -a plugins=($(cf plugins | awk 'NR>4{print $1}'))
  if (( $#plugins )); then
    _describe 'PLUGIN' plugins
  fi
}

# Output a selectable list of targets (requires cf-targets plugin)
__cf_targets() {
  local -a targets=($(cf targets | awk '{print $1}'))
  if (( $#targets )); then
    _describe 'TARGET' targets
  fi
}

# --------------------------
# ----- end Helper functions
# --------------------------

# --------------
# ----- Commands
# --------------

__cf_login() {
  _arguments \
    '-a=[API endpoint (e.g. https://api.example.com)]:api endpoint:' \
    '-u=[Username]:username:' \
    '-p=[Password]:password:' \
    '-o=[Organization]:organization name:__cf_orgs' \
    '-s=[Space]:space name:__cf_spaces' \
    '--sso[Use a one-time password to login]' \
    '--skip-ssl-validation[Skip SSL validation]'
}

__cf_logout() {
    # no arguments
}

__cf_passwd() {
  _arguments \
    '1:password:'
}

__cf_target() {
  _arguments \
    '-o=[Organization]:organization name:__cf_orgs' \
    '-s=[Space]:space name:__cf_spaces'
}

__cf_api() {
  _arguments \
    '1:API url:' \
    '--unset[Remove all api endpoint targeting]' \
    '--skip-ssl-validation[Skip SSL validation]'
}

__cf_app() {
  _arguments \
    '1:application name:__cf_apps' \
    '--guid[Retrieve and display the given app guid. All other health and status output for the app is suppressed]'
}

__cf_push() {
  _arguments \
    '1:application name:__cf_apps' \
    '-b=[Custom buildpack by name (e.g. my-buildpack) or GIT URL or GIT BRANCH URL]:buildpack name:__cf_buildpacks' \
    '-c=[Startup command, set to null to reset to default start command]:startup command:' \
    '-d=[Domain (e.g. example.com)]:domain (e.g. example.com):__cf_domains' \
    '-f=[Path to manifest]:file:_files:' \
    '-i=[Number of instances]:number of instances:' \
    '-k=[Disk limit (e.g. 256M, 1024M, 1G)]:disk limit (e.g. 256M, 1024M, 1G):' \
    '-m=[Memory limit (e.g. 256M, 1024M, 1G)]:memory limit (e.g. 256M, 1024M, 1G):' \
    '-n=[Hostname (e.g. my-subdomain)]:hostname (e.g. my-subdomain):' \
    '-p=[Path to app directory or to a zip file of the contents of the app directory]:file:_files' \
    '-s=[Stack to use (a stack is a pre-built file system, including an operating system, that can run apps)]:stack name:__cf_stacks:' \
    '-t=[Maximum time (in seconds) for CLI to wait for application start, other server side timeouts may apply]:maximum time (in seconds):' \
    '--no-hostname[Map the root domain to this app]' \
    '--no-manifest[Ignore manifest file]' \
    '--no-route[Do not map a route to this app and remove routes from previous pushes of this app]' \
    '--no-start[Do not start an app after pushing]' \
    '--random-route[Create a random route for this app]'
}

__cf_scale() {
  _arguments \
    '1:application name:__cf_apps' \
    '-i=[Number of instances]:number of instances:' \
    '-k=[Disk limit (e.g. 256M, 1024M, 1G)]:disk limit (e.g. 256M, 1024M, 1G):' \
    '-m=[Memory limit (e.g. 256M, 1024M, 1G)]:memory limit (e.g. 256M, 1024M, 1G):' \
    '-f[Force restart of app without prompt]'
}

__cf_delete() {
  _arguments \
    '1:application name:__cf_apps' \
    '--f[Force deletion without confirmation]' \
    '--r[Also delete any mapped routes]'
}

__cf_rename() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:application name:'
}

__cf_start() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_stop() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_restart() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_restage() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_restart-app-instance() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:application index:'
}

__cf_events() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_files() {
  _arguments \
    '1:application name:__cf_apps' \
    '2::path:' \
    '-i=[instance]'
}

__cf_logs() {
  _arguments \
    '1:application name:__cf_apps' \
    '--recent[Dump recent logs instead of tailing]'
}

__cf_env() {
  _arguments \
    '1:application name:__cf_apps'
}

__cf_set-env() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:env var name:' \
    '3:env var value:'
}

__cf_unset-env() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:env var name:'
}

__cf_stack() {
  _arguments \
    '1:stack name:__cf_stacks' \
    '--guid[Retrieve and display the given stack guid. All other output for the stack is suppressed]'
}

__cf_copy-source() {
  _arguments \
    '1:source application name:__cf_apps' \
    '2:target application name:' \
    '-o=[Org that contains the target application]:organization name:__cf_orgs' \
    '-s=[Space that contains the target application]:space name:__cf_spaces' \
    '--no-restart[Override restart of the application in target environment after copy-source completes]'
}

__cf_create-app-manifest() {
  _arguments \
    '1:application name:__cf_apps' \
    '-p=[Specify a path for file creation. If path not specified, manifest file is created in current working directory]:path:_files'
}

__cf_marketplace() {
  _arguments \
    '-s=[Show plan details for a particular service offering]'
}

__cf_service() {
  _arguments \
    '1:service name:__cf_services' \
    '--guid[Retrieve and display the given service guid. All other output for the service is suppressed]'
}

__cf_create-service() {
  _arguments \
    '1:service:__cf_marketplace_services' \
    '2:plan:' \
    '3:service name:' \
    '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' \
    '-t=[User provided tags]'
}

__cf_update-service() {
  _arguments \
    '1:service name:__cf_services' \
    '-p=[Change service plan for a service instance]' \
    '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]' \
    '-t=[User provided tags]'
}

__cf_rename-service() {
  _arguments \
    '1:service name:__cf_services' \
    '2:service name:'
}

__cf_delete-service() {
  _arguments \
    '1:service name:__cf_services' \
    '-f[Force deletion without confirmation]'
}

__cf_create-service-key() {
  _arguments \
    '1:service name:__cf_services' \
    '2:service key:' \
    '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]'
}

__cf_service-keys() {
  _arguments \
    '1:service name:__cf_services'
}

__cf_service-key() {
  _arguments \
    '1:service name:__cf_services' \
    '2:service key:'
}

__cf_delete-service-key() {
  _arguments \
    '1:service name:__cf_services' \
    '2:service key:' \
    '-f[Force deletion without confirmation]'
}

__cf_bind-service() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:service name:__cf_services' \
    '-c=[Valid JSON object containing service-specific configuration parameters, provided either in-line or in a file]'
}

__cf_unbind-service() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:service name:__cf_services'
}

__cf_create-user-provided-service() {
  _arguments \
    '1:service name:' \
    '-p=[Credentials]' \
    '-l=[Syslog Drain Url]'
}

__cf_update-user-provided-service() {
  _arguments \
    '1:service name:__cf_services' \
    '-p=[Credentials]' \
    '-l=[Syslog Drain Url]'
}

__cf_org() {
  _arguments \
    '1:organization name:__cf_orgs' \
    '--guid[Retrieve and display the given org guid. All other output for the org is suppressed]'
}

__cf_create-org() {
  _arguments \
    '1:organization name:' \
    '-q=[Quota to assign to the newly created org (excluding this option results in assignment of default quota)]'
}

__cf_delete-org() {
  _arguments \
    '1:organization name:__cf_orgs' \
    '-f[Force deletion without confirmation]'
}

__cf_space() {
  _arguments \
    '1:space name:__cf_spaces' \
    '--guid[Retrieve and display the given space guid. All other output for the space is suppressed]' \
    '--security-group-rules[Retrieve the rules for all the security groups associated with the space]'
}

__cf_create-space() {
  _arguments \
    '1:space name:' \
    '-o=[Org that contains the target application]:organization name:__cf_orgs' \
    '-q=[Quota to assign to the newly created space (excluding this option results in assignment of default quota)]'
}

__cf_delete-space() {
  _arguments \
    '1:space name:__cf_spaces' \
    '-f[Force deletion without confirmation]'
}

__cf_create-domain() {
  _arguments \
    '1:organization name:__cf_orgs' \
    '2:domain:'
}

__cf_delete-domain() {
  _arguments \
    '1:domain:__cf_domains' \
    '-f[Force deletion without confirmation]'
}

__cf_create-shared-domain() {
  _arguments \
    '1:domain:'
}

__cf_delete-shared-domain() {
  _arguments \
    '1:domain:__cf_shared_domains' \
    '-f[Force deletion without confirmation]'
}

__cf_routes() {
  _arguments \
    '--orglevel[List all the routes for all spaces of current organization]'
}

__cf_create-route() {
  _arguments \
    '1:space name:__cf_spaces' \
    '2:domain:__cf_domains' \
    '-n=[Hostname]'
}

__cf_check-route() {
  _arguments \
    '1:hostname:__cf_hostnames' \
    '2:domain:__cf_domains'
}

__cf_map-route() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:domain:__cf_domains' \
    '-n=[Hostname]:hostname:__cf_hostnames:'
}

__cf_unmap-route() {
  _arguments \
    '1:application name:__cf_apps' \
    '2:domain:__cf_domains' \
    '-n=[Hostname]:hostname:__cf_hostnames:'
}

__cf_delete-route() {
  _arguments \
    '1:domain:__cf_domains' \
    '-n=[Hostname]:hostname:__cf_hostnames:' \
    '-f[Force deletion without confirmation]'
}

__cf_delete-orphaned-routes() {
  _arguments \
    '-f[Force deletion without confirmation]'
}

__cf_create-buildpack() {
  _arguments \
    '1:buildpack name:' \
    '2:path:_files' \
    '3:position:' \
    '--enable[Enable the buildpack to be used for staging]' \
    '--disable[Disable the buildpack from being used for staging]'
}

__cf_update-buildpack() {
  _arguments \
    '1:buildpack name:__cf_buildpacks' \
    '-p=[Path to directory or zip file]:file:_files' \
    '-i=[The order in which the buildpacks are checked during buildpack auto-detection]' \
    '--enable[Enable the buildpack to be used for staging]' \
    '--disable[Disable the buildpack from being used for staging]' \
    '--lock[Lock the buildpack to prevent updates]' \
    '--unlock[Unlock the buildpack to enable updates]'
}

__cf_rename-buildpack() {
  _arguments \
    '1:buildpack name:__cf_buildpacks' \
    '2:new buildpack name:'
}

__cf_delete-buildpack() {
  _arguments \
    '1:buildpack name:__cf_buildpacks' \
    '-f[Force deletion without confirmation]'
}

__cf_feature-flag() {
  _arguments \
    '1:feature name:__cf_feature_flags'
}

__cf_enable-feature-flag() {
  _arguments \
    '1:feature name:__cf_feature_flags'
}

__cf_disable-feature-flag() {
  _arguments \
    '1:feature name:__cf_feature_flags'
}

__cf_curl() {
  _arguments \
    '1:path:' \
    '-i[Include response headers in the output]' \
    '-v[Enable CF_TRACE output for all requests and responses]' \
    '-X=[HTTP method]:http method:(GET POST PUT DELETE)' \
    '-h=[Custom headers to include in the request, flag can be specified multiple times]' \
    '-d=[HTTP data to include in the request body]' \
    '--output[Write curl body to FILE instead of stdout]'
}

__cf_config() {
  _arguments \
    '--async-timeout=[Timeout for async HTTP requests]' \
    '--trace=[Trace HTTP requests]:trace:(true false)' \
    '--color=[Enable or disable color]:color:(true false)' \
    '--locale=[Set default locale. If LOCALE is CLEAR, previous locale is deleted]'
}

__cf_add-plugin-repo() {
  _arguments \
    '1:repo name:' \
    '2:url:'
}

__cf_remove-plugin-repo() {
  _arguments \
    '1:repo name:__cf_repo_plugins' \
    '2:url:'
}

__cf_repo-plugins() {
  _arguments \
    '-r=[Repo Name]:repo name:__cf_repo_plugins'
}

__cf_plugins() {
  _arguments \
    '-checksum[Compute and show the sha1 value of the plugin binary file]'
}

__cf_install-plugin() {
  _arguments \
    '1:plugin URL or path:_files' \
    '-r=[repo name where the plugin binary is located]:repo name:__cf_repo_plugins'
}

__cf_uninstall-plugin() {
  _arguments \
    '1:plugin name:__cf_plugins'
}

__cf_save-target() {
  _arguments \
    '1:target-name:' \
    '-f[Force save even if current target is already saved under another name]'
}

__cf_set-target() {
  _arguments \
    '1:target-name:__cf_targets' \
    '-f[Force target change even if current target is unsaved]'
}

__cf_delete-target() {
  _arguments \
    '1:target-name:__cf_targets'
}

# ------------------
# ----- end Commands
# ------------------

_cf "$@"

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_chatblade
================================================
#compdef chatblade
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for chatblade 0.7.0 (https://github.com/npiv/chatblade)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Johannes Bittner (https://github.com/johannes87)
#
# ------------------------------------------------------------------------------

_chatblade() {
  local -a args
  local context state state_descr line
  typeset -A opt_args

  args+=(
    '(- *)'{-h,--help}'[show this help message and exit]'
    '(- *)--version[display the chatblade version]'
    '--openai-api-key[the OpenAI API key can also be set as env variable OPENAI_API_KEY]:key'
    '--openai-base-url[a custom URL to use the openAI against a local or custom model]:key'
    '--temperature[temperature (openai setting)]:temperature'
    '(-c --chat-gpt)'{-c,--chat-gpt}'[chat GPT model 3.5/4 shorthand or full qualified model name, can also be set via env variable OPENAI_API_MODEL]:chat GPT model:(3.5 4 4o mini o1 o1mini)'
    '(-i --interactive)'{-i,--interactive}'[start an interactive chat session. This will implicitly continue the conversation]'
    '(-s --stream)'{-s,--stream}'[Stream the incoming text to the terminal]'
    '(-t --tokens)'{-t,--tokens}'[display what *would* be sent, how many tokens, and estimated costs]'
    '(-p --prompt-file)'{-p,--prompt-file}'[prompt name - will load the prompt with that name at ~/.config/chatblade/name or a path to a file]:prompt file:_files'
    '(-e --extract)'{-e,--extract}'[extract content from response if possible (either json or code block)]'
    '(-r --raw)'{-r,--raw}'[print session as pure text, dont pretty print or format]'
    '(-n --no-format)'{-n,--no-format}'[do not add pretty print formatting to output]'
    '(-o --only)'{-o,--only}'[Only display the response, omit query]'
    '--theme[Set the theme for syntax highlighting see https://pygments.org/styles/, can also be set with CHATBLADE_THEME]:theme:_values "theme" default emacs friendly manni monokai'
    '(-l --last)'{-l,--last}'[alias for -S last, the default session if none is specified]'
    '(-S --session)'{-S,--session}'[initiate or continue named session]:session:->sessions'
    '--session-list[list sessions]'
    '--session-path[show path to session file]'
    '--session-dump[dump session to stdout]'
    '--session-delete[delete session]'
    '--session-rename[rename session]:new session:->sessions'
  )

  _arguments -s $args

  case $state in
    (sessions)
      local -a sessions
      sessions=("${(@f)$(chatblade --session-list)}")
      _describe 'session' sessions
      ;;
  esac
}

_chatblade

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_chcpu
================================================
#compdef chcpu
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for chcpu v2.41 (https://github.com/util-linux/util-linux)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_arguments \
  '(- *)'{-h,--help}'[display this help]' \
  '(- *)'{-V,--version}'[display version]' \
  '(-c --configure)'{-c,--configure}'[configure the specified CPUs]:cpu_list' \
  '(-d --disable)'{-d,--disable}'[disable the specified CPUs]:cpu_list' \
  '(-e --enable)'{-e,--enable}'[enable the specified CPUs]:cpu_list' \
  '(-g --deconfigure)'{-g,--deconfigure}'[deconfigure the specified CPUs]:cpu_list' \
  '(-p --dispatch)'{-p,--dispatch}'[set the CPU dispatching mode]:mode:(horizontal vertical)' \
  '(-r --rescan)'{-r,--rescan}'[trigger a rescan of CPUs]'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_chmem
================================================
#compdef chmem
# ------------------------------------------------------------------------------
# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for chmem, util-linux 2.40.2 (https://github.com/util-linux/util-linux/)
# - configure memory
#
# Author:
#   *Aditi Sharma (https://github.com/Aditi76117)
# ------------------------------------------------------------------------------

_arguments -s \
  '(-b --blocks)'{-b,--blocks}'[Use a BLOCKRANGE parameter instead of RANGE or SIZE]' \
  '(-d --disable)'{-d,--disable}'[Set the specified RANGE, SIZE, or BLOCKRANGE of memory offline]' \
  '(-e --enable)'{-e,--enable}'[Set the specified RANGE, SIZE, or BLOCKRANGE of memory online]' \
  '(-z --zone)'{-z,--zone}'[Select the memory ZONE where to set the specified RANGE, SIZE, or BLOCKRANGE of memory online or offline]' \
  '(-v --verbose)'{-v,--verbose}'[Verbose mode]' \
  '(- *)'{-h,--help}'[Display help text and exit]' \
  '(- *)'{-V,--version}'[Print version and exit]'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_choc
================================================
#compdef choc
# ------------------------------------------------------------------------------
# Copyright (c) 2012 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for choc (https://chocolatapp.com/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Nicholas Penree (https://github.com/drudge)
#
# ------------------------------------------------------------------------------

local curcontext="$curcontext" state line ret=1
typeset -A opt_args

_arguments -C \
  '(-a --async)'{-a,--async}'[do not wait for the user to close the file in Chocolat]' \
  '(-w --wait)'{-w,--wait}'[wait for file to be closed by Chocolat]' \
  '(-n --no-reactivation)'{-n,--no-reactivation}'[after editing with -w, do not reactivate the calling app]' \
  '(-h --help)'{-h,--help}'[show help information]' \
  '(-v --version)'{-v,--version}'[print version information]' \
  '*:script or directory:_files' && ret=0

return ret

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_chpasswd
================================================
#compdef chpasswd
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for chpasswd v4.17 (https://github.com/shadow-maint/shadow)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_arguments \
  '(- *)'{-h,--help}'[display this help]' \
  '(-c --crypt-method)'{-c,--crypt-method}'[use the specified method to encrypt the passwords]:method:(DES MD5 SHA256 SHA512 YESCRYPT NONE)' \
  '(-e --encrypted)'{-e,--encrypted}'[supplied passwords are in encrypted form]' \
  '(-m --md5)'{-m,--md5}'[use MD5 encryption instead of DES]' \
  '(-R --root)'{-R,--root}'[apply changes in the specified CHROOT_DIR directory]:dir:_files -/' \
  '(-P --prefix)'{-P,--prefix}'[apply changes to configuration files under the specified directory PREFIX_DIR]:dir:_files -/' \
  '(-s --sha-rounds)'{-s,--sha-rounds}'[use the specified number of rounds to encrypt the passwords]:rounds'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_chromium
================================================
#compdef chromium

# Copyright 2018 CERN for the benefit of the LHCb Collaboration

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#    * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#    * Neither the name of CERN nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# In applying this licence, CERN does not waive the privileges and immunities
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

_arguments \
  "--user-data-dir=[Specify the directory that user data is kept in]:directory:_path_files -/" \
  "--app=[Runs URL in app mode]:url:_urls" \
  "--incognito[Open in incognito mode]" \
  "--new-window[open in new window]" \
  "(--no-proxy-server --proxy-auto-detect --proxy-pac-url)--proxy-server=[specify proxy server]:[<proxy-scheme>\://]<proxy-host>[\:<proxy-port>]:_chromium_proxyurls" \
  "--no-proxy-server[Disables the proxy server]" \
  "--proxy-auto-detect[Autodetect proxy configuration]" \
  "--proxy-pac-url=[Specify proxy autoconfiguration URL]:proxy autoconfiguration url:_urls" \
  "--password-store=[Set the password store to use]:password store: _wanted arguments expl 'wallet store' compadd -- basic gnome kwallet" \
  "--version[print version]" \
  '*:: :{ _alternative "urls\:url\:_urls" "file\:file\:_files" }'

# excerpt from the chromium help message:
#
#              Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests.  This overrides any environment variables or settings picked via the options dialog.  An individual proxy server is specified
#              using the format:
#
#
#
#              Where <proxy-scheme> is the protocol of the proxy server, and is one of:
#
#                "http", "socks", "socks4", "socks5".
#
#              If the <proxy-scheme> is omitted, it defaults to "http". Also note that "socks" is equivalent to "socks5".
#
#              Examples:
#
#                --proxy-server="foopy:99"
#                    Use the HTTP proxy "foopy:99" to load all URLs.
#
#                --proxy-server="socks://foobar:1080"
#                    Use the SOCKS v5 proxy "foobar:1080" to load all URLs.
#
#                --proxy-server="socks4://foobar:1080"
#                    Use the SOCKS v4 proxy "foobar:1080" to load all URLs.
#
#                --proxy-server="socks5://foobar:66"
#                    Use the SOCKS v5 proxy "foobar:66" to load all URLs.
#
#              It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:
#
#              Example:
#
#                --proxy-server="https=proxy1:80;http=socks4://baz:1080"
#                    Load https://* URLs using the HTTP proxy "proxy1:80". And load http://*
#                    URLs using the SOCKS v4 proxy "baz:1080".
#

_chromium_proxyurls () {
  #TODO: semicolon separated urls not yet implemented
  # mostly copied from _urls
  local ipre scheme host user uhosts ret=1 expl match glob suf
  local localhttp
  zstyle -a ":completion:${curcontext}:urls" local localhttp
  local localhttp_servername="$localhttp[1]"
  local localhttp_documentroot="$localhttp[2]"
  local localhttp_userdir="$localhttp[3]"
  zstyle -a ":completion:${curcontext}:urls" urls urls
  if [[ $#urls -gt 1 || ( $#urls -eq 1 && ! -d $urls[1] ) ]]
  then
    [[ $#urls -eq 1 && -f $urls[1] ]] && urls=($(< $urls[1]))
    _wanted urls expl 'URL' compadd "$@" -a urls && return 0
    urls=()
  fi
  urls="$urls[1]"
  glob=(-g '*(^/)')
  zparseopts -D -K -E 'g:=glob'
  ipre="$IPREFIX"
  if ! compset -P '(#b)([-+.a-z0-9]#):'
  then
    _tags -C argument prefixes
    while _tags
    do
      while _next_label prefixes expl 'URL prefix' -S '' "$@"
      do
        compset -S '[^:/]*' && compstate[to_end]=''
        compadd "$expl[@]" http:// socks:// socks4:// socks5:// && ret=0
      done
      (( ret )) || return 0
    done
    return 1
  fi
  scheme="$match[1]"
  case "$scheme" in
    (http(|s)|socks(|4|5)) if ! compset -P //
  then
    _wanted -C "$scheme" prefixes expl 'end of prefix' compadd -S '' "$@" //
    return
  fi ;;
    (file) [[ -prefix //(127.0.0.1|localhost)/ ]] && compset -P '//(127.0.0.1|localhost)'
           [[ -prefix /// ]] && compset -P //
           if ! compset -P //
           then
             _tags -C file files
             while _tags
             do
               while _next_label files expl 'local file'
               do
                 if [[ -prefix / ]]
                 then
                   _path_files "$expl[@]" -S '' "${glob[@]}" && ret=0
                   _path_files "$expl[@]" -S/ -r '/' -/ && ret=0
                 elif [[ -z "$PREFIX" ]]
                 then
                   compadd -S '/' -r '/' "$expl[@]" "$@" - "${PWD%/}" && ret=0
                 fi
               done
               (( ret )) || return 0
             done
             return 1
           fi ;;
  esac
  if ! compset -P '(#b)([^:/]#)([:/])'
  then
    uhosts=($urls/$scheme/$PREFIX*$SUFFIX(/:t))
    _tags hosts
    while _tags
    do
      while _next_label hosts expl host
      do
        compset -S '[:/]*' || suf="/"
        (( $#uhosts )) || _hosts -S "$suf" -r '/:' "$expl[@]" && ret=0
        [[ "$scheme" = http ]] && uhosts=($uhosts $localhttp_servername)
        compadd -S "$suf" -r '/:' "$expl[@]" -a uhosts && ret=0
      done
      (( ret )) || return 0
    done
    return 1
  fi
  host="$match[1]"
  [[ $match[2] = ':' ]] && ! compset -P '<->/' && _message -e ports 'port number' && return 0
  _tags remote-files files || return 1
  if [[ "$localhttp_servername" = "$host" ]]
  then
    if compset -P \~
    then
      if ! compset -P '(#b)([^/]#)/'
      then
        _users -S/ "$@"
        return
      fi
      user="$match[1]"
      while _tags
      do
        while _next_label files expl 'local file'
        do
          _path_files "$expl[@]" "$@" -W ~$user/$localhttp_userdir "${glob[@]}" && ret=0
          _path_files -S/ -r '/' "$expl[@]" -W ~$user/$localhttp_userdir-/ && ret=0
        done
        (( ret )) || return 0
      done
    else
      while _tags
      do
        while _next_label files expl 'local file'
        do
          _path_files "$expl[@]" "$@" -W $localhttp_documentroot "${glob[@]}" && ret=0
          _path_files -S/ -r '/' "$expl[@]" -W $localhttp_documentroot -/ && ret=0
        done
        (( ret )) || return 0
      done
    fi
  else
    while _tags
    do
      (( $#urls )) && while _next_label files expl 'local file'
      do
        _path_files "$expl[@]" "$@" -W $urls/$scheme/$host "${glob[@]}" && ret=0
        _path_files -S/ -r '/' "$expl[@]" -W $urls/$scheme/$host -/ && ret=0
      done
      [[ $scheme = (scp|sftp) ]] && _requested remote-files && _remote_files -h $host -- ssh && ret=0
      (( ret )) || return 0
    done
  fi
  return $ret
}

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_clang-check
================================================
#compdef clang-check
# ------------------------------------------------------------------------------
# Copyright (c) 2022 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for clang-check v20.1.2 (https://clang.llvm.org/docs/ClangCheck.html)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

_arguments \
  '(- *)--help[Display available options]' \
  '(- *)--help-hidden[Display available more options]' \
  '(- *)--help-list[Display list of available options]' \
  '(- *)--help-list-hidden[Display list of more available options]' \
  '(- *)--version[Display the version of this program]' \
  '--analyze[Run static analysis engine]' \
  '--analyzer-output-path=[Write output to file]: :_files' \
  '--ast-dump[Build ASTs and then debug dump them]' \
  '--ast-dump-filter=[Use with -ast-dump or -ast-print to dump/print only AST declaration nodes having a certain substring]:string' \
  '--ast-list[Build ASTs and print the list of declaration node qualified names]' \
  '--ast-print[Build ASTs and then pretty-print them]' \
  '*--extra-arg=[Additional argument to append to the compiler command line]:arg' \
  '*--extra-arg-before=[Additional argument to prepend to the compiler command line]:arg' \
  '--fix-what-you-can[Apply fix-it advice even in the presence of unfixable errors]' \
  '--fixit[Apply fix-it advice to the input source]' \
  '-p[Build directory where compile_commands.json is]: :_files -/' \
  '--print-all-options[Print all option values after command line parsing]' \
  '--print-options[Print non-default options after command line parsing]' \
  '--syntax-tree-dump[dump the syntax tree]' \
  '--tokens-dump[dump the preprocessed tokens]' \
  '*: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_clang-format
================================================
#compdef clang-format
# ------------------------------------------------------------------------------
# Copyright (c) 2022 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for clang-format v20.1.2 (https://clang.llvm.org/docs/ClangFormat.html)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

local -a styles=(LLVM GNU Google Chromium Microsoft)

_arguments \
  '(- *)--help[Display available options]' \
  '(- *)--help-hidden[Display available more options]' \
  '(- *)--help-list[Display list of available options]' \
  '(- *)--help-list-hidden[Display list of more available options]' \
  '--Wclang-format-violations[Warnings about individual formatting changes needed]' \
  '--Werror=[If set, changes formatting warnings to errors]' \
  '*--Wno-error=[If set, do not error out on the specified warning type]:warn' \
  '--assume-filename=[Set filename used to determine the language and to find .clang-format file]: :_files' \
  '--cursor=[The position of the cursor when invoking clang-format from an editor integration]:pos' \
  '(-n --dry-run)'{-n,--dry-run}'[If set, do not actually make the formatting changes]' \
  '--dump-config[Dump configuration options to stdout and exit]' \
  '--fail-on-incomplete-format[If set, fail with exit code 1 on incomplete format]' \
  '--fallback-style=[The name of the predefined style used as a fallback]: :($styles)' \
  '--ferror-limit=[Set the maximum number of clang-format errors to emit before stopping]:limit' \
  '*--files=[Provide a list of files to run clang-format]: :_files' \
  '--fno-color-diagnostics[If set, not to print diagnostics in color]' \
  '-i[Inplace edit files, if specified]' \
  '--length=[Format a range of this length(in bytes)]:bytes' \
  '--lines=[format a range of lines]:format' \
  '--list-ignored[List ignored files]' \
  '--offset=[Format a range starting at this byte offset]' \
  '--output-replacements-xml[Output replacements as XML]' \
  '--print-all-options[Print all option values after command line parsing]' \
  '--print-options[Print non default options after command line parsing]' \
  '--qualifier-alignment=[If set, overrides the qualifier alignment style determined by the QualifierAlignment style flag]' \
  '--sort-includes[If set, overrides the include sorting behavior determined by the SortIncludes style flag]' \
  '--style=[Set coding style]: :($styles)' \
  '--verbose[If set, show the list of processed files]' \
  '(- *)--version[Display the version of this program]' \
  '*: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_clang-tidy
================================================
#compdef clang-tidy
# ------------------------------------------------------------------------------
# Copyright (c) 2022 Github zsh-users - https://github.com/zsh-users
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for clang-tidy v15.0.2 (https://clang.llvm.org/extra/clang-tidy/)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Shohei Yoshida (https://github.com/syohex) <syohex@gmail.com>
#
# ------------------------------------------------------------------------------

local -a styles=(LLVM GNU Google Chromium Microsoft)

_arguments \
  '(- *)--help[Display available options]' \
  '(- *)--help-hidden[Display available more options]' \
  '(- *)--help-list[Display list of available options]' \
  '(- *)--help-list-hidden[Display list of more available options]' \
  '--allow-no-checks[Allow empty enabled checks]' \
  '--checks=[Comma-separated list of globs with optional "-" prefix]:checks' \
  '--config=[Specifies a configuration in YAML/JSON format]:conf' \
  '--config-file=[Specify the path of .clang-tidy or custom config-file]: :_files' \
  '--dump-config[Dumps configuration in the YAML format to stdout]' \
  '--enable-check-profile[Enable per-check timing profiles, and print a report to stderr]' \
  '--enable-module-headers-parsing[Enable preprocessor-level module header parsing for C++20 and above]' \
  '--exclude-header-filter=[Regular expression of headers to exclude diagnostics from]:filter' \
  '--explain-config[For each enabled check explains, where it is enabled]' \
  '--export-fixes=[YAML file to store suggested fixes in]: :_files' \
  '*--extra-arg[Additional argument to append to the compiler command line]:arg' \
  '*--extra-arg-before[Additional argument to prepend to the compiler command line]:arg' \
  '--fix[Apply suggested fixes]' \
  '--fix-errors[Apply suggested fixes even if compilation errors were found]' \
  '--fix-notes[If a warning has no fix, but a single fix can be found through an associated diagnostic node, apply the fix]' \
  '--format-style=[Style for formatting code around applied fixes]: :(none file llvm google webkit mozilla)' \
  '--header-filter=[Regular expression matching the names of the headers to output diagnostics from]:regexp' \
  '--line-filter=[List of files with line ranges to filter the warnings]' \
  '(- *)--list-checks[List all enabled checks and exit]' \
  '--load=[Load the specified plugin]: :_files' \
  '-p[Build directory where compile_commands.json is]: :_files -/' \
  '--print-all-options[Print all option values after command line parsing]' \
  '--print-options[Print non default options after command line parsing]' \
  '--quiet[Run clang-tidy in quiet mode]' \
  '--store-check-profile=[These per-TU profiles are instead stored as JSON]:prefix' \
  '--system-headers[Display the errors from system headers]' \
  '--use-color[Use colors in diagnostics]' \
  '(- *)--version[Display the version of this program]' \
  '--verify-config[Check the config files to ensure each check and option is recognized]' \
  '--vfsoverlay=[Overlay the virtual filesystem described by file over the real file system]: :_files' \
  '--warnings-as-errors=[Upgrades warning to errors]:check' \
  '*: :_files'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et


================================================
FILE: src/_cmake
================================================
#compdef cmake -value-,CMAKE_GENERATOR,-default-
# ------------------------------------------------------------------------------
# Copyright (c) 2017 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of the zsh-users nor the
#       names of its contributors may be used to endorse or promote products
#       derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# -------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for CMake 3.31.0 (https://cmake.org).
#
# -------------------------------------------------------------------------
# Authors
# -------
#
#  * Scott M. Kroll <skroll@gmail.com> (initial version)
#  * Paul Seyfert <pseyfert.mathphys@gmail.com> (handling of --build and updates)
#  * Norbert Lange <nolange79@gmail.com> (presets, command mode, updates)
#
# -------------------------------------------------------------------------
# Notes
# -----
#
#   * By default only C and C++ languages are supported for compiler flag
#     variables. To define your own list of languages:
#
#       cmake_langs=('C'   'C'
#                    'CXX' 'C++')
#       zstyle ':completion:*:cmake:*' languages $cmake_langs
#
# -------------------------------------------------------------------------

local -a cmake_build_options=(
  '-S[Explicitly specify a source directory]:source directory:_path_files -/'
  '-B[Explicitly specify a build directory]:build directory:_path_files -/'
  '-C[Pre-load a script to populate the cache]:initial cache:_files'
  '*-D-[Create a cmake cache entry]:property:_cmake_define_property'
  '*-U[Remove matching entries from CMake cache]:globbing expression'
  '-G[Specify a makefile generator]:generator:_cmake_generators'
  '-T[Specify toolset name if supported by generator]:toolset name'
  '-A[Specify platform name if supported by generator]:platform name'
  '--toolchain[Specify toolchain file]: :_files'
  '--install-prefix[Specify install directory]: :_path_files -/'

  # Warnings
  '(-Wdev)-Wno-dev[Suppress/Enable developer warnings]'
  '(-Wno-dev)-Wdev[Suppress/Enable developer warnings]'
  '(-Wdeprecated)-Wno-deprecated[Suppress/Enable deprecation warnings]'
  '(-Wno-deprecated)-Wdeprecated[Suppress/Enable deprecation warnings]'
  '(-Werror=dev)-Wno-error=dev[Make developer warnings (not) errors]'
  '(-Wno-error=dev)-Werror=dev[Make developer warnings (not) errors]'
  '(-Wno-error=deprecated)-Werror=deprecated[Make deprecated macro and function warnings (not) errors]'
  '(-Werror=deprecated)-Wno-error=deprecated[Make deprecated macro and function warnings (not) errors]'

  '--preset=[Specify a configure preset]:preset:_cmake_presets'
  '--list-presets[List available presets]'
  '--workflow[Run a workflow preset]'

  '-E[CMake command mode]:command:_cmake_commands'

  '-L-[List cache variables]::_values "options" "[non-advanced cache variables]" "A[advanced cache variables]" "H[non-advanced cached variables with help]" "AH[advanced cache variables with help]"'
  '--fresh[Configure a fresh build tree, removing any existing cache file]'

  '--build[Build a CMake-generated project binary tree]::project directory:_path_files -/'
  '--install[Install a CMake-generated project binary tree]:project directory:_path_files -/'
  '--open[Open generated project in the associated application]:project directory:_path_files -/'

  '-N[View mode only]'
  '-P[Process script mode]:script:_files'

  '--find-package[Legacy pkg-config like mode. Do not use]'

  '--graphviz=[Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more]:graphviz output:_files'
  '--system-information[Dump information about this system]::system information output:_files'
  '--print-config-dir[Print CMake config directory for user-wide FileAPI queries]'

  '--log-level=[Set the verbosity of messages from CMake files]:log level:(ERROR WARNING NOTICE STATUS VERBOSE DEBUG TRACE)'
  '--log-context[Prepend log messages with context, if given]'

  '--debug-trycompile[Do not delete the try_compile build tree. Only useful on one try_compile at a time]'
  '--debug-output[Put cmake in a debug mode]'
  '--debug-find[Put cmake find in a debug mode]'
  '--debug-find-pkg=[Limit cmake debug-find to the comma-separated list of packages]:packages'
  '--debug-find-var=[Limit cmake debug-find to the comma-separated list of result variables]:variables'

  '(--trace-expand)--trace[Put cmake in trace mode]'
  '(--trace)--trace-expand[Put cmake in trace mode with variable expansion]'
  '--trace-format=[Set the output format of the trace]:trace format:(human json-v1)'
  '*--trace-source[Trace only this CMake file/module. Multiple options allowed]:filename:_files'
  '--trace-redirect[Redirect trace output to a file instead of stderr]:trace output:_files'

  '--warn-uninitialized[Warn about uninitialized values]'
  '--no-warn-unused-cli[Do not warn about command line options]'
  '--warn-unused-vars[Warn about unused variables]'
  '--check-system-vars[Find problems with variable usage in system files]'
  '--compile-no-warning-as-error[Ignore COMPILE_WARNING_AS_ERROR property and CMAKE_COMPILE_WARNING_AS_ERROR variable]'

  '--profiling-format[Output data for profiling CMake scripts]:profiling format:(google-trace)'
  '--profiling-output[Select an output path for the profiling data]:filename:_files'

  ':cmake project:_path_files -/'
)

# ------------------------
# _cmake_generator_options
#
# arguments are $1: build working directory (top level Makefile or build.ninja file)
#               $2: position of "--" in the command line
# ------------------------
(( $+functions[_cmake_generator_options] )) ||
_cmake_generator_options() {
  # pass only the part of the command line starting at "--" to the completion
  shift (( $2 - 1 )) words
  (( CURRENT = $CURRENT + 1 - $2 ))
  if [ -f $1/Makefile ]
  then
    $_comps[make]
  elif [ -f $1/build.ninja ]
  then
    $_comps[ninja]
  fi
}

# --------------
# _cmake_presets
# --------------
(( $+functions[_cmake_presets] )) ||
_cmake_presets() {
  local invoke=(${(Q)words})
  invoke[$CURRENT]=()
  # TODO: remove all arguments -* except -S

  local list_presets=(${(f)"$(${invoke} --list-presets 2>/dev/null |
    sed -n -e 's,^[[:space:]]*"\([^"]*\)"[[:space:]]*-[[:space:]]*\(.*\),\1:\2,p' \
           -e 's,^[[:space:]]*"\([^"]*\)"[[:space:]]*$,\1,p')"})

  _describe 'presets' list_presets
}

# --------------
# _cmake_targets
# --------------
(( $+functions[_cmake_targets] )) ||
_cmake_targets() {
  local dir="$1"
  local -a targets=()
  if [[ -f "${dir}/Makefile" && $+commands[make] ]]; then
    # `make help` doesn't work for Makefiles in general, but for CMake generated Makefiles it does.
    targets=(${(f)"$(make -f $dir/Makefile help 2>/dev/null | awk '/^\.\.\./ { print $2 }')"})
  elif [[ -f "${dir}/build.ninja" && $+commands[ninja] ]]; then
    # `ninja help` doesn't seem to be the list of targets we're interested in
    targets=(${(f)"$(ninja -C $dir -t targets all 2>/dev/null | awk -F: '{print $1}' )"})
  fi

  _describe 'build targets' targets
}

_cmake_suggest_builddirs() {
  _alternative ':current directory:(.)' 'directory::_directories' && return 0
}

_cmake_suggest_installdirs() {
  _alternative ':current directory:(.)' 'directory::_directories' && return 0
}

_cmake_on_build() {
  local build_extras=(
    '--[Native build tool options]'
    '--target[specify build target]'
    '--clean-first[build target clean first]'
    '--config[For multi-configuration tools]'
    '--parallel[maximum number of build processes]'
    '--use-stderr'
  )
  local -a undescribed_build_extras
  local i=1
  for be in $build_extras ; do
    undescribed_build_extras[$i]=$(echo $be | sed "s/\[.*//")
    (( i++ ))
  done

  local in_build=false
  local dash_dash_position=-1
  local build_at=$CURRENT
  for ((i = (($CURRENT - 1)); i > 1 ; i--)); do
    if [[ $words[$i] == --build ]]; then
      in_build=true
      build_at=$i
      (( difference = $CURRENT - $i ))
    elif [[ $words[$i] == -- ]]; then
      dash_dash_position=$i
    fi
  done

  # check if build mode has been left
  local out_of_build=false
  for ((i = (($CURRENT - 1)); i > (($build_at + 1)); i--)); do
    # don't check the word after --build (should be a directory)
    if [[ ${undescribed_build_extras[(r)$words[$i]]} == $words[$i] ]]; then
      continue
    fi

    if [[ $words[(($i - 1))] == --target ]]; then continue ; fi
    if [[ $words[(($i - 1))] == --config ]]; then continue ; fi
    if [[ $words[(($i - 1))] == --parallel ]] ; then continue ; fi
    out_of_build=true
  done

  if (( $dash_dash_position > 0 )) ; then
    _cmake_generator_options $words[(($build_at + 1))] $dash_dash_position && return 0
  fi

  if [[ "$in_build" == false || "$difference" -eq 1 ]] ; then
    # either there is no --build or completing the directory after --build
    _arguments -s \
      - build_opts \
      "$cmake_build_options[@]" \
      - build_cmds \
      "$cmake_suggest_build[@]" && return 0
  elif [[ $words[(($CURRENT - 1))] == --target ]] ; then
    # after --build <dir> --target, suggest targets
    _cmake_targets $words[(($build_at + 1))] && return 0
  elif [[ $words[(($CURRENT - 1))] == --config ]] ; then
    # after --build <dir> --config, no idea
    return 0
  elif [[ $words[(($CURRENT - 1))] == --parallel ]] ; then
    # after --build <dir> --parallel
    return 0
  elif [ "$out_of_build" = true ] ; then
    # after --build <dir> --<not a --build option>, suggest other cmake_build_options (like -Wno-dev)
    _arguments "$cmake_build_options[@]" && return 0
  else
    # after --build <dir>, suggest other cmake_build_options (like -Wno-dev) or --build options (like --clean-first)
    _arguments "$build_extras[@]" "$cmake_build_options[@]" && return 0
  fi
}

_cmake_on_install() {
  local build_extras=(
    '--[Native build tool options]'
    '--prefix[Override the installation prefix, CMAKE_INSTALL_PREFIX]'
    '--config[For multi-configuration generators(e.g. Visual Studio)]'
    '--component[Component-based install]'
    '--strip[Strip before installing.]'
  )

  local -a undescribed_build_extras
  local i=1
  for be in $build_extras ; do
    undescribed_build_extras[$i]=$(echo $be | sed "s/\[.*//")
    (( i++ ))
  done

  local in_build=false
  local dash_dash_position=-1
  local build_at=$CURRENT
  for ((i = (($CURRENT - 1)); i > 1 ; i--)); do
    if [[ $words[$i] == --install ]]; then
      in_build=true
      build_at=$i
      (( difference = $CURRENT - $i ))
    elif [[ $words[$i] == -- ]]; then
      dash_dash_position=$i
    fi
  done

  local out_of_build=false
  for ((i = (($CURRENT - 1)); i > (($build_at + 1)); i--)); do
    # don't check the word after --install (should be a directory)
    if [[ ${undescribed_build_extras[(r)$words[$i]]} == $words[$i] ]] ; then continue ; fi
    if [[ $words[(($i - 1))] == --prefix ]]; then continue ; fi
    if [[ $words[(($i - 1))] == --config ]]; then continue ; fi
    if [[ $words[(($i - 1))] == --component ]]; then continue ; fi
    out_of_build=true
  done

  if (( $dash_dash_position > 0 )) ; then
    _cmake_generator_options $words[(($build_at + 1))] $dash_dash_position && return 0
  fi

  if [[ "$in_build" == false || "$difference" -eq 1 ]] ; then
    # either there is no --install or completing the directory after --install
    _arguments -s \
      - build_opts \
      "$cmake_build_options[@]" \
      - build_cmds \
      "$cmake_suggest_install[@]" && return 0
  elif [[ $words[(($CURRENT - 1))] == --prefix ]] ; then
    # after --install <dir> --prefix, no idea
    return 0
  elif [[ $words[(($CURRENT - 1))] == --config ]] ; then
    # after --install <dir> --config, no idea
    return 0
  elif [[ $words[(($CURRENT - 1))] == --component ]] ; then
    # after --build <dir> --component, no idea
    return 0
  elif [ "$out_of_build" = true ] ; then
    # after --build <dir> --<not a --build option>, suggest other cmake_build_options (like -Wno-dev)
    _arguments "$cmake_build_options[@]" && return 0
  else
    # after --build <dir>, suggest other cmake_build_options (like -Wno-dev) or --build options (like --clean-first)
    _arguments "$build_extras[@]" "$cmake_build_options[@]" && return 0
  fi
}

local -a cmake_help_actions=(
  '(- 1)'{--help,-help,-usage,-h,-H}'[Print usage information and exit]'
  '(- 1)'{--version,-version}'[Print version number and exit]'
  '(- 1)--help-full[Print all help manuals and exit]'
  '(- 1)--help-manual[Print one help manual and exit]:module-name: _cmake_list_names --help-manual-list "manual name"'
  '(- 1)--help-manual-list[List help manuals available and exit]'
  '(- 1)--help-command[Print help for one command and exit]:command-name: _cmake_list_names --help-command-list "command name"'
  '(- 1)--help-command-list[List commands with help availab
Download .txt
gitextract_jrerujxc/

├── .editorconfig
├── .github/
│   └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── src/
│   ├── _afew
│   ├── _age
│   ├── _archlinux-java
│   ├── _atach
│   ├── _augmatch
│   ├── _augparse
│   ├── _augprint
│   ├── _avdmanager
│   ├── _bento4
│   ├── _bitcoin-cli
│   ├── _blkid
│   ├── _bower
│   ├── _bundle
│   ├── _cap
│   ├── _cask
│   ├── _ccache
│   ├── _certbot
│   ├── _cf
│   ├── _chatblade
│   ├── _chcpu
│   ├── _chmem
│   ├── _choc
│   ├── _chpasswd
│   ├── _chromium
│   ├── _clang-check
│   ├── _clang-format
│   ├── _clang-tidy
│   ├── _cmake
│   ├── _coffee
│   ├── _conan
│   ├── _concourse
│   ├── _cppcheck
│   ├── _dad
│   ├── _dart
│   ├── _dget
│   ├── _dhcpcd
│   ├── _diana
│   ├── _direnv
│   ├── _diskutil
│   ├── _distro_info
│   ├── _do-release-upgrade
│   ├── _docpad
│   ├── _ecdsautil
│   ├── _emacs
│   ├── _emulator
│   ├── _envdir
│   ├── _exportfs
│   ├── _fab
│   ├── _fail2ban-client
│   ├── _fail2ban-regex
│   ├── _fallocate
│   ├── _ffind
│   ├── _flutter
│   ├── _fwupdmgr
│   ├── _gas
│   ├── _ghc
│   ├── _gio
│   ├── _gist
│   ├── _git-flow
│   ├── _git-pulls
│   ├── _git-revise
│   ├── _git-wtf
│   ├── _glances
│   ├── _golang
│   ├── _gpgconf
│   ├── _grpcurl
│   ├── _gtk-launch
│   ├── _hello
│   ├── _hledger
│   ├── _httpie
│   ├── _ibus
│   ├── _include-what-you-use
│   ├── _inxi
│   ├── _ipcmk
│   ├── _ipcrm
│   ├── _ipcs
│   ├── _jest
│   ├── _jmeter
│   ├── _jmeter-plugins
│   ├── _jonas
│   ├── _jrnl
│   ├── _kak
│   ├── _kitchen
│   ├── _l3build
│   ├── _language_codes
│   ├── _ldattach
│   ├── _lilypond
│   ├── _lscpu
│   ├── _lsipc
│   ├── _lslocks
│   ├── _lslogins
│   ├── _lsmem
│   ├── _lunchy
│   ├── _mc
│   ├── _mcookie
│   ├── _middleman
│   ├── _mina
│   ├── _mix
│   ├── _mkcert
│   ├── _mssh
│   ├── _mussh
│   ├── _mvn
│   ├── _nano
│   ├── _nanoc
│   ├── _neo
│   ├── _neofetch
│   ├── _networkQuality
│   ├── _nftables
│   ├── _node
│   ├── _nvm
│   ├── _openssl
│   ├── _openvpn3
│   ├── _optirun
│   ├── _patool
│   ├── _periscope
│   ├── _phing
│   ├── _pixz
│   ├── _pkcon
│   ├── _pm2
│   ├── _port
│   ├── _pre-commit
│   ├── _protoc
│   ├── _pygmentize
│   ├── _qmk
│   ├── _rails
│   ├── _ralio
│   ├── _rdfind
│   ├── _redis-cli
│   ├── _rev
│   ├── _rfkill
│   ├── _rmlint
│   ├── _rslsync
│   ├── _rspec
│   ├── _rubocop
│   ├── _sbt
│   ├── _scala
│   ├── _screencapture
│   ├── _scrub
│   ├── _sdd
│   ├── _sdkmanager
│   ├── _setcap
│   ├── _setup.py
│   ├── _shallow-backup
│   ├── _shellcheck
│   ├── _showoff
│   ├── _sox_ng
│   ├── _srm
│   ├── _sslscan
│   ├── _subliminal
│   ├── _supervisord
│   ├── _svm
│   ├── _swaplabel
│   ├── _swapoff
│   ├── _swapon
│   ├── _teamocil
│   ├── _textutil
│   ├── _thor
│   ├── _tmuxinator
│   ├── _tmuxp
│   ├── _tox
│   ├── _ts-node
│   ├── _tsc
│   ├── _tsx
│   ├── _udisksctl
│   ├── _ufw
│   ├── _uuidd
│   ├── _uuidgen
│   ├── _uuidparse
│   ├── _vipw
│   ├── _virtualbox
│   ├── _vnstat
│   ├── _wdctl
│   ├── _wemux
│   ├── _wg-quick
│   ├── _xdg-mime
│   ├── _xsel
│   ├── _yamllint
│   ├── _yarn
│   ├── _zcash-cli
│   └── _zramctl
├── zsh-completions-howto.org
└── zsh-completions.plugin.zsh
Condensed preview — 188 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,760K chars).
[
  {
    "path": ".editorconfig",
    "chars": 212,
    "preview": "; This file is for unifying the coding style for different editors and IDEs.\n; More information at https://editorconfig."
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 648,
    "preview": "<!-- Thank you so much for your PR! -->\n<!-- Please provide a general summary of your changes in the title above. -->\n<!"
  },
  {
    "path": ".gitignore",
    "chars": 57,
    "preview": "# zsh word code files\n*.zwc\n\n# IDE files\n.vscode/\n.idea/\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1999,
    "preview": "# Contributing\n\n## How to Contribute to zsh-completions\n\nContributions are welcome, just make sure you follow the guidel"
  },
  {
    "path": "LICENSE",
    "chars": 1477,
    "preview": "The Z Shell is copyright (c) 1992-2017 Paul Falstad, Richard Coleman,\nZoltán Hidvégi, Andrew Main, Peter Stephenson, Sve"
  },
  {
    "path": "README.md",
    "chars": 4217,
    "preview": "zsh-completions ![GitHub release](https://img.shields.io/github/release/zsh-users/zsh-completions.svg) ![GitHub contribu"
  },
  {
    "path": "src/_afew",
    "chars": 3333,
    "preview": "#compdef afew\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_age",
    "chars": 1760,
    "preview": "#compdef age age-keygen\n# ------------------------------------------------------------------------------\n# Description\n#"
  },
  {
    "path": "src/_archlinux-java",
    "chars": 3145,
    "preview": "#compdef archlinux-java\n# ------------------------------------------------------------------------------\n# Copyright (c)"
  },
  {
    "path": "src/_atach",
    "chars": 2933,
    "preview": "#compdef atach\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_augmatch",
    "chars": 3237,
    "preview": "#compdef augmatch\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_augparse",
    "chars": 2606,
    "preview": "#compdef augparse\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_augprint",
    "chars": 2838,
    "preview": "#compdef augprint\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_avdmanager",
    "chars": 5511,
    "preview": "#compdef avdmanager\n# ------------------------------------------------------------------------------\n# Copyright (c) 202"
  },
  {
    "path": "src/_bento4",
    "chars": 16320,
    "preview": "#compdef aac2mp4 mp42aac mp42avc mp42hevc mp42hls mp42ts mp4compact mp4dash mp4dashclone mp4dcfpackager mp4decrypt mp4du"
  },
  {
    "path": "src/_bitcoin-cli",
    "chars": 8104,
    "preview": "#compdef bitcoin-cli\n# ------------------------------------------------------------------------------\n# Copyright (c) 20"
  },
  {
    "path": "src/_blkid",
    "chars": 4138,
    "preview": "#compdef blkid\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_bower",
    "chars": 6507,
    "preview": "#compdef bower\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_bundle",
    "chars": 21852,
    "preview": "#compdef bundle\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gi"
  },
  {
    "path": "src/_cap",
    "chars": 5296,
    "preview": "#compdef cap\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Githu"
  },
  {
    "path": "src/_cask",
    "chars": 4948,
    "preview": "#compdef cask\n# ------------------------------------------------------------------------------\n# Copyright (c) 2014 Gith"
  },
  {
    "path": "src/_ccache",
    "chars": 13740,
    "preview": "#compdef ccache -P -value-,CCACHE_*,-default-\n\n# zsh completion script for ccache 4.10.2\n\n# Copyright 2018 CERN for the "
  },
  {
    "path": "src/_certbot",
    "chars": 11080,
    "preview": "#compdef certbot\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 G"
  },
  {
    "path": "src/_cf",
    "chars": 22576,
    "preview": "#compdef cf\n# ------------------------------------------------------------------------------\n#\n# Copyright 2015 Ferran R"
  },
  {
    "path": "src/_chatblade",
    "chars": 2865,
    "preview": "#compdef chatblade\n# ------------------------------------------------------------------------------\n# Description\n# ----"
  },
  {
    "path": "src/_chcpu",
    "chars": 2379,
    "preview": "#compdef chcpu\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Git"
  },
  {
    "path": "src/_chmem",
    "chars": 2764,
    "preview": "#compdef chmem\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_choc",
    "chars": 2734,
    "preview": "#compdef choc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2012 Gith"
  },
  {
    "path": "src/_chpasswd",
    "chars": 2497,
    "preview": "#compdef chpasswd\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_chromium",
    "chars": 8258,
    "preview": "#compdef chromium\n\n# Copyright 2018 CERN for the benefit of the LHCb Collaboration\n\n# Redistribution and use in source a"
  },
  {
    "path": "src/_clang-check",
    "chars": 3216,
    "preview": "#compdef clang-check\n# ------------------------------------------------------------------------------\n# Copyright (c) 20"
  },
  {
    "path": "src/_clang-format",
    "chars": 4027,
    "preview": "#compdef clang-format\n# ------------------------------------------------------------------------------\n# Copyright (c) 2"
  },
  {
    "path": "src/_clang-tidy",
    "chars": 4534,
    "preview": "#compdef clang-tidy\n# ------------------------------------------------------------------------------\n# Copyright (c) 202"
  },
  {
    "path": "src/_cmake",
    "chars": 25519,
    "preview": "#compdef cmake -value-,CMAKE_GENERATOR,-default-\n# ---------------------------------------------------------------------"
  },
  {
    "path": "src/_coffee",
    "chars": 4008,
    "preview": "#compdef coffee\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Gi"
  },
  {
    "path": "src/_conan",
    "chars": 25031,
    "preview": "#compdef conan\n# ------------------------------------------------------------------------------\n# Copyright (c) 2010-201"
  },
  {
    "path": "src/_concourse",
    "chars": 55903,
    "preview": "#compdef concourse\n# ------------------------------------------------------------------------------\n# Description\n# ----"
  },
  {
    "path": "src/_cppcheck",
    "chars": 7481,
    "preview": "#compdef cppcheck\n# ------------------------------------------------------------------------------\n# Copyright (c) 2019 "
  },
  {
    "path": "src/_dad",
    "chars": 2833,
    "preview": "#compdef dad\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Githu"
  },
  {
    "path": "src/_dart",
    "chars": 31293,
    "preview": "#compdef dart\n# ------------------------------------------------------------------------------\n# Copyright (c) 2023 Gith"
  },
  {
    "path": "src/_dget",
    "chars": 3486,
    "preview": "#compdef dget\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_dhcpcd",
    "chars": 3935,
    "preview": "#compdef dhcpcd\n# ------------------------------------------------------------------------------\n# Description\n# -------"
  },
  {
    "path": "src/_diana",
    "chars": 5006,
    "preview": "#compdef diana\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_direnv",
    "chars": 5019,
    "preview": "#compdef direnv\n# ------------------------------------------------------------------------------\n# Redistribution and us"
  },
  {
    "path": "src/_diskutil",
    "chars": 21114,
    "preview": "#compdef diskutil\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_distro_info",
    "chars": 2653,
    "preview": "#compdef distro-info ubuntu-distro-info debian-distro-info\n#\n# ---------------------------------------------------------"
  },
  {
    "path": "src/_do-release-upgrade",
    "chars": 2488,
    "preview": "#compdef do-release-upgrade\n# ------------------------------------------------------------------------------\n# Copyright"
  },
  {
    "path": "src/_docpad",
    "chars": 3991,
    "preview": "#compdef docpad\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Gi"
  },
  {
    "path": "src/_ecdsautil",
    "chars": 1316,
    "preview": "#compdef ecdsautil\n# ------------------------------------------------------------------------------\n# Description\n# ----"
  },
  {
    "path": "src/_emacs",
    "chars": 8171,
    "preview": "#compdef emacs emacsclient\n# ------------------------------------------------------------------------------\n# Copyright "
  },
  {
    "path": "src/_emulator",
    "chars": 17164,
    "preview": "#compdef emulator\n# ------------------------------------------------------------------------------\n# Description\n# -----"
  },
  {
    "path": "src/_envdir",
    "chars": 2543,
    "preview": "#compdef envdir\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016, G"
  },
  {
    "path": "src/_exportfs",
    "chars": 2787,
    "preview": "#compdef exportfs\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 "
  },
  {
    "path": "src/_fab",
    "chars": 6059,
    "preview": "#compdef fab\n# ------------------------------------------------------------------------------\n# Copyright (c) 2015 Githu"
  },
  {
    "path": "src/_fail2ban-client",
    "chars": 10509,
    "preview": "#compdef fail2ban-client\n# ------------------------------------------------------------------------------\n# Copyright (c"
  },
  {
    "path": "src/_fail2ban-regex",
    "chars": 2844,
    "preview": "#compdef fail2ban-regex\n# ------------------------------------------------------------------------------\n# Description\n#"
  },
  {
    "path": "src/_fallocate",
    "chars": 3393,
    "preview": "#compdef fallocate\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016"
  },
  {
    "path": "src/_ffind",
    "chars": 2654,
    "preview": "#compdef ffind\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Git"
  },
  {
    "path": "src/_flutter",
    "chars": 70423,
    "preview": "#compdef flutter\n# ------------------------------------------------------------------------------\n# MIT License\n#\n# Copy"
  },
  {
    "path": "src/_fwupdmgr",
    "chars": 6823,
    "preview": "#compdef fwupdmgr\n# ------------------------------------------------------------------------------\n# Description\n# -----"
  },
  {
    "path": "src/_gas",
    "chars": 2584,
    "preview": "#compdef gas\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Githu"
  },
  {
    "path": "src/_ghc",
    "chars": 60969,
    "preview": "#compdef ghc ghci ghc-pkg\n# ------------------------------------------------------------------------------\n# Copyright ("
  },
  {
    "path": "src/_gio",
    "chars": 11635,
    "preview": "#compdef gio\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Githu"
  },
  {
    "path": "src/_gist",
    "chars": 5025,
    "preview": "#compdef gist\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Gith"
  },
  {
    "path": "src/_git-flow",
    "chars": 11501,
    "preview": "#compdef git-flow\n#description Git Flow branching model\n# --------------------------------------------------------------"
  },
  {
    "path": "src/_git-pulls",
    "chars": 2096,
    "preview": "#compdef git-pulls\n# ------------------------------------------------------------------------------\n# Description\n# ----"
  },
  {
    "path": "src/_git-revise",
    "chars": 2680,
    "preview": "#compdef git-revise\n#description update, split and rearrange commits\n# -------------------------------------------------"
  },
  {
    "path": "src/_git-wtf",
    "chars": 3051,
    "preview": "#compdef git-wtf\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 G"
  },
  {
    "path": "src/_glances",
    "chars": 7444,
    "preview": "#compdef glances\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 G"
  },
  {
    "path": "src/_golang",
    "chars": 66467,
    "preview": "#compdef go -P -value-,GO*,-default- -P -value-,CGO*,-default-\n# -------------------------------------------------------"
  },
  {
    "path": "src/_gpgconf",
    "chars": 4088,
    "preview": "#compdef gpgconf\n# Copyright (c) 2021 Github zsh-users - https://github.com/zsh-users\n# All rights reserved.\n#\n# Redistr"
  },
  {
    "path": "src/_grpcurl",
    "chars": 4256,
    "preview": "#compdef grpcurl\n# ------------------------------------------------------------------------------\n# Copyright (c) 2023 G"
  },
  {
    "path": "src/_gtk-launch",
    "chars": 3321,
    "preview": "#compdef gtk-launch gtk4-launch\n# ------------------------------------------------------------------------------\n# Copyr"
  },
  {
    "path": "src/_hello",
    "chars": 806,
    "preview": "#compdef hello\n# ------------------------------------------------------------------------------\n# Description\n# --------"
  },
  {
    "path": "src/_hledger",
    "chars": 15389,
    "preview": "#compdef hledger\n\n# ------------------------------------------------------------------------------\n# Licensed under the "
  },
  {
    "path": "src/_httpie",
    "chars": 9748,
    "preview": "#compdef http https=http\n# ------------------------------------------------------------------------------\n# Copyright (c"
  },
  {
    "path": "src/_ibus",
    "chars": 4146,
    "preview": "#compdef ibus\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Gith"
  },
  {
    "path": "src/_include-what-you-use",
    "chars": 3989,
    "preview": "#compdef include-what-you-use iwyu\n\n# Copyright 2018 CERN for the benefit of the LHCb Collaboration.\n# All rights reserv"
  },
  {
    "path": "src/_inxi",
    "chars": 9331,
    "preview": "#compdef inxi\n# ------------------------------------------------------------------------------\n# Description\n# ---------"
  },
  {
    "path": "src/_ipcmk",
    "chars": 2732,
    "preview": "#compdef ipcmk\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_ipcrm",
    "chars": 2987,
    "preview": "#compdef ipcrm\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_ipcs",
    "chars": 3255,
    "preview": "#compdef ipcs\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_jest",
    "chars": 11365,
    "preview": "#compdef jest jest.js\n# ------------------------------------------------------------------------------\n# Copyright (c) 2"
  },
  {
    "path": "src/_jmeter",
    "chars": 2839,
    "preview": "#compdef jmeter\n# ------------------------------------------------------------------------------\n# Description\n# -------"
  },
  {
    "path": "src/_jmeter-plugins",
    "chars": 1978,
    "preview": "#compdef jmeter-plugins\n# ------------------------------------------------------------------------------\n# Description\n#"
  },
  {
    "path": "src/_jonas",
    "chars": 4491,
    "preview": "#compdef jonas\n# ------------------------------------------------------------------------------\n# Description\n# --------"
  },
  {
    "path": "src/_jrnl",
    "chars": 4688,
    "preview": "#compdef jrnl\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_kak",
    "chars": 3470,
    "preview": "#compdef kak\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Githu"
  },
  {
    "path": "src/_kitchen",
    "chars": 3323,
    "preview": "#compdef kitchen\n# ------------------------------------------------------------------------------\n# Copyright (c) 2014 G"
  },
  {
    "path": "src/_l3build",
    "chars": 3016,
    "preview": "#compdef l3build\n# ------------------------------------------------------------------------------\n# Description\n# ------"
  },
  {
    "path": "src/_language_codes",
    "chars": 4568,
    "preview": "#autoload\n# ------------------------------------------------------------------------------\n# Description\n# -----------\n#"
  },
  {
    "path": "src/_ldattach",
    "chars": 3631,
    "preview": "#compdef ldattach\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 "
  },
  {
    "path": "src/_lilypond",
    "chars": 9685,
    "preview": "#compdef lilypond\n# ------------------------------------------------------------------------------\n# Copyright (c) 2021 "
  },
  {
    "path": "src/_lscpu",
    "chars": 4563,
    "preview": "#compdef lscpu\n# ------------------------------------------------------------------------------\n# Copyright (c) 2024 Git"
  },
  {
    "path": "src/_lsipc",
    "chars": 4830,
    "preview": "#compdef lsipc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Git"
  },
  {
    "path": "src/_lslocks",
    "chars": 3201,
    "preview": "#compdef lslocks\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 G"
  },
  {
    "path": "src/_lslogins",
    "chars": 4988,
    "preview": "#compdef lslogins\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_lsmem",
    "chars": 3125,
    "preview": "#compdef lsmem\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Git"
  },
  {
    "path": "src/_lunchy",
    "chars": 4758,
    "preview": "#compdef lunchy\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Gi"
  },
  {
    "path": "src/_mc",
    "chars": 3562,
    "preview": "#compdef mc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2019 Sebast"
  },
  {
    "path": "src/_mcookie",
    "chars": 2517,
    "preview": "#compdef mcookie\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 G"
  },
  {
    "path": "src/_middleman",
    "chars": 5332,
    "preview": "#compdef middleman\n# ------------------------------------------------------------------------------\n# Copyright (c) 2013"
  },
  {
    "path": "src/_mina",
    "chars": 2831,
    "preview": "#compdef mina\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_mix",
    "chars": 8020,
    "preview": "#compdef mix\n#autoload\n\n# ------------------------------------------------------------------------------\n# Copyright (c)"
  },
  {
    "path": "src/_mkcert",
    "chars": 2503,
    "preview": "#compdef mkcert\n# ------------------------------------------------------------------------------\n# Copyright (c) 2023 Gi"
  },
  {
    "path": "src/_mssh",
    "chars": 4007,
    "preview": "#compdef mssh\n# ------------------------------------------------------------------------------\n# Copyright (c) 2020 Hyeo"
  },
  {
    "path": "src/_mussh",
    "chars": 3790,
    "preview": "#compdef mussh\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Git"
  },
  {
    "path": "src/_mvn",
    "chars": 29637,
    "preview": "#compdef mvn mvnDebug\n# ------------------------------------------------------------------------------\n# Description\n# -"
  },
  {
    "path": "src/_nano",
    "chars": 5535,
    "preview": "#compdef nano\n# ------------------------------------------------------------------------------\n# Description\n# ---------"
  },
  {
    "path": "src/_nanoc",
    "chars": 4801,
    "preview": "#compdef nanoc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2020 OKU"
  },
  {
    "path": "src/_neo",
    "chars": 3200,
    "preview": "#compdef neo\n# ------------------------------------------------------------------------------\n# Description\n# ----------"
  },
  {
    "path": "src/_neofetch",
    "chars": 9027,
    "preview": "#compdef neofetch\n# ------------------------------------------------------------------------------\n# Description\n# -----"
  },
  {
    "path": "src/_networkQuality",
    "chars": 2662,
    "preview": "#compdef networkQuality\n# ------------------------------------------------------------------------------\n# Copyright (c)"
  },
  {
    "path": "src/_nftables",
    "chars": 18062,
    "preview": "#compdef nft\n# ------------------------------------------------------------------------------\n# Description\n# ----------"
  },
  {
    "path": "src/_node",
    "chars": 18665,
    "preview": "#compdef node\n# ------------------------------------------------------------------------------\n# Copyright (c) 2018 Gith"
  },
  {
    "path": "src/_nvm",
    "chars": 8444,
    "preview": "#compdef nvm\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Githu"
  },
  {
    "path": "src/_openssl",
    "chars": 133525,
    "preview": "#compdef openssl\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 G"
  },
  {
    "path": "src/_openvpn3",
    "chars": 12847,
    "preview": "#compdef openvpn3\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 "
  },
  {
    "path": "src/_optirun",
    "chars": 3628,
    "preview": "#compdef optirun\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 G"
  },
  {
    "path": "src/_patool",
    "chars": 3127,
    "preview": "#compdef patool\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Gi"
  },
  {
    "path": "src/_periscope",
    "chars": 1258,
    "preview": "#compdef periscope\n# ------------------------------------------------------------------------------\n# Description\n# ----"
  },
  {
    "path": "src/_phing",
    "chars": 4412,
    "preview": "#compdef phing\n# ------------------------------------------------------------------------------\n# Copyright (c) Igor M. "
  },
  {
    "path": "src/_pixz",
    "chars": 3441,
    "preview": "#compdef pixz\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Gith"
  },
  {
    "path": "src/_pkcon",
    "chars": 4092,
    "preview": "#compdef pkcon\n# ------------------------------------------------------------------------------\n# Redistribution and use"
  },
  {
    "path": "src/_pm2",
    "chars": 15472,
    "preview": "#compdef pm2\n# ------------------------------------------------------------------------------\n# Description\n# ----------"
  },
  {
    "path": "src/_port",
    "chars": 24492,
    "preview": "#compdef port\n# ------------------------------------------------------------------------------\n# Description\n# ---------"
  },
  {
    "path": "src/_pre-commit",
    "chars": 6731,
    "preview": "#compdef pre-commit\n# ------------------------------------------------------------------------------\n# Description\n# ---"
  },
  {
    "path": "src/_protoc",
    "chars": 4844,
    "preview": "#compdef protoc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2020 Gi"
  },
  {
    "path": "src/_pygmentize",
    "chars": 6379,
    "preview": "#compdef pygmentize\n# ------------------------------------------------------------------------------\n# Copyright (c) 201"
  },
  {
    "path": "src/_qmk",
    "chars": 24452,
    "preview": "#compdef qmk\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Githu"
  },
  {
    "path": "src/_rails",
    "chars": 24715,
    "preview": "#compdef rails\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_ralio",
    "chars": 4424,
    "preview": "#compdef ralio\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Git"
  },
  {
    "path": "src/_rdfind",
    "chars": 2060,
    "preview": "#compdef rdfind\n# ------------------------------------------------------------------------------\n# Description\n# -------"
  },
  {
    "path": "src/_redis-cli",
    "chars": 9134,
    "preview": "#compdef redis-cli rec\n# ------------------------------------------------------------------------------\n# Copyright (c) "
  },
  {
    "path": "src/_rev",
    "chars": 1979,
    "preview": "#compdef rev\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Githu"
  },
  {
    "path": "src/_rfkill",
    "chars": 3498,
    "preview": "#compdef rfkill\n# ------------------------------------------------------------------------------\n# Copyright (c) 2014 Vi"
  },
  {
    "path": "src/_rmlint",
    "chars": 21067,
    "preview": "#compdef rmlint rmlint.sh -P rmlint.*.sh\n\n# Copyright (c) 2021 Github zsh-users - https://github.com/zsh-users\n#\n# Permi"
  },
  {
    "path": "src/_rslsync",
    "chars": 3078,
    "preview": "#compdef rslsync\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 G"
  },
  {
    "path": "src/_rspec",
    "chars": 6147,
    "preview": "#compdef rspec\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_rubocop",
    "chars": 8172,
    "preview": "#compdef rubocop\n# ------------------------------------------------------------------------------\n# Copyright (c) 2015 G"
  },
  {
    "path": "src/_sbt",
    "chars": 6152,
    "preview": "#compdef sbt\n# ------------------------------------------------------------------------------\n# Copyright (c) 2013 Githu"
  },
  {
    "path": "src/_scala",
    "chars": 20547,
    "preview": "#compdef scala scalac\n# ------------------------------------------------------------------------------\n# Copyright (c) 2"
  },
  {
    "path": "src/_screencapture",
    "chars": 3783,
    "preview": "#compdef screencapture\n# ------------------------------------------------------------------------------\n# Copyright (c) "
  },
  {
    "path": "src/_scrub",
    "chars": 4527,
    "preview": "#compdef scrub\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Git"
  },
  {
    "path": "src/_sdd",
    "chars": 3102,
    "preview": "#compdef sdd\n# ------------------------------------------------------------------------------\n# Redistribution and use i"
  },
  {
    "path": "src/_sdkmanager",
    "chars": 2895,
    "preview": "#compdef sdkmanager\n# ------------------------------------------------------------------------------\n# Copyright (c) 202"
  },
  {
    "path": "src/_setcap",
    "chars": 5745,
    "preview": "#compdef setcap\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Gi"
  },
  {
    "path": "src/_setup.py",
    "chars": 36244,
    "preview": "#compdef setup.py\n# ------------------------------------------------------------------------------\n# Copyright (C) 2015 "
  },
  {
    "path": "src/_shallow-backup",
    "chars": 3374,
    "preview": "#compdef shallow-backup\n# ------------------------------------------------------------------------------\n# Copyright (c)"
  },
  {
    "path": "src/_shellcheck",
    "chars": 3469,
    "preview": "#compdef shellcheck\n# ------------------------------------------------------------------------------\n# Copyright (c) 202"
  },
  {
    "path": "src/_showoff",
    "chars": 7294,
    "preview": "#compdef showoff\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 G"
  },
  {
    "path": "src/_sox_ng",
    "chars": 27249,
    "preview": "#compdef sox_ng soxi_ng play_ng rec_ng sox soxi play rec\n# -------------------------------------------------------------"
  },
  {
    "path": "src/_srm",
    "chars": 4000,
    "preview": "#compdef srm\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Githu"
  },
  {
    "path": "src/_sslscan",
    "chars": 4709,
    "preview": "#compdef sslscan\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 G"
  },
  {
    "path": "src/_subliminal",
    "chars": 3054,
    "preview": "#compdef subliminal\n# ------------------------------------------------------------------------------\n# Description\n# ---"
  },
  {
    "path": "src/_supervisord",
    "chars": 9565,
    "preview": "#compdef supervisord supervisorctl pidproxy\n# --------------------------------------------------------------------------"
  },
  {
    "path": "src/_svm",
    "chars": 6177,
    "preview": "#compdef svm\n# ------------------------------------------------------------------------------\n# Copyright (c) 2011 Githu"
  },
  {
    "path": "src/_swaplabel",
    "chars": 2059,
    "preview": "#compdef swaplabel\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025"
  },
  {
    "path": "src/_swapoff",
    "chars": 2083,
    "preview": "#compdef swapoff\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 G"
  },
  {
    "path": "src/_swapon",
    "chars": 3275,
    "preview": "#compdef swapon\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Gi"
  },
  {
    "path": "src/_teamocil",
    "chars": 2744,
    "preview": "#compdef teamocil\n# ------------------------------------------------------------------------------\n# Copyright (c) 2014 "
  },
  {
    "path": "src/_textutil",
    "chars": 4315,
    "preview": "#compdef textutil\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_thor",
    "chars": 4014,
    "preview": "#compdef thor\n# ------------------------------------------------------------------------------\n# Copyright (c) 2009-2015"
  },
  {
    "path": "src/_tmuxinator",
    "chars": 2250,
    "preview": "#compdef tmuxinator mux\n# ------------------------------------------------------------------------------\n# Copyright (c)"
  },
  {
    "path": "src/_tmuxp",
    "chars": 7354,
    "preview": "#compdef tmuxp\n\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Gi"
  },
  {
    "path": "src/_tox",
    "chars": 6627,
    "preview": "#compdef tox\n# ------------------------------------------------------------------------------\n# Description\n# ----------"
  },
  {
    "path": "src/_ts-node",
    "chars": 4082,
    "preview": "#compdef ts-node\n# ------------------------------------------------------------------------------\n# Copyright (c) 2023 G"
  },
  {
    "path": "src/_tsc",
    "chars": 15015,
    "preview": "#compdef tsc\n# ------------------------------------------------------------------------------\n# Copyright (c) 2023 Githu"
  },
  {
    "path": "src/_tsx",
    "chars": 2126,
    "preview": "#compdef tsx\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Githu"
  },
  {
    "path": "src/_udisksctl",
    "chars": 7236,
    "preview": "#compdef udisksctl\n#\n# ------------------------------------------------------------------------------\n# The MIT License\n"
  },
  {
    "path": "src/_ufw",
    "chars": 4575,
    "preview": "#compdef ufw\n# ------------------------------------------------------------------------------\n# Copyright (c) 2016 Githu"
  },
  {
    "path": "src/_uuidd",
    "chars": 3113,
    "preview": "#compdef uuidd\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Git"
  },
  {
    "path": "src/_uuidgen",
    "chars": 3491,
    "preview": "#compdef uuidgen\n# ------------------------------------------------------------------------------\n# Copyright (c) 2024 G"
  },
  {
    "path": "src/_uuidparse",
    "chars": 2355,
    "preview": "#compdef uuidparse\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025"
  },
  {
    "path": "src/_vipw",
    "chars": 2192,
    "preview": "#compdef vipw\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Gith"
  },
  {
    "path": "src/_virtualbox",
    "chars": 64834,
    "preview": "#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless vboxmanage=vboxmanage vboxheadless=vboxheadless\n# -------------"
  },
  {
    "path": "src/_vnstat",
    "chars": 6289,
    "preview": "#compdef vnstat\n# ------------------------------------------------------------------------------\n# Copyright (c) 2012 Gi"
  },
  {
    "path": "src/_wdctl",
    "chars": 3106,
    "preview": "#compdef wdctl\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 Git"
  },
  {
    "path": "src/_wemux",
    "chars": 3556,
    "preview": "#compdef wemux\n# ------------------------------------------------------------------------------\n# Copyright (c) 2015 Git"
  },
  {
    "path": "src/_wg-quick",
    "chars": 1029,
    "preview": "#compdef wg-quick\n# ------------------------------------------------------------------------------\n# Description\n# -----"
  },
  {
    "path": "src/_xdg-mime",
    "chars": 1717,
    "preview": "#compdef xdg-mime\n\n# Description:\n#   ZSH Completion for xdg-mime 1.2.1 from\n#   xdg-utils (https://gitlab.freedesktop.o"
  },
  {
    "path": "src/_xsel",
    "chars": 4022,
    "preview": "#compdef xsel\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017 Gith"
  },
  {
    "path": "src/_yamllint",
    "chars": 2470,
    "preview": "#compdef yamllint\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 "
  },
  {
    "path": "src/_yarn",
    "chars": 32873,
    "preview": "#compdef yarn\n# ------------------------------------------------------------------------------\n# Redistribution and use "
  },
  {
    "path": "src/_zcash-cli",
    "chars": 12097,
    "preview": "#compdef zcash-cli\n# ------------------------------------------------------------------------------\n# Copyright (c) 2017"
  },
  {
    "path": "src/_zramctl",
    "chars": 3541,
    "preview": "#compdef zramctl\n# ------------------------------------------------------------------------------\n# Copyright (c) 2025 G"
  },
  {
    "path": "zsh-completions-howto.org",
    "chars": 29587,
    "preview": "* Table of Contents                                                     :TOC:\n- [[#intro][Intro]]\n- [[#getting-started]["
  },
  {
    "path": "zsh-completions.plugin.zsh",
    "chars": 22,
    "preview": "fpath+=\"${0:A:h}/src\"\n"
  }
]

About this extraction

This page contains the full source code of the zsh-users/zsh-completions GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 188 files (1.6 MB), approximately 422.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!