aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/docker.fish
diff options
context:
space:
mode:
Diffstat (limited to 'share/completions/docker.fish')
-rw-r--r--share/completions/docker.fish92
1 files changed, 92 insertions, 0 deletions
diff --git a/share/completions/docker.fish b/share/completions/docker.fish
new file mode 100644
index 00000000..589e79c4
--- /dev/null
+++ b/share/completions/docker.fish
@@ -0,0 +1,92 @@
+#
+# Completions for the docker command
+#
+
+#
+# Functions
+#
+
+function __fish_docker_using_command
+ set cmd (commandline -opc)
+ if [ (count $cmd) -gt 1 ]
+ if [ $argv[1] = $cmd[2] ]
+ return 0
+ end
+ end
+ return 1
+end
+
+function __fish_docker_all_containers --description "Show all containers"
+ command docker ps -q -a
+end
+
+
+function __fish_docker_start_containers --description "Show the running containers"
+ command docker ps -q
+end
+
+function __fish_docker_stop_containers --description "Show the exited containers"
+ command docker ps -a | grep "Exit" | awk '{ print $1 }'
+end
+
+# All docker commands
+complete -c docker -n '__fish_use_subcommand' -xa attach --description "Attach to a running container"
+complete -c docker -n '__fish_use_subcommand' -xa build --description "Build a container from a Dockerfile"
+complete -c docker -n '__fish_use_subcommand' -xa commit --description "Create a new image from a container's changes"
+complete -c docker -n '__fish_use_subcommand' -xa cp --description "Copy files/folders from the containers filesystem to the host path"
+complete -c docker -n '__fish_use_subcommand' -xa diff --description "Inspect changes on a container's filesystem"
+complete -c docker -n '__fish_use_subcommand' -xa events --description "Get real time events from the server"
+complete -c docker -n '__fish_use_subcommand' -xa export --description "Stream the contents of a container as a tar archive"
+complete -c docker -n '__fish_use_subcommand' -xa history --description "Show the history of an image"
+complete -c docker -n '__fish_use_subcommand' -xa images --description "List images"
+complete -c docker -n '__fish_use_subcommand' -xa import --description "Create a new filesystem image from the contents of a tarball"
+complete -c docker -n '__fish_use_subcommand' -xa info --description "Display system-wide information"
+complete -c docker -n '__fish_use_subcommand' -xa insert --description "Insert a file in an image"
+complete -c docker -n '__fish_use_subcommand' -xa inspect --description "Return low-level information on a container"
+complete -c docker -n '__fish_use_subcommand' -xa kill --description "Kill a running container"
+complete -c docker -n '__fish_use_subcommand' -xa load --description "Load an image from a tar archive"
+complete -c docker -n '__fish_use_subcommand' -xa login --description "Register or Login to the docker registry server"
+complete -c docker -n '__fish_use_subcommand' -xa logs --description "Fetch the logs of a container"
+complete -c docker -n '__fish_use_subcommand' -xa port --description "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"
+complete -c docker -n '__fish_use_subcommand' -xa ps --description "List containers"
+complete -c docker -n '__fish_use_subcommand' -xa pull --description "Pull an image or a repository from the docker registry server"
+complete -c docker -n '__fish_use_subcommand' -xa push --description "Push an image or a repository to the docker registry server"
+complete -c docker -n '__fish_use_subcommand' -xa restart --description "Restart a running container"
+complete -c docker -n '__fish_use_subcommand' -xa rm --description "Remove one or more containers"
+complete -c docker -n '__fish_use_subcommand' -xa rmi --description "Remove one or more images"
+complete -c docker -n '__fish_use_subcommand' -xa run --description "Run a command in a new container"
+complete -c docker -n '__fish_use_subcommand' -xa save --description "Save an image to a tar archive"
+complete -c docker -n '__fish_use_subcommand' -xa search --description "Search for an image in the docker index"
+complete -c docker -n '__fish_use_subcommand' -xa start --description "Start a stopped container"
+complete -c docker -n '__fish_use_subcommand' -xa stop --description "Stop a running container"
+complete -c docker -n '__fish_use_subcommand' -xa tag --description "Tag an image into a repository"
+complete -c docker -n '__fish_use_subcommand' -xa top --description "Lookup the running processes of a container"
+complete -c docker -n '__fish_use_subcommand' -xa version --description "Show the docker version information"
+complete -c docker -n '__fish_use_subcommand' -xa wait --description "Block until a container stops, then print its exit code"
+
+#
+# docker ps
+#
+complete -c docker -f -n '__fish_docker_using_command ps' -a '(__fish_docker_all_containers)' --description "Docker container"
+complete -c docker -s a -l all --description "Show all containers. Only running containers are shown by default."
+complete -c docker -s q -l quiet==false --description "Only display numeric IDs"
+complete -c docker -s s -l size=false --description "Display sizes"
+complete -c docker -s n --description "Show n last created containers, include non-running ones. [-1]"
+complete -c docker -l before-id="" --description "Show only container created before Id, include non-running ones."
+complete -c docker -l no-trunc=false --description "Show all containers. Only running containers are shown by default."
+complete -c docker -l since-id="" --description "Show only containers created since Id, include non-running ones."
+
+#
+# docker start
+#
+complete -c docker -f -n '__fish_docker_using_command start' -a '(__fish_docker_stop_containers)' --description "Stopped container"
+
+#
+# docker stop
+#
+complete -c docker -f -n '__fish_docker_using_command stop' -a '(__fish_docker_start_containers)' --description "Container running"
+
+#
+# docker restart
+#
+complete -c docker -f -n '__fish_docker_using_command restart' -a '(__fish_docker_all_containers)' --description "Docker container"