fish-shell/share/completions/docker.fish
2014-04-19 14:50:15 -07:00

93 lines
5.5 KiB
Fish

#
# 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"