From 68401c21d7685bc8de5c05c4a2153acf79caa65e Mon Sep 17 00:00:00 2001 From: Jorge Henriquez Date: Sun, 16 Jun 2019 00:08:04 -0700 Subject: [PATCH] Rehaul Dotfile --- .config/Code/User/settings.json | 25 - .config/Code/User/snippets/cpp.json | 64 - .config/zsh/.gitignore | 3 - .config/zsh/.zshrc | 16 - .config/zsh/completions/_buffalo | 157 -- .config/zsh/completions/_docker-compose | 3036 ----------------------- .config/zsh/completions/_proto-sort | 21 - .config/zsh/completions/test | 0 .config/zsh/functions/antiload.zsh | 4 - .config/zsh/functions/compfix.zsh | 7 - .config/zsh/private/empty.zsh | 1 - .config/zsh/src/alias.zsh | 1 - .config/zsh/src/completions.zsh | 1 - .config/zsh/src/ubuntu.zsh | 31 - .config/zsh/src/vars.zsh | 5 - .config/zsh/src/zsh_options.zsh | 50 - .config/zsh/zsh_plugins.txt | 5 - .hyper.js | 147 -- .zshenv | 9 - README.md | 48 - screenshots/vscode.png | Bin 125962 -> 0 bytes screenshots/zsh_hyper.gif | Bin 150842 -> 0 bytes vscode/settings.json | 30 + zsh/.zshenv | 22 + zsh/.zshrc | 196 ++ 25 files changed, 248 insertions(+), 3631 deletions(-) delete mode 100644 .config/Code/User/settings.json delete mode 100644 .config/Code/User/snippets/cpp.json delete mode 100644 .config/zsh/.gitignore delete mode 100644 .config/zsh/.zshrc delete mode 100644 .config/zsh/completions/_buffalo delete mode 100644 .config/zsh/completions/_docker-compose delete mode 100644 .config/zsh/completions/_proto-sort delete mode 100644 .config/zsh/completions/test delete mode 100644 .config/zsh/functions/antiload.zsh delete mode 100644 .config/zsh/functions/compfix.zsh delete mode 100644 .config/zsh/private/empty.zsh delete mode 100644 .config/zsh/src/alias.zsh delete mode 100644 .config/zsh/src/completions.zsh delete mode 100644 .config/zsh/src/ubuntu.zsh delete mode 100644 .config/zsh/src/vars.zsh delete mode 100644 .config/zsh/src/zsh_options.zsh delete mode 100644 .config/zsh/zsh_plugins.txt delete mode 100644 .hyper.js delete mode 100644 .zshenv delete mode 100644 README.md delete mode 100644 screenshots/vscode.png delete mode 100644 screenshots/zsh_hyper.gif create mode 100644 vscode/settings.json create mode 100644 zsh/.zshenv create mode 100644 zsh/.zshrc diff --git a/.config/Code/User/settings.json b/.config/Code/User/settings.json deleted file mode 100644 index 34c460c..0000000 --- a/.config/Code/User/settings.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "workbench.startupEditor": "newUntitledFile", - "editor.fontFamily": "'DankMono Nerd Font','OperatorMono Nerd Font','Meslo LG M DZ for Powerline','Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'", - "workbench.colorTheme": "Noctis Azureus", - "cSpell.userWords": [ - "Henriquez", - "Unmarshall", - "Wrapf" - ], - "terminal.integrated.fontFamily": "\"DankMono Nerd Font\"", - "window.zoomLevel": 0, - "editor.formatOnSave": true, - "git.autofetch": true, - "workbench.sideBar.location": "right", - "editor.fontLigatures": true, - "C_Cpp.clang_format_style": "{BasedOnStyle: Google, ColumnLimit: 72}", - "workbench.statusBar.feedback.visible": false, - "terminal.integrated.rendererType": "dom", - "C_Cpp.clang_format_path": "/usr/bin/clang-format", - "editor.snippetSuggestions": "top", - "diffEditor.renderSideBySide": false, - "files.exclude": { - "**/*.o": true - } -} \ No newline at end of file diff --git a/.config/Code/User/snippets/cpp.json b/.config/Code/User/snippets/cpp.json deleted file mode 100644 index 3198cc4..0000000 --- a/.config/Code/User/snippets/cpp.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - // Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "println": { - "prefix": "println", - "body": [ - "printf(\"$1\\n\",$2);" - ], - "description": "printf with a new line", - }, - "Info print statement": { - "prefix": "log", - "body": [ - "fprintf(stderr,\"\\x1B[36m\"\"[INFO]\" \"\\x1B[0m\"\": \" \"$1\\n\", $2);", - ], - "description": "Log to standard error" - }, - "Debug print statement": { - "prefix": "debug", - "body": [ - "fprintf(stderr, \"\\x1B[32m\"\"[DEBUG]\" \"\\x1B[0m\"\": \" \"$1\\n\", $2);", - ], - "description": "Debug log to standard error" - }, - "Error print statement": { - "prefix": "loge", - "body": [ - "fprintf(stderr, \"\\x1B[31m\"\"[ERROR]\" \"\\x1B[0m\"\": \" \"$1\\n\", $2);", - ], - "description": "Error Log to standard error" - }, - "iterate through vector": { - "prefix": "it", - "body": [ - "for(auto it = $1.begin() ; it != $1.end() ; ++it){$2}", - ], - "description": "iterate through stl container" - }, - "reverse iterate through vector": { - "prefix": "rit", - "body": [ - "for(auto it = $1.rbegin() ; it != $1.rend() ; ++it){$2}", - ], - "description": "iterate through stl container" - }, - "if in in stl container": { - "prefix": "ifin", - "body": [ - "if( $1.find($2) != $1.end() ){$3}", - ], - "description": "iterate through stl container" - } -} \ No newline at end of file diff --git a/.config/zsh/.gitignore b/.config/zsh/.gitignore deleted file mode 100644 index 0993212..0000000 --- a/.config/zsh/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.zcompdump -history -src/zsh_zplugins.sh diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc deleted file mode 100644 index c40a67b..0000000 --- a/.config/zsh/.zshrc +++ /dev/null @@ -1,16 +0,0 @@ -# Source functions -for func in $ZDOTDIR/functions/*; do - source "$func" -done - -# Source private scripts -for src in $ZDOTDIR/private/*; do - source "$src" -done - -fortune -n 140 | cowsay -f tux | lolcat - -# Source external scripts -for src in $ZDOTDIR/src/*; do - source "$src" -done diff --git a/.config/zsh/completions/_buffalo b/.config/zsh/completions/_buffalo deleted file mode 100644 index 87012c3..0000000 --- a/.config/zsh/completions/_buffalo +++ /dev/null @@ -1,157 +0,0 @@ -#compdef _buffalo buffalo - - -# In The Name Of God -# ======================================== -# [] File Name : buffalo.plugin.zsh -# -# [] Creation Date : 08-06-2018 -# -# [] Created By : Parham Alvani -# ======================================= - -_buffalo() { - local line - - cmds="((build\:'Builds a Buffalo binary, including bundling of assets (packr & webpack)' - db\:'A tasty treat for all your database needs' - destroy\:'Allows to destroy generated code.' - dev\:'Runs your Buffalo app in development mode' - generate\:'A collection of generators to make life easier' - help\:'Help about any command' - info\:'Prints off diagnostic information useful for debugging' - new\:'Creates new Buffalo application' - routes\:'Print out all defined routes' - setup\:'Setups a newly created, or recently checked out application.' - task\:'Runs your grift tasks' - test\:'Runs the tests for your Buffalo app' - update\:'will attempt to upgrade a Buffalo application to newer version' - version\:'Print the version number of buffalo'))" - _arguments -C \ - {-h,--help}"[help for buffalo]"\ - "1:command:$cmds"\ - "*::arg:->args" - - case $line[1] in - b|bill|build) - _buffalo_build - ;; - db) - _buffalo_db - ;; - d|destroy) - _buffalo_destroy - ;; - dev) - _buffalo_dev - ;; - g|generate) - _buffalo_generate - ;; - help) - _buffalo_help - ;; - new) - _buffalo_new - ;; - esac -} - -_buffalo_build() { - _arguments \ - {-c,--compress}"[compress static files in the binrary (default true)]"\ - {--debug,-d}"[print debugging informantion]"\ - "--environment=[set the environment for the binary (default development)]:string:( )"\ - {-e,--extract-assets}"[extract the assets and put them in a distinct archive]"\ - {-h,--help}"[help for build]"\ - "--ldflags=[set any ldflags to be passed to the go build]:string:( )"\ - {-o=,--output=}"[set the name of the binary]"\ - {-k,--skip-assets}"[skip running webpack and building assets]:string:( )"\ - "--skip-template-validation[skip validating plush templates]"\ - {-s,--static}"[build a static binary using --ldflags '-linkmode external -extldflags \\\"-static\\\"']"\ - {-t=,--tags=}"[compile with specific build tags]:string:( )" -} - -_buffalo_db() { - local line - - cmds="((create\:'Creates database for you' - destroy\:'Allows to destroy generated code' - drop\:'Drop database for you' - generate\:'' - migrate\:'Runs migrations against your database' - schema\:'Tools for working with your database scheam'))" - _arguments -C \ - "1:command:$cmds"\ - {-c=,--config=}"[The configuration file you would like to use]:string"\ - {-d,--debug}"[Use debug/verbose mode]"\ - {-e=,--env=}"[]:string"\ - {-h,--help}"[help for db]"\ - {-p=,--path=}"[Path to the migrations folder (default \\\"./migrations\\\")]:string"\ - {-v,--version}"[Show version information]" - "*::arg:->args" - - case $line[1] in - esac - -} - -_buffalo_destroy() { -} - -_buffalo_dev() { -} - -_buffalo_generate() { - local line - - cmds="((action\:'Generates new action(s)' - docker\:'Generates a Dockerfile' - mailer\:'Generates a new mailer for Buffalo' - resource\:'Generates a new action/resource file' - task\:'Generates a grift task'))" - _arguments -C \ - "1:command:$cmds"\ - "*::arg:->args" - - case $line[1] in - a|action|actions) - _buffalo_generate_action - ;; - esac - -} - -_buffalo_generate_action() { - _arguments \ - "-h[help for action]"\ - "-m[change the HTTP method for the generate action(s) (default GET)]"\ - "--skip-template[skip generation of templates for action(s)]" - "1:name"\ - "*:handler name..." -} - - -_buffalo_help() { - _arguments \ - "1:command:(build db destroy dev generate help info new routes setup task test update version)" -} - -_buffalo_new() { - _arguments \ - "1:name:( )"\ - "--api[skip all front-end code and configure for an API server]"\ - "--bootstrap[specify version for Bootstrap \\[3, 4\\] (default 3)]"\ - "--ci-provider[specify the type of ci file you would like buffalo to generate \\[none, travis, gitlab-ci\\] (default none)]"\ - "--db-type[specify the type of database you want to use \\[postgres, mysql, cockroach\\] (default postgres)]"\ - "--docker[specify the type of Docker file to generate \\[none, multi, standard\\] (default multi)]"\ - {-f,--force}"[delete and remake if the app already exists]"\ - {-h,--help}"[help for new]"\ - "--skip-pop[skips adding pop/soda to your app]"\ - "--skip-webpack[skips adding Webpack to your app]"\ - "--skip-yarn[use npm instead of yarn for frontend dependencies management]"\ - "--vcs[specify the Version control system you would like to use \\[none, git, bzr\\] (default git)]"\ - {-v,--verbose}"[verbosely print out the go get commands]"\ - "--with-dep[adds github.com/golang/dep to your dep]" -} - diff --git a/.config/zsh/completions/_docker-compose b/.config/zsh/completions/_docker-compose deleted file mode 100644 index ce5010e..0000000 --- a/.config/zsh/completions/_docker-compose +++ /dev/null @@ -1,3036 +0,0 @@ -#compdef docker dockerd -# -# zsh completion for docker (http://docker.com) -# -# version: 0.3.0 -# github: https://github.com/felixr/docker-zsh-completion -# -# contributors: -# - Felix Riedel -# - Steve Durrheimer -# - Vincent Bernat -# -# license: -# -# Copyright (c) 2013, Felix Riedel -# 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 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 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. -# - -# Short-option stacking can be enabled with: -# zstyle ':completion:*:*:docker:*' option-stacking yes -# zstyle ':completion:*:*:docker-*:*' option-stacking yes -__docker_arguments() { - if zstyle -t ":completion:${curcontext}:" option-stacking; then - print -- -s - fi -} - -__docker_get_containers() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local kind type line s - declare -a running stopped lines args names - - kind=$1; shift - type=$1; shift - [[ $kind = (stopped|all) ]] && args=($args -a) - - lines=(${(f)${:-"$(_call_program commands docker $docker_options ps --format 'table' --no-trunc $args)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 # Last column, should go to the end of the line - lines=(${lines[2,-1]}) - - # Container ID - if [[ $type = (ids|all) ]]; then - for line in $lines; do - s="${${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}[0,12]}" - s="$s:${(l:15:: :::)${${line[${begin[CREATED]},${end[CREATED]}]/ ago/}%% ##}}" - s="$s, ${${${line[${begin[IMAGE]},${end[IMAGE]}]}/:/\\:}%% ##}" - if [[ ${line[${begin[STATUS]},${end[STATUS]}]} = (Exit*|Created*) ]]; then - stopped=($stopped $s) - else - running=($running $s) - fi - done - fi - - # Names: we only display the one without slash. All other names - # are generated and may clutter the completion. However, with - # Swarm, all names may be prefixed by the swarm node name. - if [[ $type = (names|all) ]]; then - for line in $lines; do - names=(${(ps:,:)${${line[${begin[NAMES]},${end[NAMES]}]}%% *}}) - # First step: find a common prefix and strip it (swarm node case) - (( ${#${(u)names%%/*}} == 1 )) && names=${names#${names[1]%%/*}/} - # Second step: only keep the first name without a / - s=${${names:#*/*}[1]} - # If no name, well give up. - (( $#s != 0 )) || continue - s="$s:${(l:15:: :::)${${line[${begin[CREATED]},${end[CREATED]}]/ ago/}%% ##}}" - s="$s, ${${${line[${begin[IMAGE]},${end[IMAGE]}]}/:/\\:}%% ##}" - if [[ ${line[${begin[STATUS]},${end[STATUS]}]} = (Exit*|Created*) ]]; then - stopped=($stopped $s) - else - running=($running $s) - fi - done - fi - - [[ $kind = (running|all) ]] && _describe -t containers-running "running containers" running "$@" && ret=0 - [[ $kind = (stopped|all) ]] && _describe -t containers-stopped "stopped containers" stopped "$@" && ret=0 - return ret -} - -__docker_complete_stopped_containers() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_containers stopped all "$@" -} - -__docker_complete_running_containers() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_containers running all "$@" -} - -__docker_complete_containers() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_containers all all "$@" -} - -__docker_complete_containers_ids() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_containers all ids "$@" -} - -__docker_complete_containers_names() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_containers all names "$@" -} - -__docker_complete_info_plugins() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - emulate -L zsh - setopt extendedglob - local -a plugins - plugins=(${(ps: :)${(M)${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'Plugins:}%%$'\n'^ *}}:# $1: *}## $1: }) - _describe -t plugins "$1 plugins" plugins && ret=0 - return ret -} - -__docker_complete_images() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a images - images=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}[2,-1]}/(#b)([^ ]##) ##([^ ]##) ##([^ ]##)*/${match[3]}:${(r:15:: :::)match[2]} in ${match[1]}}) - _describe -t docker-images "images" images && ret=0 - __docker_complete_repositories_with_tags && ret=0 - return ret -} - -__docker_complete_repositories() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a repos - repos=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}%% *}[2,-1]}) - repos=(${repos#}) - _describe -t docker-repos "repositories" repos && ret=0 - return ret -} - -__docker_complete_repositories_with_tags() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a repos onlyrepos matched - declare m - repos=(${${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}[2,-1]}/ ##/:::}%% *}) - repos=(${${repos%:::}#}) - # Check if we have a prefix-match for the current prefix. - onlyrepos=(${repos%::*}) - for m in $onlyrepos; do - [[ ${PREFIX##${~~m}} != ${PREFIX} ]] && { - # Yes, complete with tags - repos=(${${repos/:::/:}/:/\\:}) - _describe -t docker-repos-with-tags "repositories with tags" repos && ret=0 - return ret - } - done - # No, only complete repositories - onlyrepos=(${${repos%:::*}/:/\\:}) - _describe -t docker-repos "repositories" onlyrepos -qS : && ret=0 - - return ret -} - -__docker_search() { - [[ $PREFIX = -* ]] && return 1 - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy - fi - - local searchterm cachename - searchterm="${words[$CURRENT]%/}" - cachename=_docker-search-$searchterm - - local expl - local -a result - if ( [[ ${(P)+cachename} -eq 0 ]] || _cache_invalid ${cachename#_} ) \ - && ! _retrieve_cache ${cachename#_}; then - _message "Searching for ${searchterm}..." - result=(${${${(f)${:-"$(_call_program commands docker $docker_options search $searchterm)"$'\n'}}%% *}[2,-1]}) - _store_cache ${cachename#_} result - fi - _wanted dockersearch expl 'available images' compadd -a result -} - -__docker_get_log_options() { - [[ $PREFIX = -* ]] && return 1 - - integer ret=1 - local log_driver=${opt_args[--log-driver]:-"all"} - local -a common_options common_options2 awslogs_options fluentd_options gelf_options journald_options json_file_options logentries_options syslog_options splunk_options - - common_options=("max-buffer-size" "mode") - common_options2=("env" "env-regex" "labels") - awslogs_options=($common_options "awslogs-create-group" "awslogs-datetime-format" "awslogs-group" "awslogs-multiline-pattern" "awslogs-region" "awslogs-stream" "tag") - fluentd_options=($common_options $common_options2 "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "fluentd-sub-second-precision" "tag") - gcplogs_options=($common_options $common_options2 "gcp-log-cmd" "gcp-meta-id" "gcp-meta-name" "gcp-meta-zone" "gcp-project") - gelf_options=($common_options $common_options2 "gelf-address" "gelf-compression-level" "gelf-compression-type" "tag") - journald_options=($common_options $common_options2 "tag") - json_file_options=($common_options $common_options2 "max-file" "max-size") - logentries_options=($common_options $common_options2 "logentries-token" "tag") - syslog_options=($common_options $common_options2 "syslog-address" "syslog-facility" "syslog-format" "syslog-tls-ca-cert" "syslog-tls-cert" "syslog-tls-key" "syslog-tls-skip-verify" "tag") - splunk_options=($common_options $common_options2 "splunk-caname" "splunk-capath" "splunk-format" "splunk-gzip" "splunk-gzip-level" "splunk-index" "splunk-insecureskipverify" "splunk-source" "splunk-sourcetype" "splunk-token" "splunk-url" "splunk-verify-connection" "tag") - - [[ $log_driver = (awslogs|all) ]] && _describe -t awslogs-options "awslogs options" awslogs_options "$@" && ret=0 - [[ $log_driver = (fluentd|all) ]] && _describe -t fluentd-options "fluentd options" fluentd_options "$@" && ret=0 - [[ $log_driver = (gcplogs|all) ]] && _describe -t gcplogs-options "gcplogs options" gcplogs_options "$@" && ret=0 - [[ $log_driver = (gelf|all) ]] && _describe -t gelf-options "gelf options" gelf_options "$@" && ret=0 - [[ $log_driver = (journald|all) ]] && _describe -t journald-options "journald options" journald_options "$@" && ret=0 - [[ $log_driver = (json-file|all) ]] && _describe -t json-file-options "json-file options" json_file_options "$@" && ret=0 - [[ $log_driver = (logentries|all) ]] && _describe -t logentries-options "logentries options" logentries_options "$@" && ret=0 - [[ $log_driver = (syslog|all) ]] && _describe -t syslog-options "syslog options" syslog_options "$@" && ret=0 - [[ $log_driver = (splunk|all) ]] && _describe -t splunk-options "splunk options" splunk_options "$@" && ret=0 - - return ret -} - -__docker_complete_log_drivers() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - drivers=(awslogs etwlogs fluentd gcplogs gelf journald json-file none splunk syslog) - _describe -t log-drivers "log drivers" drivers && ret=0 - return ret -} - -__docker_complete_log_options() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (syslog-format) - local opts=('rfc3164' 'rfc5424' 'rfc5424micro') - _describe -t syslog-format-opts "syslog format options" opts && ret=0 - ;; - (mode) - local opts=('blocking' 'non-blocking') - _describe -t mode-opts "mode options" opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - __docker_get_log_options -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_detach_keys() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - compset -P "*," - keys=(${:-{a-z}}) - ctrl_keys=(${:-ctrl-{{a-z},{@,'[','\\','^',']',_}}}) - _describe -t detach_keys "[a-z]" keys -qS "," && ret=0 - _describe -t detach_keys-ctrl "'ctrl-' + 'a-z @ [ \\\\ ] ^ _'" ctrl_keys -qS "," && ret=0 -} - -__docker_complete_pid() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local -a opts vopts - - opts=('host') - vopts=('container') - - if compset -P '*:'; then - case "${${words[-1]%:*}#*=}" in - (container) - __docker_complete_running_containers && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - _describe -t pid-value-opts "PID Options with value" vopts -qS ":" && ret=0 - _describe -t pid-opts "PID Options" opts && ret=0 - fi - - return ret -} - -__docker_complete_runtimes() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - emulate -L zsh - setopt extendedglob - local -a runtimes_opts - runtimes_opts=(${(ps: :)${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'Runtimes: }%%$'\n'^ *}}}) - _describe -t runtimes-opts "runtimes options" runtimes_opts && ret=0 -} - -__docker_complete_ps_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (ancestor) - __docker_complete_images && ret=0 - ;; - (before|since) - __docker_complete_containers && ret=0 - ;; - (health) - health_opts=('healthy' 'none' 'starting' 'unhealthy') - _describe -t health-filter-opts "health filter options" health_opts && ret=0 - ;; - (id) - __docker_complete_containers_ids && ret=0 - ;; - (is-task) - _describe -t boolean-filter-opts "filter options" boolean_opts && ret=0 - ;; - (name) - __docker_complete_containers_names && ret=0 - ;; - (network) - __docker_complete_networks && ret=0 - ;; - (status) - status_opts=('created' 'dead' 'exited' 'paused' 'restarting' 'running' 'removing') - _describe -t status-filter-opts "status filter options" status_opts && ret=0 - ;; - (volume) - __docker_complete_volumes && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('ancestor' 'before' 'exited' 'expose' 'health' 'id' 'label' 'name' 'network' 'publish' 'since' 'status' 'volume') - _describe -t filter-opts "Filter Options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_search_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a boolean_opts opts - - boolean_opts=('true' 'false') - opts=('is-automated' 'is-official' 'stars') - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (is-automated|is-official) - _describe -t boolean-filter-opts "filter options" boolean_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_images_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a boolean_opts opts - - boolean_opts=('true' 'false') - opts=('before' 'dangling' 'label' 'reference' 'since') - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (before|reference|since) - __docker_complete_images && ret=0 - ;; - (dangling) - _describe -t boolean-filter-opts "filter options" boolean_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - _describe -t filter-opts "Filter Options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_events_filter() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a opts - - opts=('container' 'daemon' 'event' 'image' 'label' 'network' 'scope' 'type' 'volume') - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (container) - __docker_complete_containers && ret=0 - ;; - (daemon) - emulate -L zsh - setopt extendedglob - local -a daemon_opts - daemon_opts=( - ${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'Name: }%%$'\n'^ *}} - ${${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'ID: }%%$'\n'^ *}}//:/\\:} - ) - _describe -t daemon-filter-opts "daemon filter options" daemon_opts && ret=0 - ;; - (event) - local -a event_opts - event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disable' 'disconnect' 'enable' 'exec_create' 'exec_detach' - 'exec_start' 'export' 'health_status' 'import' 'install' 'kill' 'load' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'remove' 'rename' 'resize' - 'restart' 'save' 'start' 'stop' 'tag' 'top' 'unmount' 'unpause' 'untag' 'update') - _describe -t event-filter-opts "event filter options" event_opts && ret=0 - ;; - (image) - __docker_complete_images && ret=0 - ;; - (network) - __docker_complete_networks && ret=0 - ;; - (scope) - local -a scope_opts - scope_opts=('local' 'swarm') - _describe -t scope-filter-opts "scope filter options" scope_opts && ret=0 - ;; - (type) - local -a type_opts - type_opts=('container' 'daemon' 'image' 'network' 'volume') - _describe -t type-filter-opts "type filter options" type_opts && ret=0 - ;; - (volume) - __docker_complete_volumes && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_prune_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a opts - - opts=('until') - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - *) - _message 'value' && ret=0 - ;; - esac - else - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -# BO checkpoint - -__docker_checkpoint_commands() { - local -a _docker_checkpoint_subcommands - _docker_checkpoint_subcommands=( - "create:Create a checkpoint from a running container" - "ls:List checkpoints for a container" - "rm:Remove a checkpoint" - ) - _describe -t docker-checkpoint-commands "docker checkpoint command" _docker_checkpoint_subcommands -} - -__docker_checkpoint_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (create) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--checkpoint-dir=[Use a custom checkpoint storage directory]:dir:_directories" \ - "($help)--leave-running[Leave the container running after checkpoint]" \ - "($help -)1:container:__docker_complete_running_containers" \ - "($help -)2:checkpoint: " && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--checkpoint-dir=[Use a custom checkpoint storage directory]:dir:_directories" \ - "($help -)1:container:__docker_complete_containers" && ret=0 - ;; - (rm|remove) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--checkpoint-dir=[Use a custom checkpoint storage directory]:dir:_directories" \ - "($help -)1:container:__docker_complete_containers" \ - "($help -)2:checkpoint: " && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_checkpoint_commands" && ret=0 - ;; - esac - - return ret -} - -# EO checkpoint - -# BO container - -__docker_container_commands() { - local -a _docker_container_subcommands - _docker_container_subcommands=( - "attach:Attach to a running container" - "commit:Create a new image from a container's changes" - "cp:Copy files/folders between a container and the local filesystem" - "create:Create a new container" - "diff:Inspect changes on a container's filesystem" - "exec:Run a command in a running container" - "export:Export a container's filesystem as a tar archive" - "inspect:Display detailed information on one or more containers" - "kill:Kill one or more running containers" - "logs:Fetch the logs of a container" - "ls:List containers" - "pause:Pause all processes within one or more containers" - "port:List port mappings or a specific mapping for the container" - "prune:Remove all stopped containers" - "rename:Rename a container" - "restart:Restart one or more containers" - "rm:Remove one or more containers" - "run:Run a command in a new container" - "start:Start one or more stopped containers" - "stats:Display a live stream of container(s) resource usage statistics" - "stop:Stop one or more running containers" - "top:Display the running processes of a container" - "unpause:Unpause all processes within one or more containers" - "update:Update configuration of one or more containers" - "wait:Block until one or more containers stop, then print their exit codes" - ) - _describe -t docker-container-commands "docker container command" _docker_container_subcommands -} - -__docker_container_subcommand() { - local -a _command_args opts_help opts_attach_exec_run_start opts_create_run opts_create_run_update - local expl help="--help" - integer ret=1 - - opts_attach_exec_run_start=( - "($help)--detach-keys=[Escape key sequence used to detach a container]:sequence:__docker_complete_detach_keys" - ) - opts_create_run=( - "($help -a --attach)"{-a=,--attach=}"[Attach to stdin, stdout or stderr]:device:(STDIN STDOUT STDERR)" - "($help)*--add-host=[Add a custom host-to-IP mapping]:host\:ip mapping: " - "($help)*--blkio-weight-device=[Block IO (relative device weight)]:device:Block IO weight: " - "($help)*--cap-add=[Add Linux capabilities]:capability: " - "($help)*--cap-drop=[Drop Linux capabilities]:capability: " - "($help)--cgroup-parent=[Parent cgroup for the container]:cgroup: " - "($help)--cidfile=[Write the container ID to the file]:CID file:_files" - "($help)--cpus=[Number of CPUs (default 0.000)]:cpus: " - "($help)*--device=[Add a host device to the container]:device:_files" - "($help)*--device-cgroup-rule=[Add a rule to the cgroup allowed devices list]:device:cgroup: " - "($help)*--device-read-bps=[Limit the read rate (bytes per second) from a device]:device:IO rate: " - "($help)*--device-read-iops=[Limit the read rate (IO per second) from a device]:device:IO rate: " - "($help)*--device-write-bps=[Limit the write rate (bytes per second) to a device]:device:IO rate: " - "($help)*--device-write-iops=[Limit the write rate (IO per second) to a device]:device:IO rate: " - "($help)--disable-content-trust[Skip image verification]" - "($help)*--dns=[Custom DNS servers]:DNS server: " - "($help)*--dns-option=[Custom DNS options]:DNS option: " - "($help)*--dns-search=[Custom DNS search domains]:DNS domains: " - "($help)*--domainname=[Container NIS domain name]:domainname:_hosts" - "($help)*"{-e=,--env=}"[Environment variables]:environment variable: " - "($help)--entrypoint=[Overwrite the default entrypoint of the image]:entry point: " - "($help)*--env-file=[Read environment variables from a file]:environment file:_files" - "($help)*--expose=[Expose a port from the container without publishing it]: " - "($help)*--group=[Set one or more supplementary user groups for the container]:group:_groups" - "($help -h --hostname)"{-h=,--hostname=}"[Container host name]:hostname:_hosts" - "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]" - "($help)--init[Run an init inside the container that forwards signals and reaps processes]" - "($help)--ip=[IPv4 address]:IPv4: " - "($help)--ip6=[IPv6 address]:IPv6: " - "($help)--ipc=[IPC namespace to use]:IPC namespace: " - "($help)--isolation=[Container isolation technology]:isolation:(default hyperv process)" - "($help)*--link=[Add link to another container]:link:->link" - "($help)*--link-local-ip=[Container IPv4/IPv6 link-local addresses]:IPv4/IPv6: " - "($help)*"{-l=,--label=}"[Container metadata]:label: " - "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_complete_log_drivers" - "($help)*--log-opt=[Log driver specific options]:log driver options:__docker_complete_log_options" - "($help)--mac-address=[Container MAC address]:MAC address: " - "($help)*--mount=[Attach a filesystem mount to the container]:mount: " - "($help)--name=[Container name]:name: " - "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)" - "($help)*--network-alias=[Add network-scoped alias for the container]:alias: " - "($help)--oom-kill-disable[Disable OOM Killer]" - "($help)--oom-score-adj[Tune the host's OOM preferences for containers (accepts -1000 to 1000)]" - "($help)--pids-limit[Tune container pids limit (set -1 for unlimited)]" - "($help -P --publish-all)"{-P,--publish-all}"[Publish all exposed ports]" - "($help)*"{-p=,--publish=}"[Expose a container's port to the host]:port:_ports" - "($help)--pid=[PID namespace to use]:PID namespace:__docker_complete_pid" - "($help)--privileged[Give extended privileges to this container]" - "($help)--read-only[Mount the container's root filesystem as read only]" - "($help)*--security-opt=[Security options]:security option: " - "($help)*--shm-size=[Size of '/dev/shm' (format is '')]:shm size: " - "($help)--stop-signal=[Signal to kill a container]:signal:_signals" - "($help)--stop-timeout=[Timeout (in seconds) to stop a container]:time: " - "($help)*--sysctl=-[sysctl options]:sysctl: " - "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" - "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" - "($help)*--ulimit=[ulimit options]:ulimit: " - "($help)--userns=[Container user namespace]:user namespace:(host)" - "($help)--tmpfs[mount tmpfs]" - "($help)*-v[Bind mount a volume]:volume: " - "($help)--volume-driver=[Optional volume driver for the container]:volume driver:(local)" - "($help)*--volumes-from=[Mount volumes from the specified container]:volume: " - "($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories" - ) - opts_create_run_update=( - "($help)--blkio-weight=[Block IO (relative weight), between 10 and 1000]:Block IO weight:(10 100 500 1000)" - "($help -c --cpu-shares)"{-c=,--cpu-shares=}"[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)" - "($help)--cpu-period=[Limit the CPU CFS (Completely Fair Scheduler) period]:CPU period: " - "($help)--cpu-quota=[Limit the CPU CFS (Completely Fair Scheduler) quota]:CPU quota: " - "($help)--cpu-rt-period=[Limit the CPU real-time period]:CPU real-time period in microseconds: " - "($help)--cpu-rt-runtime=[Limit the CPU real-time runtime]:CPU real-time runtime in microseconds: " - "($help)--cpuset-cpus=[CPUs in which to allow execution]:CPUs: " - "($help)--cpuset-mems=[MEMs in which to allow execution]:MEMs: " - "($help)--kernel-memory=[Kernel memory limit in bytes]:Memory limit: " - "($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: " - "($help)--memory-reservation=[Memory soft limit]:Memory limit: " - "($help)--memory-swap=[Total memory limit with swap]:Memory limit: " - "($help)--restart=[Restart policy]:restart policy:(no on-failure always unless-stopped)" - ) - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (attach) - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_attach_exec_run_start \ - "($help)--no-stdin[Do not attach stdin]" \ - "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \ - "($help -):containers:__docker_complete_running_containers" && ret=0 - ;; - (commit) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --author)"{-a=,--author=}"[Author]:author: " \ - "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \ - "($help -m --message)"{-m=,--message=}"[Commit message]:message: " \ - "($help -p --pause)"{-p,--pause}"[Pause container during commit]" \ - "($help -):container:__docker_complete_containers" \ - "($help -): :__docker_complete_repositories_with_tags" && ret=0 - ;; - (cp) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -L --follow-link)"{-L,--follow-link}"[Always follow symbol link]" \ - "($help -)1:container:->container" \ - "($help -)2:hostpath:_files" && ret=0 - case $state in - (container) - if compset -P "*:"; then - _files && ret=0 - else - __docker_complete_containers -qS ":" && ret=0 - fi - ;; - esac - ;; - (create) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_create_run \ - $opts_create_run_update \ - "($help -): :__docker_complete_images" \ - "($help -):command: _command_names -e" \ - "($help -)*::arguments: _normal" && ret=0 - case $state in - (link) - if compset -P "*:"; then - _wanted alias expl "Alias" compadd -E "" && ret=0 - else - __docker_complete_running_containers -qS ":" && ret=0 - fi - ;; - esac - ;; - (diff) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:containers:__docker_complete_containers" && ret=0 - ;; - (exec) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_attach_exec_run_start \ - "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \ - "($help)*"{-e=,--env=}"[Set environment variables]:environment variable: " \ - "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]" \ - "($help)--privileged[Give extended Linux capabilities to the command]" \ - "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \ - "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" \ - "($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories" \ - "($help -):containers:__docker_complete_running_containers" \ - "($help -)*::command:->anycommand" && ret=0 - case $state in - (anycommand) - shift 1 words - (( CURRENT-- )) - _normal && ret=0 - ;; - esac - ;; - (export) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -o --output)"{-o=,--output=}"[Write to a file, instead of stdout]:output file:_files" \ - "($help -)*:containers:__docker_complete_containers" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help -s --size)"{-s,--size}"[Display total file sizes]" \ - "($help -)*:containers:__docker_complete_containers" && ret=0 - ;; - (kill) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -s --signal)"{-s=,--signal=}"[Signal to send]:signal:_signals" \ - "($help -)*:containers:__docker_complete_running_containers" && ret=0 - ;; - (logs) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--details[Show extra details provided to logs]" \ - "($help -f --follow)"{-f,--follow}"[Follow log output]" \ - "($help -s --since)"{-s=,--since=}"[Show logs since this timestamp]:timestamp: " \ - "($help -t --timestamps)"{-t,--timestamps}"[Show timestamps]" \ - "($help)--tail=[Output the last K lines]:lines:(1 10 20 50 all)" \ - "($help -)*:containers:__docker_complete_containers" && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Show all containers]" \ - "($help)--before=[Show only container created before...]:containers:__docker_complete_containers" \ - "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_ps_filters" \ - "($help)--format=[Pretty-print containers using a Go template]:template: " \ - "($help -l --latest)"{-l,--latest}"[Show only the latest created container]" \ - "($help -n --last)"{-n=,--last=}"[Show n last created containers (includes all states)]:n:(1 5 10 25 50)" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \ - "($help -s --size)"{-s,--size}"[Display total file sizes]" \ - "($help)--since=[Show only containers created since...]:containers:__docker_complete_containers" && ret=0 - ;; - (pause|unpause) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:containers:__docker_complete_running_containers" && ret=0 - ;; - (port) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)1:containers:__docker_complete_running_containers" \ - "($help -)2:port:_ports" && ret=0 - ;; - (prune) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \ - "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0 - ;; - (rename) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -):old name:__docker_complete_containers" \ - "($help -):new name: " && ret=0 - ;; - (restart) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \ - "($help -)*:containers:__docker_complete_containers_ids" && ret=0 - ;; - (rm) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force removal]" \ - "($help -l --link)"{-l,--link}"[Remove the specified link and not the underlying container]" \ - "($help -v --volumes)"{-v,--volumes}"[Remove the volumes associated to the container]" \ - "($help -)*:containers:->values" && ret=0 - case $state in - (values) - if [[ ${words[(r)-f]} == -f || ${words[(r)--force]} == --force ]]; then - __docker_complete_containers && ret=0 - else - __docker_complete_stopped_containers && ret=0 - fi - ;; - esac - ;; - (run) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_create_run \ - $opts_create_run_update \ - $opts_attach_exec_run_start \ - "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \ - "($help)--health-cmd=[Command to run to check health]:command: " \ - "($help)--health-interval=[Time between running the check]:time: " \ - "($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)" \ - "($help)--health-timeout=[Maximum time to allow one check to run]:time: " \ - "($help)--no-healthcheck[Disable any container-specified HEALTHCHECK]" \ - "($help)--rm[Remove intermediate containers when it exits]" \ - "($help)--runtime=[Name of the runtime to be used for that container]:runtime:__docker_complete_runtimes" \ - "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \ - "($help)--storage-opt=[Storage driver options for the container]:storage options:->storage-opt" \ - "($help -): :__docker_complete_images" \ - "($help -):command: _command_names -e" \ - "($help -)*::arguments: _normal" && ret=0 - case $state in - (link) - if compset -P "*:"; then - _wanted alias expl "Alias" compadd -E "" && ret=0 - else - __docker_complete_running_containers -qS ":" && ret=0 - fi - ;; - (storage-opt) - if compset -P "*="; then - _message "value" && ret=0 - else - opts=('size') - _describe -t filter-opts "storage options" opts -qS "=" && ret=0 - fi - ;; - esac - ;; - (start) - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_attach_exec_run_start \ - "($help -a --attach)"{-a,--attach}"[Attach container's stdout/stderr and forward all signals]" \ - "($help -i --interactive)"{-i,--interactive}"[Attach container's stdin]" \ - "($help -)*:containers:__docker_complete_stopped_containers" && ret=0 - ;; - (stats) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Show all containers (default shows just running)]" \ - "($help)--format=[Pretty-print images using a Go template]:template: " \ - "($help)--no-stream[Disable streaming stats and only pull the first result]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -)*:containers:__docker_complete_running_containers" && ret=0 - ;; - (stop) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \ - "($help -)*:containers:__docker_complete_running_containers" && ret=0 - ;; - (top) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)1:containers:__docker_complete_running_containers" \ - "($help -)*:: :->ps-arguments" && ret=0 - case $state in - (ps-arguments) - _ps && ret=0 - ;; - esac - ;; - (update) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_create_run_update \ - "($help -)*: :->values" && ret=0 - case $state in - (values) - if [[ ${words[(r)--kernel-memory*]} = (--kernel-memory*) ]]; then - __docker_complete_stopped_containers && ret=0 - else - __docker_complete_containers && ret=0 - fi - ;; - esac - ;; - (wait) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:containers:__docker_complete_running_containers" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_container_commands" && ret=0 - ;; - esac - - return ret -} - -# EO container - -# BO image - -__docker_image_commands() { - local -a _docker_image_subcommands - _docker_image_subcommands=( - "build:Build an image from a Dockerfile" - "history:Show the history of an image" - "import:Import the contents from a tarball to create a filesystem image" - "inspect:Display detailed information on one or more images" - "load:Load an image from a tar archive or STDIN" - "ls:List images" - "prune:Remove unused images" - "pull:Pull an image or a repository from a registry" - "push:Push an image or a repository to a registry" - "rm:Remove one or more images" - "save:Save one or more images to a tar archive (streamed to STDOUT by default)" - "tag:Tag an image into a repository" - ) - _describe -t docker-image-commands "docker image command" _docker_image_subcommands -} - -__docker_image_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (build) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*--add-host=[Add a custom host-to-IP mapping]:host\:ip mapping: " \ - "($help)*--build-arg=[Build-time variables]:=: " \ - "($help)*--cache-from=[Images to consider as cache sources]: :__docker_complete_repositories_with_tags" \ - "($help -c --cpu-shares)"{-c=,--cpu-shares=}"[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)" \ - "($help)--cgroup-parent=[Parent cgroup for the container]:cgroup: " \ - "($help)--compress[Compress the build context using gzip]" \ - "($help)--cpu-period=[Limit the CPU CFS (Completely Fair Scheduler) period]:CPU period: " \ - "($help)--cpu-quota=[Limit the CPU CFS (Completely Fair Scheduler) quota]:CPU quota: " \ - "($help)--cpu-rt-period=[Limit the CPU real-time period]:CPU real-time period in microseconds: " \ - "($help)--cpu-rt-runtime=[Limit the CPU real-time runtime]:CPU real-time runtime in microseconds: " \ - "($help)--cpuset-cpus=[CPUs in which to allow execution]:CPUs: " \ - "($help)--cpuset-mems=[MEMs in which to allow execution]:MEMs: " \ - "($help)--disable-content-trust[Skip image verification]" \ - "($help -f --file)"{-f=,--file=}"[Name of the Dockerfile]:Dockerfile:_files" \ - "($help)--force-rm[Always remove intermediate containers]" \ - "($help)--isolation=[Container isolation technology]:isolation:(default hyperv process)" \ - "($help)*--label=[Set metadata for an image]:label=value: " \ - "($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: " \ - "($help)--memory-swap=[Total memory limit with swap]:Memory limit: " \ - "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)" \ - "($help)--no-cache[Do not use cache when building the image]" \ - "($help)--pull[Attempt to pull a newer version of the image]" \ - "($help -q --quiet)"{-q,--quiet}"[Suppress verbose build output]" \ - "($help)--rm[Remove intermediate containers after a successful build]" \ - "($help)*--shm-size=[Size of '/dev/shm' (format is '')]:shm size: " \ - "($help)--squash[Squash newly built layers into a single new layer]" \ - "($help -t --tag)*"{-t=,--tag=}"[Repository, name and tag for the image]: :__docker_complete_repositories_with_tags" \ - "($help)*--ulimit=[ulimit options]:ulimit: " \ - "($help)--userns=[Container user namespace]:user namespace:(host)" \ - "($help -):path or URL:_directories" && ret=0 - ;; - (history) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -H --human)"{-H,--human}"[Print sizes and dates in human readable format]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \ - "($help -)*: :__docker_complete_images" && ret=0 - ;; - (import) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \ - "($help -m --message)"{-m=,--message=}"[Commit message for imported image]:message: " \ - "($help -):URL:(- http:// file://)" \ - "($help -): :__docker_complete_repositories_with_tags" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help -)*:images:__docker_complete_images" && ret=0 - ;; - (load) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -i --input)"{-i=,--input=}"[Read from tar archive file]:archive file:_files -g \"*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|)|(tbz|tgz|txz))(-.)\"" \ - "($help -q --quiet)"{-q,--quiet}"[Suppress the load output]" && ret=0 - ;; - (ls|list) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Show all images]" \ - "($help)--digests[Show digests]" \ - "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_images_filters" \ - "($help)--format=[Pretty-print images using a Go template]:template: " \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \ - "($help -): :__docker_complete_repositories" && ret=0 - ;; - (prune) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Remove all unused images, not just dangling ones]" \ - "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \ - "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0 - ;; - (pull) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all-tags)"{-a,--all-tags}"[Download all tagged images]" \ - "($help)--disable-content-trust[Skip image verification]" \ - "($help -):name:__docker_search" && ret=0 - ;; - (push) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--disable-content-trust[Skip image signing]" \ - "($help -): :__docker_complete_images" && ret=0 - ;; - (rm) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force removal]" \ - "($help)--no-prune[Do not delete untagged parents]" \ - "($help -)*: :__docker_complete_images" && ret=0 - ;; - (save) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -o --output)"{-o=,--output=}"[Write to file]:file:_files" \ - "($help -)*: :__docker_complete_images" && ret=0 - ;; - (tag) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -):source:__docker_complete_images"\ - "($help -):destination:__docker_complete_repositories_with_tags" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_container_commands" && ret=0 - ;; - esac - - return ret -} - -# EO image - -# BO network - -__docker_network_complete_ls_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (driver) - __docker_complete_info_plugins Network && ret=0 - ;; - (id) - __docker_complete_networks_ids && ret=0 - ;; - (name) - __docker_complete_networks_names && ret=0 - ;; - (scope) - opts=('global' 'local' 'swarm') - _describe -t scope-filter-opts "Scope filter options" opts && ret=0 - ;; - (type) - opts=('builtin' 'custom') - _describe -t type-filter-opts "Type filter options" opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('driver' 'id' 'label' 'name' 'scope' 'type') - _describe -t filter-opts "Filter Options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_get_networks() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines networks - - type=$1; shift - - lines=(${(f)${:-"$(_call_program commands docker $docker_options network ls)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Network ID - if [[ $type = (ids|all) ]]; then - for line in $lines; do - s="${line[${begin[NETWORK ID]},${end[NETWORK ID]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}" - s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}" - networks=($networks $s) - done - fi - - # Names - if [[ $type = (names|all) ]]; then - for line in $lines; do - s="${line[${begin[NAME]},${end[NAME]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}" - s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}" - networks=($networks $s) - done - fi - - _describe -t networks-list "networks" networks "$@" && ret=0 - return ret -} - -__docker_complete_networks() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_networks all "$@" -} - -__docker_complete_networks_ids() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_networks ids "$@" -} - -__docker_complete_networks_names() { - [[ $PREFIX = -* ]] && return 1 - __docker_get_networks names "$@" -} - -__docker_network_commands() { - local -a _docker_network_subcommands - _docker_network_subcommands=( - "connect:Connect a container to a network" - "create:Creates a new network with a name specified by the user" - "disconnect:Disconnects a container from a network" - "inspect:Displays detailed information on a network" - "ls:Lists all the networks created by the user" - "prune:Remove all unused networks" - "rm:Deletes one or more networks" - ) - _describe -t docker-network-commands "docker network command" _docker_network_subcommands -} - -__docker_network_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (connect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*--alias=[Add network-scoped alias for the container]:alias: " \ - "($help)--ip=[IPv4 address]:IPv4: " \ - "($help)--ip6=[IPv6 address]:IPv6: " \ - "($help)*--link=[Add a link to another container]:link:->link" \ - "($help)*--link-local-ip=[Add a link-local address for the container]:IPv4/IPv6: " \ - "($help -)1:network:__docker_complete_networks" \ - "($help -)2:containers:__docker_complete_containers" && ret=0 - - case $state in - (link) - if compset -P "*:"; then - _wanted alias expl "Alias" compadd -E "" && ret=0 - else - __docker_complete_running_containers -qS ":" && ret=0 - fi - ;; - esac - ;; - (create) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help)--attachable[Enable manual container attachment]" \ - "($help)*--aux-address[Auxiliary IPv4 or IPv6 addresses used by network driver]:key=IP: " \ - "($help -d --driver)"{-d=,--driver=}"[Driver to manage the Network]:driver:(null host bridge overlay)" \ - "($help)*--gateway=[IPv4 or IPv6 Gateway for the master subnet]:IP: " \ - "($help)--internal[Restricts external access to the network]" \ - "($help)*--ip-range=[Allocate container ip from a sub-range]:IP/mask: " \ - "($help)--ipam-driver=[IP Address Management Driver]:driver:(default)" \ - "($help)*--ipam-opt=[Custom IPAM plugin options]:opt=value: " \ - "($help)--ipv6[Enable IPv6 networking]" \ - "($help)*--label=[Set metadata on a network]:label=value: " \ - "($help)*"{-o=,--opt=}"[Driver specific options]:opt=value: " \ - "($help)*--subnet=[Subnet in CIDR format that represents a network segment]:IP/mask: " \ - "($help -)1:Network Name: " && ret=0 - ;; - (disconnect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)1:network:__docker_complete_networks" \ - "($help -)2:containers:__docker_complete_containers" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help)--verbose[Show detailed information]" \ - "($help -)*:network:__docker_complete_networks" && ret=0 - ;; - (ls) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--no-trunc[Do not truncate the output]" \ - "($help)*"{-f=,--filter=}"[Provide filter values]:filter:__docker_network_complete_ls_filters" \ - "($help)--format=[Pretty-print networks using a Go template]:template: " \ - "($help -q --quiet)"{-q,--quiet}"[Only display numeric IDs]" && ret=0 - ;; - (prune) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \ - "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0 - ;; - (rm) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:network:__docker_complete_networks" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_network_commands" && ret=0 - ;; - esac - - return ret -} - -# EO network - -# BO node - -__docker_node_complete_ls_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (id) - __docker_complete_nodes_ids && ret=0 - ;; - (membership) - membership_opts=('accepted' 'pending' 'rejected') - _describe -t membership-opts "membership options" membership_opts && ret=0 - ;; - (name) - __docker_complete_nodes_names && ret=0 - ;; - (role) - role_opts=('manager' 'worker') - _describe -t role-opts "role options" role_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('id' 'label' 'membership' 'name' 'role') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_node_complete_ps_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (desired-state) - state_opts=('accepted' 'running' 'shutdown') - _describe -t state-opts "desired state options" state_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('desired-state' 'id' 'label' 'name') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_nodes() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines nodes args - - type=$1; shift - filter=$1; shift - [[ $filter != "none" ]] && args=("-f $filter") - - lines=(${(f)${:-"$(_call_program commands docker $docker_options node ls $args)"$'\n'}}) - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Node ID - if [[ $type = (ids|all) ]]; then - for line in $lines; do - s="${line[${begin[ID]},${end[ID]}]%% ##}" - nodes=($nodes $s) - done - fi - - # Names - if [[ $type = (names|all) ]]; then - for line in $lines; do - s="${line[${begin[HOSTNAME]},${end[HOSTNAME]}]%% ##}" - nodes=($nodes $s) - done - fi - - _describe -t nodes-list "nodes" nodes "$@" && ret=0 - return ret -} - -__docker_complete_nodes() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes all none "$@" -} - -__docker_complete_nodes_ids() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes ids none "$@" -} - -__docker_complete_nodes_names() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes names none "$@" -} - -__docker_complete_pending_nodes() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes all "membership=pending" "$@" -} - -__docker_complete_manager_nodes() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes all "role=manager" "$@" -} - -__docker_complete_worker_nodes() { - [[ $PREFIX = -* ]] && return 1 - __docker_nodes all "role=worker" "$@" -} - -__docker_node_commands() { - local -a _docker_node_subcommands - _docker_node_subcommands=( - "demote:Demote a node as manager in the swarm" - "inspect:Display detailed information on one or more nodes" - "ls:List nodes in the swarm" - "promote:Promote a node as manager in the swarm" - "rm:Remove one or more nodes from the swarm" - "ps:List tasks running on one or more nodes, defaults to current node" - "update:Update a node" - ) - _describe -t docker-node-commands "docker node command" _docker_node_subcommands -} - -__docker_node_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (rm|remove) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force remove a node from the swarm]" \ - "($help -)*:node:__docker_complete_pending_nodes" && ret=0 - ;; - (demote) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:node:__docker_complete_manager_nodes" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help)--pretty[Print the information in a human friendly format]" \ - "($help -)*:node:__docker_complete_nodes" && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Provide filter values]:filter:__docker_node_complete_ls_filters" \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" && ret=0 - ;; - (promote) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:node:__docker_complete_worker_nodes" && ret=0 - ;; - (ps) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Display all instances]" \ - "($help)*"{-f=,--filter=}"[Provide filter values]:filter:__docker_node_complete_ps_filters" \ - "($help)--format=[Format the output using the given go template]:template: " \ - "($help)--no-resolve[Do not map IDs to Names]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" \ - "($help -)*:node:__docker_complete_nodes" && ret=0 - ;; - (update) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--availability=[Availability of the node]:availability:(active pause drain)" \ - "($help)*--label-add=[Add or update a node label]:key=value: " \ - "($help)*--label-rm=[Remove a node label if exists]:label: " \ - "($help)--role=[Role of the node]:role:(manager worker)" \ - "($help -)1:node:__docker_complete_nodes" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_node_commands" && ret=0 - ;; - esac - - return ret -} - -# EO node - -# BO plugin - -__docker_plugin_complete_ls_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (capability) - opts=('authz' 'ipamdriver' 'logdriver' 'metricscollector' 'networkdriver' 'volumedriver') - _describe -t capability-opts "capability options" opts && ret=0 - ;; - (enabled) - opts=('false' 'true') - _describe -t enabled-opts "enabled options" opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('capability' 'enabled') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_plugins() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines plugins args - - filter=$1; shift - [[ $filter != "none" ]] && args=("-f $filter") - - lines=(${(f)${:-"$(_call_program commands docker $docker_options plugin ls $args)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Name - for line in $lines; do - s="${line[${begin[NAME]},${end[NAME]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[TAG]},${end[TAG]}]}%% ##}}" - plugins=($plugins $s) - done - - _describe -t plugins-list "plugins" plugins "$@" && ret=0 - return ret -} - -__docker_complete_plugins() { - [[ $PREFIX = -* ]] && return 1 - __docker_plugins none "$@" -} - -__docker_complete_enabled_plugins() { - [[ $PREFIX = -* ]] && return 1 - __docker_plugins enabled=true "$@" -} - -__docker_complete_disabled_plugins() { - [[ $PREFIX = -* ]] && return 1 - __docker_plugins enabled=false "$@" -} - -__docker_plugin_commands() { - local -a _docker_plugin_subcommands - _docker_plugin_subcommands=( - "disable:Disable a plugin" - "enable:Enable a plugin" - "inspect:Return low-level information about a plugin" - "install:Install a plugin" - "ls:List plugins" - "push:Push a plugin" - "rm:Remove a plugin" - "set:Change settings for a plugin" - "upgrade:Upgrade an existing plugin" - ) - _describe -t docker-plugin-commands "docker plugin command" _docker_plugin_subcommands -} - -__docker_plugin_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (disable) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force the disable of an active plugin]" \ - "($help -)1:plugin:__docker_complete_enabled_plugins" && ret=0 - ;; - (enable) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--timeout=[HTTP client timeout (in seconds)]:timeout: " \ - "($help -)1:plugin:__docker_complete_disabled_plugins" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given Go template]:template: " \ - "($help -)*:plugin:__docker_complete_plugins" && ret=0 - ;; - (install) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--alias=[Local name for plugin]:alias: " \ - "($help)--disable[Do not enable the plugin on install]" \ - "($help)--disable-content-trust[Skip image verification (default true)]" \ - "($help)--grant-all-permissions[Grant all permissions necessary to run the plugin]" \ - "($help -)1:plugin:__docker_complete_plugins" \ - "($help -)*:key=value: " && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_plugin_complete_ls_filters" \ - "($help --format)--format=[Format the output using the given Go template]:template: " \ - "($help)--no-trunc[Don't truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" && ret=0 - ;; - (push) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--disable-content-trust[Skip image verification (default true)]" \ - "($help -)1:plugin:__docker_complete_plugins" && ret=0 - ;; - (rm|remove) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force the removal of an active plugin]" \ - "($help -)*:plugin:__docker_complete_plugins" && ret=0 - ;; - (set) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)1:plugin:__docker_complete_plugins" \ - "($help -)*:key=value: " && ret=0 - ;; - (upgrade) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--disable-content-trust[Skip image verification (default true)]" \ - "($help)--grant-all-permissions[Grant all permissions necessary to run the plugin]" \ - "($help)--skip-remote-check[Do not check if specified remote plugin matches existing plugin image]" \ - "($help -)1:plugin:__docker_complete_plugins" \ - "($help -):remote: " && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_plugin_commands" && ret=0 - ;; - esac - - return ret -} - -# EO plugin - -# BO secret - -__docker_secrets() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines secrets - - type=$1; shift - - lines=(${(f)${:-"$(_call_program commands docker $docker_options secret ls)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # ID - if [[ $type = (ids|all) ]]; then - for line in $lines; do - s="${line[${begin[ID]},${end[ID]}]%% ##}" - secrets=($secrets $s) - done - fi - - # Names - if [[ $type = (names|all) ]]; then - for line in $lines; do - s="${line[${begin[NAME]},${end[NAME]}]%% ##}" - secrets=($secrets $s) - done - fi - - _describe -t secrets-list "secrets" secrets "$@" && ret=0 - return ret -} - -__docker_complete_secrets() { - [[ $PREFIX = -* ]] && return 1 - __docker_secrets all "$@" -} - -__docker_secret_commands() { - local -a _docker_secret_subcommands - _docker_secret_subcommands=( - "create:Create a secret using stdin as content" - "inspect:Display detailed information on one or more secrets" - "ls:List secrets" - "rm:Remove one or more secrets" - ) - _describe -t docker-secret-commands "docker secret command" _docker_secret_subcommands -} - -__docker_secret_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (create) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help)*"{-l=,--label=}"[Secret labels]:label: " \ - "($help -):secret: " && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given Go template]:template: " \ - "($help -)*:secret:__docker_complete_secrets" && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--format=[Format the output using the given go template]:template: " \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" && ret=0 - ;; - (rm|remove) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:secret:__docker_complete_secrets" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_secret_commands" && ret=0 - ;; - esac - - return ret -} - -# EO secret - -# BO service - -__docker_service_complete_ls_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (id) - __docker_complete_services_ids && ret=0 - ;; - (mode) - opts=('global' 'replicated') - _describe -t mode-opts "mode options" opts && ret=0 - ;; - (name) - __docker_complete_services_names && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('id' 'label' 'mode' 'name') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_service_complete_ps_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (desired-state) - state_opts=('accepted' 'running' 'shutdown') - _describe -t state-opts "desired state options" state_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('desired-state' 'id' 'label' 'name') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_service_complete_placement_pref() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (spread) - opts=('engine.labels' 'node.labels') - _describe -t spread-opts "spread options" opts -qS "." && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('spread') - _describe -t pref-opts "placement pref options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_services() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines services - - type=$1; shift - - lines=(${(f)${:-"$(_call_program commands docker $docker_options service ls)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Service ID - if [[ $type = (ids|all) ]]; then - for line in $lines; do - s="${line[${begin[ID]},${end[ID]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[IMAGE]},${end[IMAGE]}]}%% ##}}" - services=($services $s) - done - fi - - # Names - if [[ $type = (names|all) ]]; then - for line in $lines; do - s="${line[${begin[NAME]},${end[NAME]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[IMAGE]},${end[IMAGE]}]}%% ##}}" - services=($services $s) - done - fi - - _describe -t services-list "services" services "$@" && ret=0 - return ret -} - -__docker_complete_services() { - [[ $PREFIX = -* ]] && return 1 - __docker_services all "$@" -} - -__docker_complete_services_ids() { - [[ $PREFIX = -* ]] && return 1 - __docker_services ids "$@" -} - -__docker_complete_services_names() { - [[ $PREFIX = -* ]] && return 1 - __docker_services names "$@" -} - -__docker_service_commands() { - local -a _docker_service_subcommands - _docker_service_subcommands=( - "create:Create a new service" - "inspect:Display detailed information on one or more services" - "logs:Fetch the logs of a service or task" - "ls:List services" - "rm:Remove one or more services" - "rollback:Revert changes to a service's configuration" - "scale:Scale one or multiple replicated services" - "ps:List the tasks of a service" - "update:Update a service" - ) - _describe -t docker-service-commands "docker service command" _docker_service_subcommands -} - -__docker_service_subcommand() { - local -a _command_args opts_help opts_create_update - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - opts_create_update=( - "($help)*--constraint=[Placement constraints]:constraint: " - "($help)--endpoint-mode=[Placement constraints]:mode:(dnsrr vip)" - "($help)*"{-e=,--env=}"[Set environment variables]:env: " - "($help)--health-cmd=[Command to run to check health]:command: " - "($help)--health-interval=[Time between running the check]:time: " - "($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)" - "($help)--health-timeout=[Maximum time to allow one check to run]:time: " - "($help)--hostname=[Service container hostname]:hostname: " \ - "($help)--isolation=[Service container isolation mode]:isolation:(default process hyperv)" \ - "($help)*--label=[Service labels]:label: " - "($help)--limit-cpu=[Limit CPUs]:value: " - "($help)--limit-memory=[Limit Memory]:value: " - "($help)--log-driver=[Logging driver for service]:logging driver:__docker_complete_log_drivers" - "($help)*--log-opt=[Logging driver options]:log driver options:__docker_complete_log_options" - "($help)*--mount=[Attach a filesystem mount to the service]:mount: " - "($help)*--network=[Network attachments]:network: " - "($help)--no-healthcheck[Disable any container-specified HEALTHCHECK]" - "($help)--read-only[Mount the container's root filesystem as read only]" - "($help)--replicas=[Number of tasks]:replicas: " - "($help)--reserve-cpu=[Reserve CPUs]:value: " - "($help)--reserve-memory=[Reserve Memory]:value: " - "($help)--restart-condition=[Restart when condition is met]:mode:(any none on-failure)" - "($help)--restart-delay=[Delay between restart attempts]:delay: " - "($help)--restart-max-attempts=[Maximum number of restarts before giving up]:max-attempts: " - "($help)--restart-window=[Window used to evaluate the restart policy]:duration: " - "($help)--rollback-delay=[Delay between task rollbacks]:duration: " - "($help)--rollback-failure-action=[Action on rollback failure]:action:(continue pause)" - "($help)--rollback-max-failure-ratio=[Failure rate to tolerate during a rollback]:failure rate: " - "($help)--rollback-monitor=[Duration after each task rollback to monitor for failure]:duration: " - "($help)--rollback-parallelism=[Maximum number of tasks rolled back simultaneously]:number: " - "($help)*--secret=[Specify secrets to expose to the service]:secret:__docker_complete_secrets" - "($help)--stop-grace-period=[Time to wait before force killing a container]:grace period: " - "($help)--stop-signal=[Signal to stop the container]:signal:_signals" - "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-TTY]" - "($help)--update-delay=[Delay between updates]:delay: " - "($help)--update-failure-action=[Action on update failure]:mode:(continue pause rollback)" - "($help)--update-max-failure-ratio=[Failure rate to tolerate during an update]:fraction: " - "($help)--update-monitor=[Duration after each task update to monitor for failure]:window: " - "($help)--update-parallelism=[Maximum number of tasks updated simultaneously]:number: " - "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" - "($help)--with-registry-auth[Send registry authentication details to swarm agents]" - "($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories" - ) - - case "$words[1]" in - (create) - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_create_update \ - "($help)*--container-label=[Container labels]:label: " \ - "($help)*--dns=[Set custom DNS servers]:DNS: " \ - "($help)*--dns-option=[Set DNS options]:DNS option: " \ - "($help)*--dns-search=[Set custom DNS search domains]:DNS search: " \ - "($help)*--env-file=[Read environment variables from a file]:environment file:_files" \ - "($help)--mode=[Service Mode]:mode:(global replicated)" \ - "($help)--name=[Service name]:name: " \ - "($help)*--placement-pref=[Add a placement preference]:pref:__docker_service_complete_placement_pref" \ - "($help)*"{-p=,--publish=}"[Publish a port as a node port]:port: " \ - "($help -): :__docker_complete_images" \ - "($help -):command: _command_names -e" \ - "($help -)*::arguments: _normal" && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help)--pretty[Print the information in a human friendly format]" \ - "($help -)*:service:__docker_complete_services" && ret=0 - ;; - (logs) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --follow)"{-f,--follow}"[Follow log output]" \ - "($help)--no-resolve[Do not map IDs to Names]" \ - "($help)--no-task-ids[Do not include task IDs]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help)--since=[Show logs since timestamp]:timestamp: " \ - "($help)--tail=[Number of lines to show from the end of the logs]:lines:(1 10 20 50 all)" \ - "($help -t --timestamps)"{-t,--timestamps}"[Show timestamps]" \ - "($help -)1:service:__docker_complete_services" && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_service_complete_ls_filters" \ - "($help)--format=[Pretty-print services using a Go template]:template: " \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" && ret=0 - ;; - (rm|remove) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -)*:service:__docker_complete_services" && ret=0 - ;; - (rollback) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -d --detach)"{-d=false,--detach=false}"[Disable detached mode]" \ - "($help -q --quiet)"{-q,--quiet}"[Suppress progress output]" \ - "($help -)*:service:__docker_complete_services" && ret=0 - ;; - (scale) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -d --detach)"{-d=false,--detach=false}"[Disable detached mode]" \ - "($help -)*:service:->values" && ret=0 - case $state in - (values) - if compset -P '*='; then - _message 'replicas' && ret=0 - else - __docker_complete_services -qS "=" - fi - ;; - esac - ;; - (ps) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Provide filter values]:filter:__docker_service_complete_ps_filters" \ - "($help)--format=[Format the output using the given go template]:template: " \ - "($help)--no-resolve[Do not map IDs to Names]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only display task IDs]" \ - "($help -)*:service:__docker_complete_services" && ret=0 - ;; - (update) - _arguments $(__docker_arguments) \ - $opts_help \ - $opts_create_update \ - "($help)--arg=[Service command args]:arguments: _normal" \ - "($help)*--container-label-add=[Add or update container labels]:label: " \ - "($help)*--container-label-rm=[Remove a container label by its key]:label: " \ - "($help)*--dns-add=[Add or update custom DNS servers]:DNS: " \ - "($help)*--dns-rm=[Remove custom DNS servers]:DNS: " \ - "($help)*--dns-option-add=[Add or update DNS options]:DNS option: " \ - "($help)*--dns-option-rm=[Remove DNS options]:DNS option: " \ - "($help)*--dns-search-add=[Add or update custom DNS search domains]:DNS search: " \ - "($help)*--dns-search-rm=[Remove DNS search domains]:DNS search: " \ - "($help)--force[Force update]" \ - "($help)*--group-add=[Add additional supplementary user groups to the container]:group:_groups" \ - "($help)*--group-rm=[Remove previously added supplementary user groups from the container]:group:_groups" \ - "($help)--image=[Service image tag]:image:__docker_complete_repositories" \ - "($help)*--placement-pref-add=[Add a placement preference]:pref:__docker_service_complete_placement_pref" \ - "($help)*--placement-pref-rm=[Remove a placement preference]:pref:__docker_service_complete_placement_pref" \ - "($help)*--publish-add=[Add or update a port]:port: " \ - "($help)*--publish-rm=[Remove a port(target-port mandatory)]:port: " \ - "($help)--rollback[Rollback to previous specification]" \ - "($help -)1:service:__docker_complete_services" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_service_commands" && ret=0 - ;; - esac - - return ret -} - -# EO service - -# BO stack - -__docker_stack_complete_ps_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (desired-state) - state_opts=('accepted' 'running' 'shutdown') - _describe -t state-opts "desired state options" state_opts && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('desired-state' 'id' 'name') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_stack_complete_services_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('id' 'label' 'name') - _describe -t filter-opts "filter options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_stacks() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - local line s - declare -a lines stacks - - lines=(${(f)${:-"$(_call_program commands docker $docker_options stack ls)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Service NAME - for line in $lines; do - s="${line[${begin[NAME]},${end[NAME]}]%% ##}" - stacks=($stacks $s) - done - - _describe -t stacks-list "stacks" stacks "$@" && ret=0 - return ret -} - -__docker_complete_stacks() { - [[ $PREFIX = -* ]] && return 1 - __docker_stacks "$@" -} - -__docker_stack_commands() { - local -a _docker_stack_subcommands - _docker_stack_subcommands=( - "deploy:Deploy a new stack or update an existing stack" - "ls:List stacks" - "ps:List the tasks in the stack" - "rm:Remove the stack" - "services:List the services in the stack" - ) - _describe -t docker-stack-commands "docker stack command" _docker_stack_subcommands -} - -__docker_stack_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (deploy|up) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--bundle-file=[Path to a Distributed Application Bundle file]:dab:_files -g \"*.dab\"" \ - "($help -c --compose-file)"{-c=,--compose-file=}"[Path to a Compose file, or '-' to read from stdin]:compose file:_files -g \"*.(yml|yaml)\"" \ - "($help)--with-registry-auth[Send registry authentication details to Swarm agents]" \ - "($help -):stack:__docker_complete_stacks" && ret=0 - ;; - (ls|list) - _arguments $(__docker_arguments) \ - $opts_help && ret=0 - ;; - (ps) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Display all tasks]" \ - "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_stack_complete_ps_filters" \ - "($help)--format=[Format the output using the given go template]:template: " \ - "($help)--no-resolve[Do not map IDs to Names]" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -q --quiet)"{-q,--quiet}"[Only display task IDs]" \ - "($help -):stack:__docker_complete_stacks" && ret=0 - ;; - (rm|remove|down) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -):stack:__docker_complete_stacks" && ret=0 - ;; - (services) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_stack_complete_services_filters" \ - "($help)--format=[Pretty-print services using a Go template]:template: " \ - "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" \ - "($help -):stack:__docker_complete_stacks" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_stack_commands" && ret=0 - ;; - esac - - return ret -} - -# EO stack - -# BO swarm - -__docker_swarm_commands() { - local -a _docker_swarm_subcommands - _docker_swarm_subcommands=( - "init:Initialize a swarm" - "join:Join a swarm as a node and/or manager" - "join-token:Manage join tokens" - "leave:Leave a swarm" - "unlock:Unlock swarm" - "unlock-key:Manage the unlock key" - "update:Update the swarm" - ) - _describe -t docker-swarm-commands "docker swarm command" _docker_swarm_subcommands -} - -__docker_swarm_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (init) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--advertise-addr=[Advertised address]:ip\:port: " \ - "($help)--data-path-addr=[Data path IP or interface]:ip " \ - "($help)--data-path-port=[Data Path Port]:port " \ - "($help)--default-addr-pool=[Default address pool]" \ - "($help)--default-addr-pool-mask-length=[Default address pool subnet mask length]" \ - "($help)--autolock[Enable manager autolocking]" \ - "($help)--availability=[Availability of the node]:availability:(active drain pause)" \ - "($help)--cert-expiry=[Validity period for node certificates]:duration: " \ - "($help)--dispatcher-heartbeat=[Dispatcher heartbeat period]:duration: " \ - "($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \ - "($help)--force-new-cluster[Force create a new cluster from current state]" \ - "($help)--listen-addr=[Listen address]:ip\:port: " \ - "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \ - "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \ - "($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0 - ;; - (join) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help)--advertise-addr=[Advertised address]:ip\:port: " \ - "($help)--data-path-addr=[Data path IP or interface]:ip " \ - "($help)--availability=[Availability of the node]:availability:(active drain pause)" \ - "($help)--listen-addr=[Listen address]:ip\:port: " \ - "($help)--token=[Token for entry into the swarm]:secret: " \ - "($help -):host\:port: " && ret=0 - ;; - (join-token) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -q --quiet)"{-q,--quiet}"[Only display token]" \ - "($help)--rotate[Rotate join token]" \ - "($help -):role:(manager worker)" && ret=0 - ;; - (leave) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force this node to leave the swarm, ignoring warnings]" && ret=0 - ;; - (unlock) - _arguments $(__docker_arguments) \ - $opts_help && ret=0 - ;; - (unlock-key) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -q --quiet)"{-q,--quiet}"[Only display token]" \ - "($help)--rotate[Rotate unlock token]" && ret=0 - ;; - (update) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)--autolock[Enable manager autolocking]" \ - "($help)--cert-expiry=[Validity period for node certificates]:duration: " \ - "($help)--dispatcher-heartbeat=[Dispatcher heartbeat period]:duration: " \ - "($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \ - "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \ - "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \ - "($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_network_commands" && ret=0 - ;; - esac - - return ret -} - -# EO swarm - -# BO system - -__docker_system_commands() { - local -a _docker_system_subcommands - _docker_system_subcommands=( - "df:Show docker filesystem usage" - "events:Get real time events from the server" - "info:Display system-wide information" - "prune:Remove unused data" - ) - _describe -t docker-system-commands "docker system command" _docker_system_subcommands -} - -__docker_system_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (df) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -v --verbose)"{-v,--verbose}"[Show detailed information on space usage]" && ret=0 - ;; - (events) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_events_filter" \ - "($help)--since=[Events created since this timestamp]:timestamp: " \ - "($help)--until=[Events created until this timestamp]:timestamp: " \ - "($help)--format=[Format the output using the given go template]:template: " && ret=0 - ;; - (info) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0 - ;; - (prune) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -a --all)"{-a,--all}"[Remove all unused data, not just dangling ones]" \ - "($help)*--filter=[Filter values]:filter:__docker_complete_prune_filters" \ - "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" \ - "($help)--volumes=[Remove all unused volumes]" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_volume_commands" && ret=0 - ;; - esac - - return ret -} - -# EO system - -# BO volume - -__docker_volume_complete_ls_filters() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - - if compset -P '*='; then - case "${${words[-1]%=*}#*=}" in - (dangling) - dangling_opts=('true' 'false') - _describe -t dangling-filter-opts "Dangling Filter Options" dangling_opts && ret=0 - ;; - (driver) - __docker_complete_info_plugins Volume && ret=0 - ;; - (name) - __docker_complete_volumes && ret=0 - ;; - *) - _message 'value' && ret=0 - ;; - esac - else - opts=('dangling' 'driver' 'label' 'name') - _describe -t filter-opts "Filter Options" opts -qS "=" && ret=0 - fi - - return ret -} - -__docker_complete_volumes() { - [[ $PREFIX = -* ]] && return 1 - integer ret=1 - declare -a lines volumes - - lines=(${(f)${:-"$(_call_program commands docker $docker_options volume ls)"$'\n'}}) - - # Parse header line to find columns - local i=1 j=1 k header=${lines[1]} - declare -A begin end - while (( j < ${#header} - 1 )); do - i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 )) - j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 )) - k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 )) - begin[${header[$i,$((j-1))]}]=$i - end[${header[$i,$((j-1))]}]=$k - done - end[${header[$i,$((j-1))]}]=-1 - lines=(${lines[2,-1]}) - - # Names - local line s - for line in $lines; do - s="${line[${begin[VOLUME NAME]},${end[VOLUME NAME]}]%% ##}" - s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}" - volumes=($volumes $s) - done - - _describe -t volumes-list "volumes" volumes && ret=0 - return ret -} - -__docker_volume_commands() { - local -a _docker_volume_subcommands - _docker_volume_subcommands=( - "create:Create a volume" - "inspect:Display detailed information on one or more volumes" - "ls:List volumes" - "prune:Remove all unused volumes" - "rm:Remove one or more volumes" - ) - _describe -t docker-volume-commands "docker volume command" _docker_volume_subcommands -} - -__docker_volume_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (create) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help -d --driver)"{-d=,--driver=}"[Volume driver name]:Driver name:(local)" \ - "($help)*--label=[Set metadata for a volume]:label=value: " \ - "($help)*"{-o=,--opt=}"[Driver specific options]:Driver option: " \ - "($help -)1:Volume name: " && ret=0 - ;; - (inspect) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help -)1:volume:__docker_complete_volumes" && ret=0 - ;; - (ls) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Provide filter values]:filter:__docker_volume_complete_ls_filters" \ - "($help)--format=[Pretty-print volumes using a Go template]:template: " \ - "($help -q --quiet)"{-q,--quiet}"[Only display volume names]" && ret=0 - ;; - (prune) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0 - ;; - (rm) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --force)"{-f,--force}"[Force the removal of one or more volumes]" \ - "($help -):volume:__docker_complete_volumes" && ret=0 - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_volume_commands" && ret=0 - ;; - esac - - return ret -} - -# EO volume - -__docker_caching_policy() { - oldp=( "$1"(Nmh+1) ) # 1 hour - (( $#oldp )) -} - -__docker_commands() { - local cache_policy - integer force_invalidation=0 - - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy - fi - - if ( (( ! ${+_docker_hide_legacy_commands} )) || _cache_invalid docker_hide_legacy_commands ) \ - && ! _retrieve_cache docker_hide_legacy_commands; - then - _docker_hide_legacy_commands="${DOCKER_HIDE_LEGACY_COMMANDS}" - _store_cache docker_hide_legacy_commands _docker_hide_legacy_commands - fi - - if [[ "${_docker_hide_legacy_commands}" != "${DOCKER_HIDE_LEGACY_COMMANDS}" ]]; then - force_invalidation=1 - _docker_hide_legacy_commands="${DOCKER_HIDE_LEGACY_COMMANDS}" - _store_cache docker_hide_legacy_commands _docker_hide_legacy_commands - fi - - if ( [[ ${+_docker_subcommands} -eq 0 ]] || _cache_invalid docker_subcommands ) \ - && ! _retrieve_cache docker_subcommands || [[ ${force_invalidation} -eq 1 ]]; - then - local -a lines - lines=(${(f)"$(_call_program commands docker 2>&1)"}) - _docker_subcommands=(${${${(M)${lines[$((${lines[(i)*Commands:]} + 1)),-1]}:# *}## #}/ ##/:}) - _docker_subcommands=($_docker_subcommands 'daemon:Enable daemon mode' 'help:Show help for a command') - (( $#_docker_subcommands > 2 )) && _store_cache docker_subcommands _docker_subcommands - fi - _describe -t docker-commands "docker command" _docker_subcommands -} - -__docker_subcommand() { - local -a _command_args opts_help - local expl help="--help" - integer ret=1 - - opts_help=("(: -)--help[Print usage]") - - case "$words[1]" in - (attach|commit|cp|create|diff|exec|export|kill|logs|pause|unpause|port|rename|restart|rm|run|start|stats|stop|top|update|wait) - __docker_container_subcommand && ret=0 - ;; - (build|history|import|load|pull|push|save|tag) - __docker_image_subcommand && ret=0 - ;; - (checkpoint) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_checkpoint_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_checkpoint_subcommand && ret=0 - ;; - esac - ;; - (container) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_container_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_container_subcommand && ret=0 - ;; - esac - ;; - (daemon) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help)*--add-runtime=[Register an additional OCI compatible runtime]:runtime:__docker_complete_runtimes" \ - "($help)*--allow-nondistributable-artifacts=[Push nondistributable artifacts to specified registries]:registry: " \ - "($help)--api-cors-header=[CORS headers in the Engine API]:CORS headers: " \ - "($help)*--authorization-plugin=[Authorization plugins to load]" \ - "($help -b --bridge)"{-b=,--bridge=}"[Attach containers to a network bridge]:bridge:_net_interfaces" \ - "($help)--bip=[Network bridge IP]:IP address: " \ - "($help)--cgroup-parent=[Parent cgroup for all containers]:cgroup: " \ - "($help)--cluster-advertise=[Address or interface name to advertise]:Instance to advertise (host\:port): " \ - "($help)--cluster-store=[URL of the distributed storage backend]:Cluster Store:->cluster-store" \ - "($help)*--cluster-store-opt=[Cluster store options]:Cluster options:->cluster-store-options" \ - "($help)--config-file=[Path to daemon configuration file]:Config File:_files" \ - "($help)--containerd=[Path to containerd socket]:socket:_files -g \"*.sock\"" \ - "($help)--data-root=[Root directory of persisted Docker data]:path:_directories" \ - "($help -D --debug)"{-D,--debug}"[Enable debug mode]" \ - "($help)--default-gateway[Container default gateway IPv4 address]:IPv4 address: " \ - "($help)--default-gateway-v6[Container default gateway IPv6 address]:IPv6 address: " \ - "($help)--default-shm-size=[Default shm size for containers]:size:" \ - "($help)*--default-ulimit=[Default ulimits for containers]:ulimit: " \ - "($help)*--dns=[DNS server to use]:DNS: " \ - "($help)*--dns-opt=[DNS options to use]:DNS option: " \ - "($help)*--dns-search=[DNS search domains to use]:DNS search: " \ - "($help)*--exec-opt=[Runtime execution options]:runtime execution options: " \ - "($help)--exec-root=[Root directory for execution state files]:path:_directories" \ - "($help)--experimental[Enable experimental features]" \ - "($help)--fixed-cidr=[IPv4 subnet for fixed IPs]:IPv4 subnet: " \ - "($help)--fixed-cidr-v6=[IPv6 subnet for fixed IPs]:IPv6 subnet: " \ - "($help -G --group)"{-G=,--group=}"[Group for the unix socket]:group:_groups" \ - "($help -H --host)"{-H=,--host=}"[tcp://host:port to bind/connect to]:host: " \ - "($help)--icc[Enable inter-container communication]" \ - "($help)--init[Run an init inside containers to forward signals and reap processes]" \ - "($help)--init-path=[Path to the docker-init binary]:docker-init binary:_files" \ - "($help)*--insecure-registry=[Enable insecure registry communication]:registry: " \ - "($help)--ip=[Default IP when binding container ports]" \ - "($help)--ip-forward[Enable net.ipv4.ip_forward]" \ - "($help)--ip-masq[Enable IP masquerading]" \ - "($help)--iptables[Enable addition of iptables rules]" \ - "($help)--ipv6[Enable IPv6 networking]" \ - "($help -l --log-level)"{-l=,--log-level=}"[Logging level]:level:(debug info warn error fatal)" \ - "($help)*--label=[Key=value labels]:label: " \ - "($help)--live-restore[Enable live restore of docker when containers are still running]" \ - "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_complete_log_drivers" \ - "($help)*--log-opt=[Default log driver options for containers]:log driver options:__docker_complete_log_options" \ - "($help)--max-concurrent-downloads[Set the max concurrent downloads for each pull]" \ - "($help)--max-concurrent-uploads[Set the max concurrent uploads for each push]" \ - "($help)--mtu=[Network MTU]:mtu:(0 576 1420 1500 9000)" \ - "($help)--oom-score-adjust=[Set the oom_score_adj for the daemon]:oom-score:(-500)" \ - "($help -p --pidfile)"{-p=,--pidfile=}"[Path to use for daemon PID file]:PID file:_files" \ - "($help)--raw-logs[Full timestamps without ANSI coloring]" \ - "($help)*--registry-mirror=[Preferred Docker registry mirror]:registry mirror: " \ - "($help)--seccomp-profile=[Path to seccomp profile]:path:_files -g \"*.json\"" \ - "($help -s --storage-driver)"{-s=,--storage-driver=}"[Storage driver to use]:driver:(aufs btrfs devicemapper overlay overlay2 vfs zfs)" \ - "($help)--selinux-enabled[Enable selinux support]" \ - "($help)--shutdown-timeout=[Set the shutdown timeout value in seconds]:time: " \ - "($help)*--storage-opt=[Storage driver options]:storage driver options: " \ - "($help)--tls[Use TLS]" \ - "($help)--tlscacert=[Trust certs signed only by this CA]:PEM file:_files -g \"*.(pem|crt)\"" \ - "($help)--tlscert=[Path to TLS certificate file]:PEM file:_files -g \"*.(pem|crt)\"" \ - "($help)--tlskey=[Path to TLS key file]:Key file:_files -g \"*.(pem|key)\"" \ - "($help)--tlsverify[Use TLS and verify the remote]" \ - "($help)--userns-remap=[User/Group setting for user namespaces]:user\:group:->users-groups" \ - "($help)--userland-proxy[Use userland proxy for loopback traffic]" \ - "($help)--userland-proxy-path=[Path to the userland proxy binary]:binary:_files" && ret=0 - - case $state in - (cluster-store) - if compset -P '*://'; then - _message 'host:port' && ret=0 - else - store=('consul' 'etcd' 'zk') - _describe -t cluster-store "Cluster Store" store -qS "://" && ret=0 - fi - ;; - (cluster-store-options) - if compset -P '*='; then - _files && ret=0 - else - opts=('discovery.heartbeat' 'discovery.ttl' 'kv.cacertfile' 'kv.certfile' 'kv.keyfile' 'kv.path') - _describe -t cluster-store-opts "Cluster Store Options" opts -qS "=" && ret=0 - fi - ;; - (users-groups) - if compset -P '*:'; then - _groups && ret=0 - else - _describe -t userns-default "default Docker user management" '(default)' && ret=0 - _users && ret=0 - fi - ;; - esac - ;; - (events|info) - __docker_system_subcommand && ret=0 - ;; - (image) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_image_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_image_subcommand && ret=0 - ;; - esac - ;; - (images) - words[1]='ls' - __docker_image_subcommand && ret=0 - ;; - (inspect) - local state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \ - "($help -s --size)"{-s,--size}"[Display total file sizes if the type is container]" \ - "($help)--type=[Return JSON for specified type]:type:(container image network node plugin service volume)" \ - "($help -)*: :->values" && ret=0 - - case $state in - (values) - if [[ ${words[(r)--type=container]} == --type=container ]]; then - __docker_complete_containers && ret=0 - elif [[ ${words[(r)--type=image]} == --type=image ]]; then - __docker_complete_images && ret=0 - elif [[ ${words[(r)--type=network]} == --type=network ]]; then - __docker_complete_networks && ret=0 - elif [[ ${words[(r)--type=node]} == --type=node ]]; then - __docker_complete_nodes && ret=0 - elif [[ ${words[(r)--type=plugin]} == --type=plugin ]]; then - __docker_complete_plugins && ret=0 - elif [[ ${words[(r)--type=service]} == --type=secrets ]]; then - __docker_complete_secrets && ret=0 - elif [[ ${words[(r)--type=service]} == --type=service ]]; then - __docker_complete_services && ret=0 - elif [[ ${words[(r)--type=volume]} == --type=volume ]]; then - __docker_complete_volumes && ret=0 - else - __docker_complete_containers - __docker_complete_images - __docker_complete_networks - __docker_complete_nodes - __docker_complete_plugins - __docker_complete_secrets - __docker_complete_services - __docker_complete_volumes && ret=0 - fi - ;; - esac - ;; - (login) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help -p --password)"{-p=,--password=}"[Password]:password: " \ - "($help)--password-stdin[Read password from stdin]" \ - "($help -u --user)"{-u=,--user=}"[Username]:username: " \ - "($help -)1:server: " && ret=0 - ;; - (logout) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help -)1:server: " && ret=0 - ;; - (network) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_network_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_network_subcommand && ret=0 - ;; - esac - ;; - (node) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_node_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_node_subcommand && ret=0 - ;; - esac - ;; - (plugin) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_plugin_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_plugin_subcommand && ret=0 - ;; - esac - ;; - (ps) - words[1]='ls' - __docker_container_subcommand && ret=0 - ;; - (rmi) - words[1]='rm' - __docker_image_subcommand && ret=0 - ;; - (search) - _arguments $(__docker_arguments) -A '-*' \ - $opts_help \ - "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_search_filters" \ - "($help)--limit=[Maximum returned search results]:limit:(1 5 10 25 50)" \ - "($help)--no-trunc[Do not truncate output]" \ - "($help -):term: " && ret=0 - ;; - (secret) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_secret_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_secret_subcommand && ret=0 - ;; - esac - ;; - (service) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_service_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_service_subcommand && ret=0 - ;; - esac - ;; - (stack) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_stack_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_stack_subcommand && ret=0 - ;; - esac - ;; - (swarm) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_swarm_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_swarm_subcommand && ret=0 - ;; - esac - ;; - (system) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_system_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_system_subcommand && ret=0 - ;; - esac - ;; - (version) - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0 - ;; - (volume) - local curcontext="$curcontext" state - _arguments $(__docker_arguments) \ - $opts_help \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - case $state in - (command) - __docker_volume_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-${words[-1]}: - __docker_volume_subcommand && ret=0 - ;; - esac - ;; - (help) - _arguments $(__docker_arguments) ":subcommand:__docker_commands" && ret=0 - ;; - esac - - return ret -} - -_docker() { - # Support for subservices, which allows for `compdef _docker docker-shell=_docker_containers`. - # Based on /usr/share/zsh/functions/Completion/Unix/_git without support for `ret`. - if [[ $service != docker ]]; then - _call_function - _$service - return - fi - - local curcontext="$curcontext" state line help="-h --help" - integer ret=1 - typeset -A opt_args - - _arguments $(__docker_arguments) -C \ - "(: -)"{-h,--help}"[Print usage]" \ - "($help)--config[Location of client config files]:path:_directories" \ - "($help -D --debug)"{-D,--debug}"[Enable debug mode]" \ - "($help -H --host)"{-H=,--host=}"[tcp://host:port to bind/connect to]:host: " \ - "($help -l --log-level)"{-l=,--log-level=}"[Logging level]:level:(debug info warn error fatal)" \ - "($help)--tls[Use TLS]" \ - "($help)--tlscacert=[Trust certs signed only by this CA]:PEM file:_files -g "*.(pem|crt)"" \ - "($help)--tlscert=[Path to TLS certificate file]:PEM file:_files -g "*.(pem|crt)"" \ - "($help)--tlskey=[Path to TLS key file]:Key file:_files -g "*.(pem|key)"" \ - "($help)--tlsverify[Use TLS and verify the remote]" \ - "($help)--userland-proxy[Use userland proxy for loopback traffic]" \ - "($help -v --version)"{-v,--version}"[Print version information and quit]" \ - "($help -): :->command" \ - "($help -)*:: :->option-or-argument" && ret=0 - - local host=${opt_args[-H]}${opt_args[--host]} - local config=${opt_args[--config]} - local docker_options="${host:+--host $host} ${config:+--config $config}" - - case $state in - (command) - __docker_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:docker-$words[1]: - __docker_subcommand && ret=0 - ;; - esac - - return ret -} - -_dockerd() { - integer ret=1 - words[1]='daemon' - __docker_subcommand && ret=0 - return ret -} - -_docker "$@" - -# Local Variables: -# mode: Shell-Script -# sh-indentation: 4 -# indent-tabs-mode: nil -# sh-basic-offset: 4 -# End: -# vim: ft=zsh sw=4 ts=4 et \ No newline at end of file diff --git a/.config/zsh/completions/_proto-sort b/.config/zsh/completions/_proto-sort deleted file mode 100644 index bb1974b..0000000 --- a/.config/zsh/completions/_proto-sort +++ /dev/null @@ -1,21 +0,0 @@ -#compdef proto-sort - -_arguments \ - '1: :->level1' \ - '2: :_files' -case $state in - level1) - case $words[1] in - proto-sort) - _arguments '1: :(add help list sort version)' - ;; - *) - _arguments '*: :_files' - ;; - esac - ;; - *) - _arguments '*: :_files' - ;; -esac - diff --git a/.config/zsh/completions/test b/.config/zsh/completions/test deleted file mode 100644 index e69de29..0000000 diff --git a/.config/zsh/functions/antiload.zsh b/.config/zsh/functions/antiload.zsh deleted file mode 100644 index b69994b..0000000 --- a/.config/zsh/functions/antiload.zsh +++ /dev/null @@ -1,4 +0,0 @@ -antiload() { - antibody bundle < $ZDOTDIR/zsh_plugins.txt > $ZDOTDIR/src/zsh_zplugins.sh - source $ZDOTDIR/.zshrc -} \ No newline at end of file diff --git a/.config/zsh/functions/compfix.zsh b/.config/zsh/functions/compfix.zsh deleted file mode 100644 index 2ee24d1..0000000 --- a/.config/zsh/functions/compfix.zsh +++ /dev/null @@ -1,7 +0,0 @@ -compfix() { - for f in $(compaudit); do - sudo chmod go-w "$f" - [ -f $f ] && sudo chown $(whoami) "$f" || continue - sudo chown -R "$(whoami)" "$f" - done -} \ No newline at end of file diff --git a/.config/zsh/private/empty.zsh b/.config/zsh/private/empty.zsh deleted file mode 100644 index 7e98327..0000000 --- a/.config/zsh/private/empty.zsh +++ /dev/null @@ -1 +0,0 @@ -# Add any ssh logins or anthing else that's private here \ No newline at end of file diff --git a/.config/zsh/src/alias.zsh b/.config/zsh/src/alias.zsh deleted file mode 100644 index 9e2642f..0000000 --- a/.config/zsh/src/alias.zsh +++ /dev/null @@ -1 +0,0 @@ -alias reload="source $ZDOTDIR/.zshrc" \ No newline at end of file diff --git a/.config/zsh/src/completions.zsh b/.config/zsh/src/completions.zsh deleted file mode 100644 index 7cfa7b5..0000000 --- a/.config/zsh/src/completions.zsh +++ /dev/null @@ -1 +0,0 @@ -fpath=($ZDOTDIR/completions $fpath) diff --git a/.config/zsh/src/ubuntu.zsh b/.config/zsh/src/ubuntu.zsh deleted file mode 100644 index 8f49076..0000000 --- a/.config/zsh/src/ubuntu.zsh +++ /dev/null @@ -1,31 +0,0 @@ -# Credit: https://gist.github.com/marioBonales/1637696 - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# Mac versions -if [[ "$OSTYPE" == "darwin"* ]]; then - alias ls='ls -G' - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ] ; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - - - -# colored GCC warnings and errors -export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' \ No newline at end of file diff --git a/.config/zsh/src/vars.zsh b/.config/zsh/src/vars.zsh deleted file mode 100644 index e6c6595..0000000 --- a/.config/zsh/src/vars.zsh +++ /dev/null @@ -1,5 +0,0 @@ -export PROGRAMMING=$HOME/Programming -export GOPATH=$PROGRAMMING/go -export PATH=$PATH:$GOPATH/bin -export PATH=$PATH:$HOME/Build/bin -export SPACESHIP_DOCKER_VERBOSE=true diff --git a/.config/zsh/src/zsh_options.zsh b/.config/zsh/src/zsh_options.zsh deleted file mode 100644 index 627566d..0000000 --- a/.config/zsh/src/zsh_options.zsh +++ /dev/null @@ -1,50 +0,0 @@ -# Credits -# https://dustri.org/b/my-zsh-configuration.html - -# Completion System -autoload -U compinit -compinit -zmodload -i zsh/complist -setopt hash_list_all # hash everything before completion -setopt completealiases # complete alisases -setopt always_to_end # when completing from the middle of a word, move the cursor to the end of the word -setopt complete_in_word # allow completion from within a word/phrase -setopt correct # spelling correction for commands -setopt list_ambiguous # complete as much of a completion until it gets ambiguous. - -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # ignore case -zstyle ':completion:*' menu select=2 # menu if nb items > 2 -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # colorz ! -zstyle ':completion:*::::' completer _expand _complete _ignored _approximate # list of completers to use - -# sections completion ! -zstyle ':completion:*' verbose yes -zstyle ':completion:*:descriptions' format $'\e[00;34m%d' -zstyle ':completion:*:messages' format $'\e[00;31m%d' -zstyle ':completion:*' group-name '' -zstyle ':completion:*:manuals' separate-sections true - -zstyle ':completion:*:processes' command 'ps -au$USER' -zstyle ':completion:*:*:kill:*' menu yes select -zstyle ':completion:*:kill:*' force-list always -zstyle ':completion:*:*:kill:*:processes' list-colors "=(#b) #([0-9]#)*=29=34" -zstyle ':completion:*:*:killall:*' menu yes select -zstyle ':completion:*:killall:*' force-list always - -# History -setopt append_history # append -setopt hist_ignore_all_dups # no duplicate -setopt hist_reduce_blanks # trim blanks -setopt inc_append_history # add commands as they are typed, don't wait until shell exit -setopt share_history # share hist between sessions - -# Extra goodies -setopt correct # try to correct spelling of commands -setopt extended_glob # activate complex pattern globbing -setopt glob_dots # include dotfiles in globbing -setopt print_exit_value # print return value if non-zero -unsetopt beep # no bell on error -unsetopt hist_beep # no bell on error in history -unsetopt list_beep # no bell on ambiguous completion -unsetopt rm_star_silent # ask for confirmation for `rm *' or `rm path/*' -setopt interactivecomments diff --git a/.config/zsh/zsh_plugins.txt b/.config/zsh/zsh_plugins.txt deleted file mode 100644 index dee0b34..0000000 --- a/.config/zsh/zsh_plugins.txt +++ /dev/null @@ -1,5 +0,0 @@ -denysdovhan/spaceship-prompt -zsh-users/zsh-completions -zsh-users/zsh-syntax-highlighting -zsh-users/zsh-history-substring-search -zsh-users/zsh-autosuggestions diff --git a/.hyper.js b/.hyper.js deleted file mode 100644 index 5d48bc7..0000000 --- a/.hyper.js +++ /dev/null @@ -1,147 +0,0 @@ -// Future versions of Hyper may add additional config options, -// which will not automatically be merged into this file. -// See https://hyper.is#cfg for all currently supported options. - -module.exports = { - config: { - // choose either `'stable'` for receiving highly polished, - // or `'canary'` for less polished but more frequent updates - updateChannel: 'canary', - - // default font size in pixels for all tabs - fontSize: 12, - - // font family with optional fallbacks - fontFamily: '"Operator Mono","Meslo LG M DZ for Powerline",Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace', - - // default font weight: 'normal' or 'bold' - fontWeight: 'normal', - - // font weight for bold characters: 'normal' or 'bold' - fontWeightBold: 'bold', - - // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk) - cursorColor: 'rgba(248,28,229,0.8)', - - // terminal text color under BLOCK cursor - cursorAccentColor: '#000', - - // `'BEAM'` for |, `'UNDERLINE'` for _, `'BLOCK'` for █ - cursorShape: 'BLOCK', - - // set to `true` (without backticks and without quotes) for blinking cursor - cursorBlink: false, - - // color of the text - foregroundColor: '#fff', - - // terminal background color - // opacity is only supported on macOS - backgroundColor: '#000', - - // terminal selection color - selectionColor: 'rgba(248,28,229,0.3)', - - // border color (window, tabs) - borderColor: '#333', - - // custom CSS to embed in the main window - css: '', - - // custom CSS to embed in the terminal window - termCSS: '', - - // if you're using a Linux setup which show native menus, set to false - // default: `true` on Linux, `true` on Windows, ignored on macOS - showHamburgerMenu: 'true', - - // set to `false` (without backticks and without quotes) if you want to hide the minimize, maximize and close buttons - // additionally, set to `'left'` if you want them on the left, like in Ubuntu - // default: `true` (without backticks and without quotes) on Windows and Linux, ignored on macOS - showWindowControls: '', - - // custom padding (CSS format, i.e.: `top right bottom left`) - padding: '12px 14px', - - // the full list. if you're going to provide the full color palette, - // including the 6 x 6 color cubes and the grayscale map, just provide - // an array here instead of a color map object - colors: { - black: '#000000', - red: '#C51E14', - green: '#1DC121', - yellow: '#C7C329', - blue: '#0A2FC4', - magenta: '#C839C5', - cyan: '#20C5C6', - white: '#C7C7C7', - lightBlack: '#686868', - lightRed: '#FD6F6B', - lightGreen: '#67F86F', - lightYellow: '#FFFA72', - lightBlue: '#6A76FB', - lightMagenta: '#FD7CFC', - lightCyan: '#68FDFE', - lightWhite: '#FFFFFF', - }, - - // the shell to run when spawning a new session (i.e. /usr/local/bin/fish) - // if left empty, your system's login shell will be used by default - // - // Windows - // - Make sure to use a full path if the binary name doesn't work - // - Remove `--login` in shellArgs - // - // Bash on Windows - // - Example: `C:\\Windows\\System32\\bash.exe` - // - // PowerShell on Windows - // - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe` - shell: '', - - // for setting shell arguments (i.e. for using interactive shellArgs: `['-i']`) - // by default `['--login']` will be used - shellArgs: ['-i'], - - // for environment variables - env: {}, - - // set to `false` for no bell - bell: 'false', - - // if `true` (without backticks and without quotes), selected text will automatically be copied to the clipboard - copyOnSelect: false, - - // if `true` (without backticks and without quotes), hyper will be set as the default protocol client for SSH - defaultSSHApp: true, - - // if `true` (without backticks and without quotes), on right click selected text will be copied or pasted if no - // selection is present (`true` by default on Windows and disables the context menu feature) - // quickEdit: true, - - // URL to custom bell - // bellSoundURL: 'http://example.com/bell.mp3', - - // for advanced config flags please refer to https://hyper.is/#cfg - }, - - // a list of plugins to fetch and install from npm - // format: [@org/]project[#version] - // examples: - // `hyperpower` - // `@company/project` - // `project#1.0.1` - plugins: [ - "hyper-snazzy" - ], - - // in development, you can create a directory under - // `~/.hyper_plugins/local/` and include it here - // to load it and avoid it being `npm install`ed - localPlugins: [], - - keymaps: { - // Example - // 'window:devtools': 'cmd+alt+o', - }, -}; diff --git a/.zshenv b/.zshenv deleted file mode 100644 index 0620a28..0000000 --- a/.zshenv +++ /dev/null @@ -1,9 +0,0 @@ -# Setup config path -ZDOTDIR=$HOME/.config/zsh -# Setup history -HISTFILE=$ZDOTDIR/history -SAVEHIST=512 -HISTSIZE=512 -# Use Colors -CLICOLOR=1 -SPACESHIP_CHAR_PREFIX="🚀 " diff --git a/README.md b/README.md deleted file mode 100644 index 4e4ee1f..0000000 --- a/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Jorge's dotfiles - -These dotilfes are how I like to use my machine, which is typically a copy of arch with the budgie desktop enviroment, or Ubuntu Bugdie (: - -The master branch contains my latest setup, if my setup is to drastically change in any way, the current setup will become it's own branch and the new setup will become the master branch - -### Supported Software -| Tool/Program | Associated config file(s) | Config Dependencies | Config Description | -|-------------- |--------------------------------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:-----------------------------------------------------------------------: | -| zsh | .zshrc | antibody, cowsay, fortune-mod, lolcat | Sets prompt, some aliases, sets GOPATH, sets PATH | -| hyper | .hyper.js | [This font](https://github.com/powerline/fonts/blob/master/Meslo%20Dotted/Meslo%20LG%20M%20DZ%20Regular%20for%20Powerline.ttf), and an emoji font (I use ttf-noto-emoji) | Sets font and style | -| VS Code | .config/Code/User/settings.json | Same font dependencies as hyper, Dracula Theme for VS Code (Install in vscode) | Sets font, style,and a couple editor preferences | -### Cherry-Pick Installation -1. Download and install `git` for your system -2. Clone this repo using `git` -```shell -git clone https://github.com/penguingovernor/dotfiles.git -``` -3. Go into the directory using `cd` -```shell -cd dotfiles -``` -4. This repo is meant to emulate your $HOME directory that is, the root of this directory should correspond with $HOME of your machine - 1. Symlink the associated config file to it's place in the filesystem - - Example: - ```shell - # Assuming that you are in the root of this repo - ln -s .zshenv $HOME/.zshenv - ``` - -### Automated Install - All Config Files Copied Over -* Coming Soon - -### Screenshots - -#### Zsh + Hyper -![zsh + hyper](screenshots/zsh_hyper.gif) - -#### VS Code -![vscode](screenshots/vscode.png) - -### Project Roadmap -- [x] ~~My VS Code config~~ -- [ ] My pacman.conf config -- [x] ~~My terminal config~~ -- [ ] Automated Install for debian and arch based systems -- [x] ~~Add screenshots to readme~~ \ No newline at end of file diff --git a/screenshots/vscode.png b/screenshots/vscode.png deleted file mode 100644 index 926dc0c0428d5e17331e3123081c64f16c1664d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125962 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

v>|ihaA=7LuQc>--~) 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 z $HISTFILE +fc -R $HISTFILE +} + + +# +# _ +# _____ __ | |_ _ __ _ +# |_ / '_ \| | | | |/ _` | +# / /| |_) | | |_| | (_| | +# /___| .__/|_|\__,_|\__, | +# |_| |___/ +# + +# Check to see if zplug is installed. +if [[ ! -d $ZPLUG_HOME ]]; then + git clone https://github.com/zplug/zplug $ZPLUG_HOME +fi + +source $ZPLUG_HOME/init.zsh + +# Plugins are listed here. +zplug "mafredri/zsh-async", from:github +zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme +zplug "zsh-users/zsh-completions" +zplug "zsh-users/zsh-autosuggestions" +zplug "zsh-users/zsh-history-substring-search" +zplug "zsh-users/zsh-syntax-highlighting", defer:2 + +# Install plugins if there are plugins that have not been installed. +if ! zplug check --verbose; then + zplug install +fi + +# Load the plugins. +zplug load + +# Fixes WSL compinit system. +function fix_wsl() +{ + local FIX_COMP=$(compaudit) + if [[ $FIX_COMP ]]; then + yes | compaudit | xargs chmod go-w &> /dev/null + fi +} +fix_wsl +unfunction fix_wsl + +# +# __ _ ___ +# / _` |/ _ \ +# | (_| | (_) | +# \__, |\___/ +# |___/ +# + +function get_go() +{ + # Change this link to the appropriate one for your system. + local GO_DOWNLAOD=https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz + # Download go if needed. + if [[ ! -d $GOROOT ]]; then + printf "\033[1;32m%s\033[0m %s\n" "Downloading" "go. . ." + mkdir -p $GOROOT + tar -C $HOME/.local -xzf <(curl -L $GO_DOWNLAOD) + # Create GOPATH if needed. + [ ! -d $GOPATH ] && mkdir -p $GOPATH + fi +} + +# +# _ _ +# | |__ __ _| |_ +# | '_ \ / _` | __| +# | |_) | (_| | |_ +# |_.__/ \__,_|\__| +# + +# Bat is an improved version of cat. +function get_bat() +{ + # Change this link to the appropriate one for your system. + local BAT_DOWNLAOD=https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-gnu.tar.gz + # Download bat if needed. + if [[ ! -d $BATROOT ]]; then + printf "\033[1;32m%s\033[0m %s\n" "Downloading" "bat. . ." + # Make a temp directory, and extract the file there. + rm -rf /tmp/bat + mkdir -p /tmp/bat + tar -C /tmp/bat -xzf <(curl -L $BAT_DOWNLAOD) + # Make the bin folder, cd into it and link the bat binary. + cd /tmp/bat/* + mkdir bin + cd bin + ln -s ../bat + # CD back to the folder that containes the extracted folder + # Move it to the correct location, then remove the tmp folder. + cd /tmp/bat + mv * $BATROOT + rm -rf /tmp/bat + # CD back to home + cd $HOME + fi +} + +# +# ____ _ +# | _ \ __ _ _ __ __| | ___ ___ +# | |_) / _` | '_ \ / _` |/ _ \ / __| +# | __/ (_| | | | | (_| | (_) | (__ +# |_| \__,_|_| |_|\__,_|\___/ \___| +# + +# Pandoc for writing documents. +function get_pandoc() +{ + # Change this link to the appropriate one for your system. + local PANDOC_DOWNLAOD=https://github.com/jgm/pandoc/releases/download/2.7.2/pandoc-2.7.2-linux.tar.gz + # Download bat if needed. + if [[ ! -d $PANDOCROOT ]]; then + printf "\033[1;32m%s\033[0m %s\n" "Downloading" "pandoc. . ." + echo "Note: To export as a pdf you'll need to install latex. . ." + # Make a temp directory, and extract the file there. + rm -rf /tmp/pandoc + mkdir -p /tmp/pandoc + tar -C /tmp/pandoc -xzf <(curl -L $PANDOC_DOWNLAOD) + cd /tmp/pandoc + mv * $PANDOCROOT + rm -rf /tmp/pandoc + # CD back to home + cd $HOME + fi +}